[an error occurred while processing this directive]
|
Насчет вижуал линкера сразу скажу - ничего не знаю вообще - ни разу не юзал.
Проверить следующее:
1) чтобы по НУЛЕВОМУ адресу была точка входа с именем _C_INT00 или переход на нее (возможно из таблицы векторов прерываний). Так как процессор после загрузки стартует именно туда, то есть на 0.
2) в SDRAM грузить через HPI ничего обычно не надо. Это сделает инициализационный код RTL по секциям .cinit и .pinit. Соответсвенно убедиться, что в проекте стоит "run-time autoinitialization", а не "load-time".
3) Если все таки необходима загрузка чего-то в SDRAM, то убедиться, что загрузчик (тот кто грузит через HPI) правильно интерпретирует HEX-файл (или как там оно устроено - возможно HEX конвертится в BIN, в общем чтобы "дырки" меж секций учитывались). Тогда пункт 2 отпадает.
4) проверить, что ТОТ КТО ГРУЗИТ через HPI перед этим инициализирует EMIF, дабы вогнать его в SDRAM-режим. Так как в CCS это делает GEL-файл при старте композера.
5) Если все-таки работа ведется по п.2, то посмотреть куда свалились секции .cinit и .pinit (вторая от C++), они должны быть доступны для инициализационного кода CLIB'а.
Ну а карта загрузки должна по идее лежать там где .out и иметь расширение .map :)
Так как линкер визуальный, то ничего более не подскажу, как и на доки не сошлю. Был бы простой линкер - тогда надо бы .cmd в студию (если без DSP/BIOS конечно проект).
Вот пока все мысли.
E-mail: info@telesys.ru