Jump to content

    
__inline__

Allwinner A13 SoC уделал DSP C6745. Смеяться или плакать?

Recommended Posts

On 12/31/2020 at 1:50 AM, mantech said:

Да я так делал, поэтому и написал, что 32к можно без всяких ухищрений грузить, а больше, уже посложнее...

Собрал HelloWorld для V3S, под RT-Thread, об'ем существенно больше 32к, соответственно загрузить не получается. Вероятно  можно отключить неиспользуемые сервисы и драйвера, и получить об'ем < 32к, но смысла нет, конечное приложение будет явно больше. Не подскажете про "ухищрения"?

Share this post


Link to post
Share on other sites
3 minutes ago, nanorobot said:

Не подскажете про "ухищрения"?

Как ни странно, любимый в этой теме "бареметал" весьма удобно грузить с помощью u-boot: прошивку подхватываем с хоста через tftp, затем go. Полная автоматика, достаточно сделать make и передернуть питание.

Share this post


Link to post
Share on other sites
9 hours ago, aaarrr said:

Как ни странно, любимый в этой теме "бареметал" весьма удобно грузить с помощью u-boot:

Не удалось в u-boot запустить ethernet. Всегда сообщение 'no ethernet found'. Зато научился u-boot из spi flash запускать..

Edited by nanorobot

Share this post


Link to post
Share on other sites
8 minutes ago, nanorobot said:

Не удалось в u-boot запустить ethernet. Всегда сообщение 'no ethernet found'. Зато научился u-boot из spi flash запускать..

u-boot свежий? Так и не добавили?

 

Это достаточно легко исправить...

1. В конфиге:

CONFIG_SUN8I_EMAC=y

2. В drivers/net/sun8i_emac.c:

меняем все #if defined(CONFIG_MACH_SUNXI_H3_H5) и #ifdef CONFIG_MACH_SUNXI_H3_H5

на #if defined(CONFIG_MACH_SUNXI_H3_H5) || defined(CONFIG_MACH_SUN8I_V3S)

 

 

Share this post


Link to post
Share on other sites
10 hours ago, aaarrr said:

u-boot свежий? Так и не добавили?

 

Это достаточно легко исправить...

1. В конфиге:

CONFIG_SUN8I_EMAC=y

2. В drivers/net/sun8i_emac.c:

меняем все #if defined(CONFIG_MACH_SUNXI_H3_H5) и #ifdef CONFIG_MACH_SUNXI_H3_H5

на #if defined(CONFIG_MACH_SUNXI_H3_H5) || defined(CONFIG_MACH_SUN8I_V3S)

 

 

uboot свежий, экспериментальный....)))   git clone -b v3s-spi-experimental https://github.com/Lichee-Pi/u-boot.git

спасибо, сейчас попробую

CONFIG_SUN8I_EMAC=y  менять не пришлось, так и было... // было изменено через menuconfig
меняем все #if defined(CONFIG_MACH_SUNXI_H3_H5) и #ifdef CONFIG_MACH_SUNXI_H3_H5     .

 

был единственный #if defined(CONFIG_MACH_SUNXI_H3) - добавлено -|| defined(CONFIG_MACH_SUN8I_V3S) - не помогло

Edited by nanorobot

Share this post


Link to post
Share on other sites

Давно я сюда ничего не писал... :blush: Потерял контроль над старым аккаунтом, поэтому завёл новый.

   

Allwinner V3s не  перестаёт удивлять! :yes:

Были сделаны порты новых игр для него:

 

1) Raptor.

Обсуждение вопросов, связанных с портированием: https://gamedev.ru/flame/forum/?id=261992

Исходный код: https://github.com/nukeykt/raptor/

Видео:

 

 

 

2) Эмулятор громко нашумевшей несуществующей консоли PICO-8.

Обсуждение: https://gamedev.ru/flame/forum/?id=261218

Исходный код: https://github.com/jtothebell/fake-08

Видео:

 

 

 

3) Ну и наконец, результат моего реверса одной игры - Tube.

Обсуждение: https://gamedev.ru/flame/forum/?id=262348&page=8&m=5430353#m119

Исходный код(обновлён): https://github.com/rep-stosw/tube-game-dos

Видео:

 

 

 

:hi:Для TMS320C6745 проделано всё аналогично.

 

 

 

Edited by repstosw

Share this post


Link to post
Share on other sites

Сделана ещё одна приставка на Allwinner V3s - Cobura Mobile.

Обсуждение, схема: https://gamedev.ru/flame/forum/?id=252846&page=6&m=5443647#m82

 

Приставка в действии:

 

 

Используется дисплей от навигационного оборудования автомобиля "Mersedes  B200" - LA058WQ1-SD01 с высокими яркостью, контрастностью и отличными динамическими характеристиками!

С антибликовым покрытием.

 

Лично измеренная динамическая характеристика дисплея:

157472_1631922739_clipboard01.png

 

Презентация дисплея с подробным описанием под видео:

 

 

 

Share this post


Link to post
Share on other sites
1 hour ago, Obam said:

Да уж, экзотика та ещё: 5" 400*240 и при этом 80 т/дюйм (чуть лучше чем у ЭЛТ 25-летней давности)

 

Специально такой искал.  Чтобы был 400x240 и достаточно большой.

Большинство LCD такого размера делают на 800x480.

 

А тут прям, попадание в точку - размер, разрешение, яркость, контрастность, да и ещё динамика отличная (для 60 FPS приемлемая)!:sun_bespectacled:

Да и ещё IPS и с анти-бликовым покрытием! :good3:

 

P.S. На видео иногда видно смазывание, это из-за съёмки камерой на 30 FPS.  В реальности такого нет.

Edited by repstosw

Share this post


Link to post
Share on other sites

Портирован "Цып-очкарик" (игра).

Сама игра (платформенно-независимая): https://rxi.itch.io/99

Исходники движка игры (запускает игру): https://github.com/rxi/juno

Обсуждение вопросов портирования: https://gamedev.ru/flame/forum/?id=263987

Видео.  Вначале с фильтром 2xSaI, начиная с 3:36 - без фильтра в крупных пикселях:

 

 

 

Share this post


Link to post
Share on other sites

Раскурил Display Engine для альфа-блендинга слоёв у V3s.

Здесь у двух плоскостей - альфа на уровне плоскости, у третьей плоскости - альфа на уровне пикселей.

Только так.

 

По вопросам приобретения BareMetal SDK для V3s пишите в личку или на почту repstosw2018 @ gmail . com

Вот что получилось:

 

 

V3s удобен по следующим причинам:

- паяемый корпус

- встроенная память на 64 мегабайта

Плата - Lichee Pi Zero.

 

Quote

Работа ведётся автономно, без всяких ОС и у-бутов.  Стиль написания программ: процедурно-ориентированное программирование на C.

:yes: Что может и что делает SDK? : :sun_bespectacled:

1) Воспроизведение звука с помощью встроенного аудио-кодека

2) Настройка канала ДМА для аудиокодека

3) Настройка прерываний от ДМА для аудиокодека (по окончанию половины буфера и полного буфера)

4) Настройка аудио-параметров кодека

5) Работа с таймером: задержки, считывание значение тика

6) Инициализация видеосистемы: установка логического разрешения, формата пиксела, установка базового адреса видеопамяти. Под LCD 800x480.

7) Подсветка LCD

8) Функция VSync для синхронизации вывода изображения с отрисовкой на LCD.

9) Настройка второго канала ДМА для копирования "память-память". Функция проверки готовности пересылки ДМА.

10) Быстрый MEMCPY с помощью NEON

11) Инициализация UART для обмена данными с ПК (удобно для отладки).

12) Инициализация портов GPIO для периферии.  Светодиоды на PG0,PG1,PG2 + для управления джойстиком (см. следующий пункт).

13) Инициализация джойстика от SEGA MegaDrive.  Доступны  все 12 кнопок: U,D,L,R,START,A,B,C,X,Y,Z,MODE. Возможна одновременность нажатия всех кнопок в любых сочетаниях.

14) Инициализация системы прерываний: GIC, GIC distributor.  Установка любого вектора прерываний. Разрешение-запрет прерываний.

15) Настройка MMU, регионов кеширования. Разрешение кеширования для кода, данных. Включение предсказания ветвлений, NEON, VFP.

16) Инициализация встроенной DDR2 (64 МБ), установка тактовой частоты памяти.

17) Установка частоты ядра процессора. Открытие всех нужных гейтов для тактирования шин, периферии.

18) Рантайм для C/C++ : инициализация BSS секции, копирование LMA => VMA (для переменных  с начальным значением, которые не константы), инициализация конструкторов

классов (до main).

19) Инициализация порта SDIO для подключения карточек SD.  Инициализация и низкоуровневая работа с SD-картой

20) Драйвер файловой системы Petit FS от  Chan. Поддержка FAT 12,16,32.

21) Поддержка Fat FS для внешних приложений.

22) Работа с кешами:  invalidate, flush и другие.

23) Функции для рисования спрайтов. Задний буфер для отрисовки.

24) Скрипты для создания SPL-программы (elf to bin, встраивание хедера для загрузчика, подсчёт контрольной суммы).

25) Загрузчик внешнего приложения в начало DDR2 по адресу 0x40000000 и передача управления загруженному коду

26) ещё чего-нибудь, что забыл написать или сделаю.

27) работа с Display Engine : поддержка до трёх слоёв с полу-прозрачностью (alpha blending)

Реализации SDK :

1) тулчейн GCC (arm-none-eabi-gcc, последняя версия)

2) IAR EWARM v.8.50

 

 

 

Share this post


Link to post
Share on other sites
27 minutes ago, mantech said:

В сторону T113-S3 не смотрели?

 

Только что сегодня обнаружил, что у него есть графический движок :)  G2D.  По описанию выглядит очень приятно :) И корпус чипа паяемый. И память внутри и в 2 раза больше, чем у V3s.

Правда у меня диссонанс по поводу многоядерности: куда девать второе ядро?

Edited by repstosw

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.