-
- Если ИАР версии 4.хх или раньше - читайте про ключ -Q скрипта линкера. Таким же образом в прошивке хранятся начальные значения инициализированых переменных - Сергей Борщ(09.12.2008 01:38)
- О, именно тот ответ и именно от того человека! OFF: Сергей, у вас mail не изменился? Аркадий. - akril(09.12.2008 09:20)
- Смотря с какого времени :) Тот, что под ником в сообщении - работает. Сергей Борщ(86 знак., 09.12.2008 14:40)
- О, именно тот ответ и именно от того человека! OFF: Сергей, у вас mail не изменился? Аркадий. - akril(09.12.2008 09:20)
- А перемещаемый код не хотите использовать? - Хитрый китаец(08.12.2008 20:28, )
- Для функций перезаписи флеша и вспомогательных - нет проблем, но не для основной программы. А ИАР, ИМХО, не дает такой возможности, или я ее не нашел... - akril(08.12.2008 20:38)
- Понимаете какая штука, если вы хотите разместить в ОЗУ весь загрузчик, который смонтирован вместе с основным проектом, то я не вижу пути, как написать его в ассемблере, что не составляет проблемы если он мальнький ну ~1К кода. Если загрузчик большой,( Хитрый китаец(408 знак., 08.12.2008 21:36, )
- Протоколы проекта ИМХО закончатся на заливке новой проги в DataFlash - имеется на борту. На долю загрузчика - стереть старую прогу, вытащить новую из DataFlash и прошить кристалл. Если разместить загрузчик по фиксированным адресам в отдельный сектор в akril(135 знак., 08.12.2008 22:15)
- По поводу первого ответа топика, не могу отыскать ключ -Q линкёра. Очень хочется код вытащить который в ОЗУ будет писаться. JTAG заливаю простенькую прогу и хочу её в 16м виде лицезреть. Где он скрывается? - TanT(09.12.2008 14:11)
- xlink.ENU.pdf, page 43 - akril(10.12.2008 07:57)
- Просто аккуратно работайте с адресами, какие подводные камни? могу посоветовать короткие функции, например, непосредственной записи сегментов во флэш, заливать не по фиксированным адресам, а в стек, выполнили из ОЗУ, возвратили стек и опять работаете из Хитрый китаец(94 знак., 08.12.2008 23:22, )
- Ну именно так и делаем, прекрасно всё работает - Shura(08.12.2008 22:17)
- Какие-то подводные камни в реализации такого загрузчика встречали? Примером не поделитесь? - akril(08.12.2008 23:11)
- Хоть и не Шура, но отвечу, ибо юзаю перепрошивку через RFID. Причем напрямую - без буферизации (msp1121). Подводные камни - вектора прерываний. Ну и целостность заливаемой прошивы, дабы недопустить передачу управления, если что-нить не срослось... Со Гудвин(518 знак., 08.12.2008 23:26)
- Добавлю к вышесказанному имхо: с точки зрения загрузчика сектор векторов не должен отличаться по обработке от остальных, за исключением одной детали - перед стиранием сегмента, сделайте копию стартового вектора, он ведь указывает на загрузчик :), в ОЗУ, Хитрый китаец(149 знак., 08.12.2008 23:37, )
- Дык "дую на холодную воду" на всякий пожарный :) А вдруг так совпадет, что после стирания страницы с векторами, невдалеке случицца ядерный взрыв/афигительный статический разряд/удар молнии? :) Желательно таблицу совсем не трогать. (впрочем может это и Гудвин(149 знак., 08.12.2008 23:44)
- Согласен, не трогать лучше всего:), но нелегко, поэтому лучший выбор - однообразие в зоопарке загрузчиков:) - Хитрый китаец(09.12.2008 00:11, )
- Дык "дую на холодную воду" на всякий пожарный :) А вдруг так совпадет, что после стирания страницы с векторами, невдалеке случицца ядерный взрыв/афигительный статический разряд/удар молнии? :) Желательно таблицу совсем не трогать. (впрочем может это и Гудвин(149 знак., 08.12.2008 23:44)
- Добавлю к вышесказанному имхо: с точки зрения загрузчика сектор векторов не должен отличаться по обработке от остальных, за исключением одной детали - перед стиранием сегмента, сделайте копию стартового вектора, он ведь указывает на загрузчик :), в ОЗУ, Хитрый китаец(149 знак., 08.12.2008 23:37, )
- Хоть и не Шура, но отвечу, ибо юзаю перепрошивку через RFID. Причем напрямую - без буферизации (msp1121). Подводные камни - вектора прерываний. Ну и целостность заливаемой прошивы, дабы недопустить передачу управления, если что-нить не срослось... Со Гудвин(518 знак., 08.12.2008 23:26)
- Какие-то подводные камни в реализации такого загрузчика встречали? Примером не поделитесь? - akril(08.12.2008 23:11)
- По поводу первого ответа топика, не могу отыскать ключ -Q линкёра. Очень хочется код вытащить который в ОЗУ будет писаться. JTAG заливаю простенькую прогу и хочу её в 16м виде лицезреть. Где он скрывается? - TanT(09.12.2008 14:11)
- Протоколы проекта ИМХО закончатся на заливке новой проги в DataFlash - имеется на борту. На долю загрузчика - стереть старую прогу, вытащить новую из DataFlash и прошить кристалл. Если разместить загрузчик по фиксированным адресам в отдельный сектор в akril(135 знак., 08.12.2008 22:15)
- Понимаете какая штука, если вы хотите разместить в ОЗУ весь загрузчик, который смонтирован вместе с основным проектом, то я не вижу пути, как написать его в ассемблере, что не составляет проблемы если он мальнький ну ~1К кода. Если загрузчик большой,( Хитрый китаец(408 знак., 08.12.2008 21:36, )
- Для функций перезаписи флеша и вспомогательных - нет проблем, но не для основной программы. А ИАР, ИМХО, не дает такой возможности, или я ее не нашел... - akril(08.12.2008 20:38)
- А на загрузчик в кристалле места нету? - Shura(08.12.2008 19:43)
- Использовать родной не могу - проект не дает, делать же отдельно - ОЗУ для переменных не хватит. Хотя, что-то в этом есть... - akril(08.12.2008 20:45)
- Не понял, какое ещё ОЗУ для переменных? - Shura(08.12.2008 21:59)
- Так программе-то жить-то с чем-то надо ;-) А за принципиальную идею - спасибо. Буду обсасывать, похоже, реально можно сделать. - akril(08.12.2008 22:18)
- Ну переписывать хоть по одному байту можно, так что большой буфер в ОЗУ не нужен - Shura(08.12.2008 22:22)
- Так программе-то жить-то с чем-то надо ;-) А за принципиальную идею - спасибо. Буду обсасывать, похоже, реально можно сделать. - akril(08.12.2008 22:18)
- Не понял, какое ещё ОЗУ для переменных? - Shura(08.12.2008 21:59)
- Использовать родной не могу - проект не дает, делать же отдельно - ОЗУ для переменных не хватит. Хотя, что-то в этом есть... - akril(08.12.2008 20:45)
- Если ИАР версии 4.хх или раньше - читайте про ключ -Q скрипта линкера. Таким же образом в прошивке хранятся начальные значения инициализированых переменных - Сергей Борщ(09.12.2008 01:38)