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

OMAPL138. Загрузка DSP из Linux.

Добрый день. Столкнулся со следующей проблемой: не могу загрузить из linux программу для DSP. Программа вроде как успешно грузится через jtag и работает на ядре DSP. Когда гружу из linux, то получаю сообщение «Failed to process resources». RootFS — из arago-tiny-image-omapl138-lcdk.tar.xz с необходимыми модулями. Строка загрузки:

setenv nfsopts 'nolock,v3,tcp,rsize=4096,wsize=4096'

setenv netargs 'setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=192.168.1.101 rproc_mem=16M@0xC3000000'

setenv netbootcmd 'nand read ${loadaddr} 0x100000 0x400000; run netargs; bootz ${loadaddr}'

setenv bootcmd 'run netbootcmd'

Кто скажет куда копать?

root@omapl138-lcdk:~# mount -t debugfs none /debug

root@omapl138-lcdk:~# modprobe remoteproc

root@omapl138-lcdk:~# modprobe da8xx_remoteproc da8xx_fw_name=dsp_test.out

davinci-rproc 11800000.dsp: assigned reserved memory node dsp-memory@c3000000

remoteproc remoteproc0: dsp is available

root@omapl138-lcdk:~# remoteproc remoteproc0: powering up dsp

remoteproc remoteproc0: Booting fw image dsp_test.out, size 4376876

remoteproc remoteproc0: erroneous trace resource entry

remoteproc remoteproc0: Failed to process resources: -22

 

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


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

Я конечно не программист, а схемотехник, но скажу, что 90% всех проблем с ОМАПом в нашей фирме было из за косяков в линуксовом device-tree. Чаще всего что-то с адресацией не то.

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


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

Quote

remoteproc remoteproc0: erroneous trace resource entry

remoteproc remoteproc0: Failed to process resources: -22

Судя по этим строкам копать нужно в сторону resouce table

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


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

8 hours ago, Emprog said:

Судя по этим строкам копать нужно в сторону resouce table

Это понятно. Просто не ясно куда в этой ситуации копать.

в конфиге есть строка

/* Enable Memory Translation module that operates on the BIOS Resource Table */
var Resource = xdc.useModule('ti.ipc.remoteproc.Resource');
Resource.loadSegment = "DDR"

При попытке добавить в код программы 

extern UInt32 xdc_runtime_SysMin_Module_State_0_outbuf__A;
#include <ti/ipc/remoteproc/rsc_table_omapl138.h>

ругается что ti_ipc_remoteproc_ResourceTable уже был раньше определен.

Командник линкера берется из сборки постобработки конфига. Что ему не так?

 

 

 

 

 

app.cfg

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

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


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

Заработало. Забыл добавить config.bld линкеру чтою память начиналась с 0xC3100000. Теперь хоть грузится.

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


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

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

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

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

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

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

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

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

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

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