Цитата(doom13 @ May 31 2014, 15:37)

Вообще программатор заливает не bin, а out-файл. Bin
Это я знаю. Я формирую именно бинарик. И потом, когда мой OTP скачивает загрузчик 2го уровня, в котором уже FlashAPI, то в нем то я из ОЗУ и собираюсь писать прошивку (также я записывал OTP, потому что через CCS не получалось), согласно тому как устроен бинарик так и пишу, там же указывается и адрес и размер и сами данные. Но почему то оно так не работает с CCS`а. Хотя по идее должно.
Когда я проверял тот же файл слинкованный под старт с флэша - оно работало. Перелинковывал под OTP отказывалось грузиться, и конечно же бут-пины я выставля в соответствии с Flash/OTP.
Цитата(doom13 @ May 31 2014, 15:37)

Вы формируете на основе out при помощи hex2000.
Ага, так и есть.
Цитата(doom13 @ May 31 2014, 15:37)

Стоило бы рассказать весь реализованный алгоритм старта процессора и загрузки новой прошивки.
Да все стандартно, линкуются секции
codestart .initboot .text cinit, .pinit ... итд.
юзается библиотека rts2800_ml.lib которая предоставляет точку входа _c_int00 и она уже вызывает main()
Классика.
Цитата(doom13 @ May 31 2014, 15:37)

Пока могу предположить, что Ваш загрузчик неправильно передаёт управление основной программе (Вы говорите, что bin при помощи FlashAPI пишется правильно, всё ложится по нужным адресам).
Щас вопрос не про загрузку. Там я уже разобрался давно. Тут вопрос про то если этот код загружен уже в ОЗУ и из него произвидится запись в флеш, тоесть мне прилетает стрим и я его должен записать, потом перегрузиться и должно работать с новой прошивкой.
Цитата(doom13 @ May 31 2014, 15:37)

Какой режим загрузки выбран пинами процессора? Вы должны были выбрать Boot To OTP, чтобы сначала стартовал OTP загрузчик, потом передавал управление основной программе.
на данном этапе, в вопросе это по идее и не важно, исходим из того что программа уже в работе...
Цитата(doom13 @ May 31 2014, 15:37)

Проблема может быть тут. Если вы заливаете прошивку из CCS, то даже если у Вас выбран неправильный режим загрузки при включении питания, CCS начнёт выполнение программы с нужного адреса.
да, я это знаю.
Кстати я нашел еще другой странный баг. Если в CCS5 зашивать собранный OTP код, он зашивается, но не грузится, а если через такую программу как у меня уже написано(тоесть через FlashAPI принятые байты бинарика сразу записывать то тем адресам что сообщает бинарик) то все записываемое потом работает и нормально бутится с OTP, то настолько странно что у меня мозги вывернулись а попытке понять причину. По идее с CCS нужно нажать F11 и записать без всяких проблем.
Но у меня нет столько чипов для экспериментов, да и времени тоже.
Сегодня кстати вообще пояаился фиерический глюк, при компиляции FlashAPI начал писвть что он не совместим с моим процом, хотя в настройказ проекта установлен правильно, пробовал вчерашний и ранее, новый глюк...