реклама на сайте
подробности

 
 
> TMS320F28335 - формирование .bin файла для записи из внутри, Нужно записать прошивку не через CCS, а через FlashAPI
PrSt
сообщение May 30 2014, 22:32
Сообщение #1


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Есть уже мной написанный загрузчик через CAN(пропустим особенности, они не нежны). Он получает прошивку, которую помещает в ОЗУ. От туда её нужно записать в DSP Flash чтоб потом нормально с неё загружаться.
То есть, мне нужно записать прошивку, не через CCS, а через внтруннюю FlashAPI, своей программой.У меня TMS320F28335 - как устроено формирование .bin файла я разобрался,
но не могу понять как сделать формирование этой прошивки в .bin для записи из ОЗУ внутри.
Когда я получаю прошивку через CAN и записываю +передергиваю питание... она не стартует, а если ту же прошивку записать через CCS, то все работает. кстати если сразу после прошивки начать дебажить, то она работает. Также я проверил содержимое флэша, по тем адресам, что в бинарике, они так же там же находятся в флеше после записи, то есть полностью правильно записываются.
Такая же задача, но с записью в OTP секцию - работает, а вот с записью в флэш - не получается..., возможно что то с линкер файлом.
Помогите плиз разобраться с проблемой, а то уже мозги выкручиваются...


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение May 31 2014, 09:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(PrSt @ May 31 2014, 05:42) *

Вообще программатор заливает не bin, а out-файл. Bin Вы формируете на основе out при помощи hex2000. Стоило бы рассказать весь реализованный алгоритм старта процессора и загрузки новой прошивки. Пока могу предположить, что Ваш загрузчик неправильно передаёт управление основной программе (Вы говорите, что bin при помощи FlashAPI пишется правильно, всё ложится по нужным адресам).
Какой режим загрузки выбран пинами процессора? Вы должны были выбрать Boot To OTP, чтобы сначала стартовал OTP загрузчик, потом передавал управление основной программе. Проблема может быть тут. Если вы заливаете прошивку из CCS, то даже если у Вас выбран неправильный режим загрузки при включении питания, CCS начнёт выполнение программы с нужного адреса.
Go to the top of the page
 
+Quote Post
PrSt
сообщение May 31 2014, 13:40
Сообщение #3


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Цитата(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 начал писвть что он не совместим с моим процом, хотя в настройказ проекта установлен правильно, пробовал вчерашний и ранее, новый глюк...


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- PrSt   TMS320F28335 - формирование .bin файла для записи из внутри   May 30 2014, 22:32
- - Turnaev Sergey   +1 к Boot Mode Select.   May 31 2014, 09:45
- - doom13   Ответте, пожалуйста на следующие вопросы: 1. Какой...   May 31 2014, 15:24
|- - PrSt   Цитата( @ May 31 2014, 21:34) Ответте, по...   May 31 2014, 19:59
|- - doom13   Цитата(PrSt @ Jun 1 2014, 03:09) И так, ...   Jun 1 2014, 07:46
|- - PrSt   Цитата(doom13 @ Jun 1 2014, 13:56) И так,...   Jun 1 2014, 11:57
|- - doom13   Цитата(PrSt @ Jun 1 2014, 19:07) Все так,...   Jun 1 2014, 12:41
||- - PrSt   Цитата(doom13 @ Jun 1 2014, 18:51) Ну это...   Jun 4 2014, 12:11
||- - doom13   Цитата(PrSt @ Jun 4 2014, 19:21) Я попыта...   Jun 4 2014, 14:28
|||- - PrSt   Цитата(doom13 @ Jun 4 2014, 21:38) Не сов...   Jun 7 2014, 09:08
|||- - doom13   Цитата(PrSt @ Jun 7 2014, 16:18) У меня 2...   Jun 7 2014, 14:44
|||- - Vladm   Цитата(PrSt @ Jun 7 2014, 17:18) Если чес...   Jun 8 2014, 15:54
|||- - PrSt   Цитата(Vladm @ Jun 8 2014, 22:04) Так. Да...   Jun 14 2014, 04:25
|||- - doom13   Цитата(PrSt @ Jun 14 2014, 07:25) Только ...   Jun 16 2014, 10:07
|||- - PrSt   Цитата(doom13 @ Jun 16 2014, 12:07) Что-т...   Jun 17 2014, 11:55
||- - Vladm   Цитата(PrSt @ Jun 4 2014, 20:21) А пробле...   Jun 4 2014, 14:29
||- - Turnaev Sergey   Цитата(PrSt @ Jun 4 2014, 20:21) CCS3 не ...   Jun 4 2014, 16:06
||- - Vladm   Цитата(Turnaev Sergey @ Jun 5 2014, 00:16...   Jun 5 2014, 00:22
|- - Vladm   Цитата(PrSt @ Jun 1 2014, 20:07) о, вот к...   Jun 4 2014, 02:41
- - 1108   Цитата(PrSt @ May 31 2014, 06:42) Есть уж...   Jun 3 2014, 05:13
|- - doom13   Цитата(1108 @ Jun 3 2014, 12:23) Делал св...   Jun 3 2014, 05:37
|- - 1108   Цитата(doom13 @ Jun 3 2014, 13:47) Ваш ва...   Jun 4 2014, 07:06
- - IDL   Здравствуйте, уважаемые специалисты. У меня сходна...   Jan 21 2016, 13:41
- - doom13   Тут было начало разговора, можете глянуть, возможн...   Jan 21 2016, 14:17
|- - IDL   Цитата(doom13 @ Jan 21 2016, 17:17) Тут б...   Jan 21 2016, 16:16
- - doom13   Не совсем понятно, что Вы хотите сделать. Этим пер...   Jan 21 2016, 19:53
|- - IDL   Цитата(doom13 @ Jan 21 2016, 22:53) Не со...   Jan 21 2016, 20:33
- - doom13   В той теме, если не ошибаюсь, этот процесс расписа...   Jan 21 2016, 20:57
- - IDL   Скорее всего у меня не получалось, потому что cmd ...   Jan 22 2016, 06:07
- - IDL   Еще раз всем привет. С прыжками и выполнением прог...   Jan 22 2016, 11:29
- - doom13   У нас использовался ACII-HEX формат, загрузчик сам...   Jan 22 2016, 11:52
|- - IDL   Цитата(doom13 @ Jan 22 2016, 14:52) У нас...   Jan 22 2016, 11:55
- - IDL   doom13, а не подскажете про формат ASCII-HEX? CCS ...   Jan 22 2016, 13:16
- - doom13   Правила преобразования смотрите в Assembly Languag...   Jan 22 2016, 13:58
- - IDL   Разобрался, большое спасибо.   Jan 25 2016, 08:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 03:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016