GenaSPB 11 20 января Опубликовано 20 января · Жалоба Вы не к тому jtag подключились. Кортексовский включать не надо, он после ресет работает и так Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 5 20 января Опубликовано 20 января (изменено) · Жалоба 7 minutes ago, GenaSPB said: Вы не к тому jtag подключились. Кортексовский включать не надо, он после ресет работает и так Да к тому вроде бы PE4-PE7 Mode 6. Про кортексовский не понял, он способен помешать? Кортексовский у меня на PE8-PE11, там тоже моде 6 нужен, а по сбросу моде 0x0F... Изменено 20 января пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 января Опубликовано 20 января · Жалоба Вы к hifi4 подключились Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 5 20 января Опубликовано 20 января · Жалоба Just now, GenaSPB said: Вы к hifi4 подключились Ээээ... Я к этому и стремился ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 января Опубликовано 20 января (изменено) · Жалоба А... понятно. Для просттты над ddr издеваетес лучше чем над встроенной. Изменено 20 января пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 5 20 января Опубликовано 20 января · Жалоба Just now, GenaSPB said: А... понятно. С кортексовским проблем не было изначально. Или я Вас не понял? Может этот проект через кортексовский JTAG заливать требуется ..? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 20 января Опубликовано 20 января · Жалоба 17 минут назад, nanorobot сказал: Попытка залить .elf приводит к ошибке ERROR: XTENSA Unsupported exception architecture configured А вы что заливаете? Я имел ввиду бинарник уже откомпилированный, в эльфе наверно еще и отладочная инфа какая-то есть, поэтому он к экстензе и вяжется. Там разве нет режима просто залить простой бинарник? Хотя нафига это в принципе, так-то... Толку от залития бинарника будет 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 января Опубликовано 20 января · Жалоба Я проглядел что вы начали с hifi4 возиться. От того про jtag заговорил Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 20 января Опубликовано 20 января · Жалоба 2 минуты назад, nanorobot сказал: Или я Вас не понял? Может этот проект через кортексовский JTAG заливать требуется ..? Ну по-другому-то и не зальете, другое дело я не понял, после заливки что будете дальше делать, его ж все-равно надо инициализировать и запускать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 января Опубликовано 20 января (изменено) · Жалоба Jtag должен позволять писать в регистры.... записать стартовый адрес и снять ядро с ресета Тут должна быть картинка про троллейбус из хлеба Изменено 20 января пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 5 20 января Опубликовано 20 января (изменено) · Жалоба 26 minutes ago, mantech said: А вы что заливаете? Я имел ввиду бинарник уже откомпилированный, в эльфе наверно еще и отладочная инфа какая-то есть, поэтому он к экстензе и вяжется. Там разве нет режима просто залить простой бинарник? Хотя нафига это в принципе, так-то... Толку от залития бинарника будет 0. На мой взгляд, возможно ошибочный, отладочная информация нужна отладчику как таковому, а заливается по факту чисто исполняемый код . Вот сейчас огребу, вероятно ... Собственно в формат elf не вникал никогда, принимал как данность. Да и действительно, в залитии чисто бинарника смысла немного, интересно пошагать посмотреть что и как ... Опять же такое соображение - какой смысл в отладочном интерфейсе, если через него нельзя в отладку, то бишь elf? PS а все равно gdb то нет в составе xtensa-hifi4-elf- У меня в отладочной конфигурации так и оставлся указан gdb от gcc-arm . Изменено 20 января пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 21 января Опубликовано 21 января (изменено) · Жалоба On 1/20/2024 at 7:22 PM, nanorobot said: объяснить, как максимально просто запустить на выполнение? это настолько расплывчатый вопрос.. я сделал два варианта у себя а) слепил майнстримный u-boot из разных патчей из рассылки разработчиков для t113 и подправил для него алвинеровский загрузчик https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP/tree/master/host/uboot-driver/dsp Quote # fatload mmc 0 0x41000000 dsp.elf; bootr 0x41000000 0 0 он уже есть в аллвинеровском убуте в тине динукс, но я им не пользуюсь поэтому не уверен что напрямую сможет загрузить freertos, возможно его слегка надо подправить б) дописал заготовку драйвера для загрузки из linux https://github.com/smaeul/linux/blob/d1/feat/dsp/drivers/remoteproc/sun8i_dsp_rproc.c до 3 варианта - дописать awboot руки не дошли потому что вариант б) покрывает все сценарии и не зависит от загрузчика Quote После сборки прошить как обычно, чтобы загрузить и запустить прошивку на DSP ядре надо выполнить в терминале чтобы указать имя файла прошивки и запуск # echo -n dsp.elf > /sys/class/remoteproc/remoteproc0/firmware # echo start > /sys/class/remoteproc/remoteproc0/state [ 57.029445] remoteproc remoteproc0: powering up 1700000.dsp [ 57.058207] remoteproc remoteproc0: Booting fw image dsp.elf, size 97808 [ 57.065235] remoteproc remoteproc0: remote processor 1700000.dsp is now up DSP uart DSP uart - это пишет DSP при запуске, он использует для вывода своих сообщений тот же uart что и linux. Выключить DSP # echo stop > /sys/class/remoteproc/remoteproc0/state sun8i_dsp_rproc.c Изменено 21 января пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 21 января Опубликовано 21 января (изменено) · Жалоба 5 часов назад, sasamy сказал: поэтому не уверен что напрямую сможет загрузить freertos, возможно его слегка надо подправить А вообще вы на этой сборке фриртоса что-нить путевое делали, кроме тех примеров, что там были, чтоб понять надежность работы всего этого хозяйства? Так чтобы прерывания, какая либо периферия, обмен с кортексами... Изменено 21 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 21 января Опубликовано 21 января · Жалоба On 1/21/2024 at 7:48 PM, mantech said: Так чтобы прерывания, какая либо периферия, обмен с кортексами. только примеры gpio с прерываниями и msgbox в обе стороны с прерываниями, вся периферия прекрасно работает в Linux, сложно придумать что-то нужное для DSP Quote Пример freertos для DSP управляет двумя GPIO #define GPIO_IN GPIO_PIN(PORTD, 12) #define GPIO_OUT GPIO_PIN(PORTD, 13) вход (PORTD 12) при замыкании на землю генерирует прерывание и отправляет сообщение ядру ARM 0x12345678 через 3 канал msgbox, у ядра ARM срабатывает прерывние и обработчик выводит в лог ядра [ 1467.235446] test-msgbox 3003000.mailbox: isr ch 3 recv 0x12345678 Выход (PORTD 13) выдаёт меандр с периодом 2 сек, периодом можно упралять из консоли, например # echo "100" > /dev/test_msgbox DSP set delay 100 устанавливает половину периода 100 милисекунд (по умолчнию 1000 милисекунд 1000 + 1000 = 2000 мсек -> 2 сек) gpio как-то неспешно там работают - меандр без задержек максимум 2 МГц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 21 января Опубликовано 21 января (изменено) · Жалоба 48 минут назад, sasamy сказал: gpio как-то неспешно там работают - меандр без задержек максимум 2 МГц Это при включенном кэше и 600МГц клоке и ГПИО на самом фаст уровне? Да, действительно не быстро... Хотя, это ж РТОС, может перекл. контекста вносит свое... Изменено 21 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться