aod 0 19 сентября, 2011 Опубликовано 19 сентября, 2011 · Жалоба Всем добрый день. Работаю с С6722, CCS4.2, SAU-510 IsoPlus, и столкнулся с проблемой: проект не шьется в ROM. До этого, поскольку только начинаю работать с DSP, использовал cmd-файл из sprc203 (patch.cmd), в котором все секции зашивались в RAM, но мой проект разрастается и для отладки мне уже не хватает только RAM, решил секции .text, .cinit, .pinit зашивать в ROM. Причем при сборе проекта он компонуется нормально, никаких варнингов и ошибок по этому поводу, а при попытке прошить выдает ошибку Failed to load program on target invalid endianness Мой cmd:patch.txt шапка отчета map-файла:mapfile.txt Ну и вырезка из Mamory Map на проц из которых видно, что проект должен влезать, за области не выхожу с запасом, стэк сделал заранее большим(на всякий случай) =) Буду очень признателен за помощь, скорее косяк в моих руках, но найти его не могу=) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aod 0 19 сентября, 2011 Опубликовано 19 сентября, 2011 (изменено) · Жалоба Пробую опять прошиваться только в RAM, однако при прошивке появляется вместо init_00 и main'a- "symbol is not available",а в консоли сообщениеЖ Trouble Setting Breakpoint with the Action "Finish Auto Run" at 0x1000ea60: Error 0x00000008/-2042 Error during: Break Point, Cannot set/verify breakpoint at 0x1000EA60 или: Trouble Setting Breakpoint with the Action "Terminate Program Execution" at 0x10010720: Error 0x0000000A/-2130 Error during: Memory, Break Point, Cannot access memory address at 0x10010724 Возникает вопрос, не мог ли я каким либо образом залочить проц?) Заранее спасибо =) и еще, возможно что я потер область ROM_boot... а я пытаюсь типа загрузиться hardware способом, который начинается с нулевого адреса. Возможно что я его потер своим кодом?) если да, то как это можно решить?) Изменено 19 сентября, 2011 пользователем aod Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TSS 0 19 сентября, 2011 Опубликовано 19 сентября, 2011 · Жалоба Проблема в том, что эта самая ROM память не предназначена для прямого использования вами. Она уже занята: http://www.ti.com/lit/an/sprs277c/sprs277c.pdf (стр.4) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aod 0 19 сентября, 2011 Опубликовано 19 сентября, 2011 · Жалоба Да, спасибо, это я уже понял, моя вина =) Есть ли способы восстановление прошивки? bootutils или что-то подобное? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aod 0 19 сентября, 2011 Опубликовано 19 сентября, 2011 · Жалоба Да, спасибо, это я уже понял, моя вина =) Есть ли способы восстановление прошивки? bootutils или что-то подобное? или у меня не должно быть доступа к этой области ром? Хотя в map-файле прописывается, что туда залилось .text Доступ к этим областям я получить не мог...значит скорее всего залочил? придется смириться с утратой... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 19 сентября, 2011 Опубликовано 19 сентября, 2011 (изменено) · Жалоба Судя по всему Вы затёрли часть бутлоадера. В даташите же ясно говорится, что бутлоадер занимает: 0x00000000 – 0x0001FFFF On-Chip Bootloader, т.е. - можно использовать от 0x00020000 и далее (если Вам не нужно то что там лежит). а Вы пишете от 0000F200h. А вообще - интересно каким образом JTAG шьёт во флеш? Я не очень представляю как этот процесс происходит здесь на OMAP-ах от TI, но на ARM от LPC JTAG напрямую не умеет ничего шить во флеш, для этого он грузит в ОЗУ программу, которая через API процессора (IAP) шьёт флеш из ОЗУ. Если здесь подобным образом, то возможно можно взять флеш от живого проца и прошить его в Ваш. Лишь бы JTAG мог стартовать с таким попорченным bootloader-oм. Например так: Считайте область 0x00000000 – 0x0001FFFF с живого проца в bin-файл, сконвертите его в массив unsigned char, создайте любой проект с пустой main() в ОЗУ, создайте там сегмент с тем массивом образа 0x00000000 – 0x0001FFFF, слинкуйте его на 0x00000000 – 0x0001FFFF и запустите проект. Либо может проще - в CCS через меню файл\data\load и потом файл\data\save. Изменено 19 сентября, 2011 пользователем jcxz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aod 0 20 сентября, 2011 Опубликовано 20 сентября, 2011 · Жалоба Спасибо Вам за совет =) К сожалению не смогу проверить работает ли он, пока второй проц не напаяют на плату. Тогда возникает еще вопрос, а у C6722 вообще есть Code Security Module? или что-то подобное, т.к. в мануале о нем ничего не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться