Перейти к содержанию
    

Вы не к тому jtag подключились. Кортексовский включать не надо, он после ресет работает и так

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, GenaSPB said:

Вы не к тому jtag подключились. Кортексовский включать не надо, он после ресет работает и так

Да к тому вроде бы PE4-PE7  Mode 6.  Про кортексовский не понял, он способен помешать? Кортексовский у меня на PE8-PE11, там тоже моде 6 нужен, а по сбросу моде 0x0F...

Изменено пользователем nanorobot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А... понятно. Для просттты над ddr издеваетес лучше чем над встроенной. 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, GenaSPB said:

А... понятно.

С кортексовским проблем не было изначально.  Или я  Вас не понял? Может этот  проект через кортексовский JTAG заливать требуется ..?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, nanorobot сказал:

Попытка залить .elf приводит к ошибке ERROR: XTENSA Unsupported exception architecture configured

А вы что заливаете? Я имел ввиду бинарник уже откомпилированный, в эльфе наверно еще и отладочная инфа какая-то есть, поэтому он к экстензе и вяжется. Там разве нет режима просто залить простой бинарник? Хотя нафига это в принципе, так-то... Толку от залития бинарника будет 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я проглядел что вы начали с hifi4 возиться. От того про jtag заговорил 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, nanorobot сказал:

Или я  Вас не понял? Может этот  проект через кортексовский JTAG заливать требуется ..?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Jtag должен позволять писать в регистры.... записать стартовый адрес и снять ядро с ресета

 

Тут должна быть картинка про троллейбус из хлеба 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, mantech said:

А вы что заливаете? Я имел ввиду бинарник уже откомпилированный, в эльфе наверно еще и отладочная инфа какая-то есть, поэтому он к экстензе и вяжется. Там разве нет режима просто залить простой бинарник? Хотя нафига это в принципе, так-то... Толку от залития бинарника будет 0.

На мой взгляд, возможно ошибочный, отладочная информация нужна отладчику как таковому, а заливается по факту чисто исполняемый код .  Вот сейчас огребу, вероятно ... Собственно в формат elf не вникал никогда, принимал как данность. Да и действительно, в залитии  чисто бинарника смысла немного, интересно пошагать посмотреть что и как ...

Опять же такое соображение -  какой смысл в отладочном интерфейсе, если через него нельзя в отладку, то бишь elf?

PS а все равно  gdb то нет в составе xtensa-hifi4-elf-  У меня в отладочной конфигурации так и оставлся указан gdb от  gcc-arm .

Изменено пользователем nanorobot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, sasamy сказал:

поэтому не уверен что напрямую сможет загрузить freertos, возможно его слегка надо подправить

А вообще вы на этой сборке фриртоса что-нить путевое делали, кроме тех примеров, что там были, чтоб понять надежность работы всего этого хозяйства? Так чтобы прерывания, какая либо периферия, обмен с кортексами...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 МГц

 

t133_freq.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, sasamy сказал:

gpio как-то неспешно там работают - меандр без задержек максимум 2 МГц

Это при включенном кэше и 600МГц клоке и ГПИО на самом фаст уровне? Да, действительно не быстро...

Хотя, это ж РТОС, может перекл. контекста вносит свое...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...