Jump to content
    

Новый зверёк на столе.

Представлен платой Radaxa Cubie A7Z

Кто знает последовательность инициализации Cortex-A55, чтобы он в aarch64 режиме начал реагировать на прерываниая? Ексепшины по защитам и прочему идут.

Решения от Cortex-A53 не помогают.

В aarch32 всё получается (ещё есть нерешённые проблемы с GIC-600, но это в процессе).

 

 

IMG_20260213_153657_461.jpg

На данный момент работают:

Uart, i2c/twi, gpio, usb device. Ну и разумеется mmu - это совпадает с cortex-а53.

Инициаоищация ddr пока из SysterKit - в виде объектника.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

3 часа назад, GenaSPB сказал:

Новый зверёк на столе.

Какая прелесть данного чипа в бареметале? ИМХО чисто линуховый чип для тяжелых задач с видео или нейросетями, да и 8 ядер в БМ жуткий оверхед...

Share this post


Link to post
Share on other sites

Все варианты видеовыходов. Необрезанный g2d. 8 не считая нулевого ендпоинта в обе стороны на usb.

11 minutes ago, mantech said:

чисто линуховый чип

После t507 выражение про чисто линух - не могу согласиться.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

1 hour ago, mantech said:

чисто линуховый чип

После t507 выражение про чисто линух - не могу согласиться. То же самое писали про t113.

Да, spi в a733 тоже работает.

Ну наверное, когда запихивают восмерых, то шину как-то обеспечивают? Ну и не обязательно всех нагружать.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

Так, прерывания пошли. Почему-то как FIQ. Разбираюсь.

Share this post


Link to post
Share on other sites

Настройки GIC group 0 / group 1 - оно влияет... на тек момент aarch64 работает, aarch32 перестало принимать перрывания

Share this post


Link to post
Share on other sites

12 часов назад, GenaSPB сказал:

После t507 выражение про чисто линух - не могу согласиться. То же самое писали про t113.

Про 113й я точно такого не писал)) Да, 4 ядра еще как-то могу представить задачу под бареметал, но 8 это вот даже не знаю, разве, что каждую функцию покрупнее садить на свое ядро))) КМК тут больше подходит переключатель контекста.

Share this post


Link to post
Share on other sites

8 hours ago, mantech said:

тут больше подходит переключатель контекста.

Несомненно да. Кстати, нормальные планировщики умеют и между ядрами перекидывать потоки (как позволено). Т.е. чкм болтше ядер - тем быстрее. На данный момент smp только rt-thread умеет. Но это своеготрола linux, толтко конфигурируеся при компиляции.

Зы. Прерывания победил. Spi рааотает. Осталось smp - многопроцесслрность. Остальные блоки с t507/t113  просто переезжают.

Чую, переключатель контекста скоро сделаю и начну своё лепить.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

10 hours ago, mantech said:

Про 113й я точно такого не писал))

Не вы... других писателей хватает.

Share this post


Link to post
Share on other sites

С программированием gic600 на 90% разобрплся... есть стоанности но сейчас не мешают.

Сделал переключатель контекста и запуск новых потоков. Работает и под 32 и под 64 бита. Осталось планировщик и таймеры с семафорами... да, сразу по всем ядрам можно.
Только как их на 733 запускать...

Share this post


Link to post
Share on other sites

10 часов назад, GenaSPB сказал:

Сделал переключатель контекста и запуск новых потоков.

Собственный или в виде фриртоса какого-нить?

10 часов назад, GenaSPB сказал:

Только как их на 733 запускать...

А в чем собственно проблема, если переключатель работает?

Share this post


Link to post
Share on other sites

35 minutes ago, mantech said:

А в чем собственно проблема, если переключатель работает?

Переключатель контекста это в общем всё что для порта требуется... нафига rtos-ы , которые не умеют в многопроцессорность?
Проблема в том, что я не нашел пока как запустить остальные ядра на 733-м. На десятке других процессоров информация нашлась за это время - и работает.
 

Пока скачал встроенное пзу процессора - посмотреть куда после ресета ненулевые ядра скачут.
Кто с IDA дружит?
 

a733_NS_BROM.hex a733_FIXS_BROM.hex

Share this post


Link to post
Share on other sites

16 минут назад, GenaSPB сказал:

Пока скачал встроенное пзу процессора - посмотреть куда после ресета ненулевые ядра скачут.

Разве бутром активирует дополнительные ядра, кроме нулевого? Ему это зачем?))

Share this post


Link to post
Share on other sites

25 minutes ago, mantech said:

дополнительные ядра, кроме нулевого?

В наборе регистров периферии A733 есть биты, снимающие reset с указанных ядер. во всех (почти) процессора. После этого (стартанув с нуля) процессор берет из известного места адрес и туда переходит.
Для T113 это документировано в user manual. Для многих других подсмотрел исходники линукса. У ST STM32MP1 другое - второе ядро запускается и висит на ожидании event - после чего так же читает память (NVRAM!) и скачет...

зы: У Allwinner A733 указаные биты стоят в состоянии "все ядра запущены". Надо попробовать отладчиком приконнектиться, посмотреть чего ждет.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

... но все ядра кроме нулевого стоят в  powered off

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.

×
×
  • Create New...