Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Само-пере-программировнаие контроллера
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
argentum
Друзья, скажите пожалуйста, а может ли LPC2478, взвзять и перепрограммироваться по зову программы?
Насколько я понимаю, должно быть примерно следующее.
1. Системный сброс.
2. Bootloader копирует программу из SRAM (туда нужная прошивка попала заранее, например через USB) в область память программ
3. После чего контроллер фунционирует уже с новой прошивкой.

И тут появляются вопросы.
1. Может ли конроллре сам себя сбросить? Watchdog, кажется отпадает - после него Bootloader не запускается, насколько я понял...
2. Где ж эта память программ находится, куда надо прошивку прошивать. (Честное слово читал datasheet - но этого не понял...)

Жду советов очень biggrin.gif
Troll
Совет номер один - поиск по сайту. Эту тему уже исходили вдоль и поперек.
Посмотрите тему: "прыгнуть на другой адрес в ROM". Очень подробно разобрали загрузчик.

Цитата(argentum @ Jul 13 2009, 12:46) *
И тут появляются вопросы.
1. Может ли конроллре сам себя сбросить? Watchdog, кажется отпадает - после него Bootloader не запускается, насколько я понял...
2. Где ж эта память программ находится, куда надо прошивку прошивать. (Честное слово читал datasheet - но этого не понял...)

-1. может. Есть регистр сброса. Не знаю как он называется у конкретно Вашего проца (регистры относящиеся к контроллеру сброса). В него пишется нужное значение и все довольны.
-2. Память программ, она же flash у АРМов начинается с адреса 0х100000. Туда и надо зашить загрузчик. Исполняемую программу можно записывать на флэш или постоянно подгружать в ОЗУ это уже зависит от Вашей задачи и конкретной реализации.
defunct
Цитата(Troll @ Jul 13 2009, 10:02) *
-2. Память программ, она же flash у АРМов начинается с адреса 0х100000. Туда и надо зашить загрузчик.

Ой! А как же те у которых нет флеш памяти вообще? smile.gif
В частности у LPC флеш располагается по адресу 0.
argentum
Э-э-э... простите новичка... А бывают контроллеры без flash памяти?
rezident
Цитата(argentum @ Jul 14 2009, 11:38) *
Э-э-э... простите новичка... А бывают контроллеры без flash памяти?
Микроконтроллеры без Flash-памяти? Конечно бывают. С ядром ARM, например, LPC2210, LPC2290 у NXP. Если из "другой оперы" - i80186 у Intel. Или TMS320VC5509A у TI.
argentum
У меня чисто позновательный интрес. Если времени нет, то отправьте меня к datasheet'у, но там же где-то должна храниться программа в отсутствии питания?

А по делу вопрос вот какой:
Подскажите, где можно прочитать подробненько о том, что происходит при инициализации ARM'ов, для чего нужен файл startup.s, чем примечатеьлны режимы USER MODE,SUPERVISER MODE (надеюсь не опечатался) и т.д. А то думаю, трудно будет перезашить контроллер без понимания этих вещей. А понимания нет... blink.gif
rezident
Цитата(argentum @ Jul 14 2009, 13:13) *
У меня чисто позновательный интрес. Если времени нет, то отправьте меня к datasheet'у, но там же где-то должна храниться программа в отсутствии питания?
Дык это очевидно же - во внешней постоянной памяти. Для этого у них шина внешней памяти имеется. Либо есть внутренняя ROM (немодифицируемая постоянная память) с программой-BootLoader-ом, которая позволяет загружать исполняемый код во внутреннюю SRAM через последовательные интерфейсы связи из Serial EEPROM, DataFlash или даже через USB.
argentum
Спасибо)))
И всё же, где читать про инициализаяцию ядра?
argentum
Хотя вот известное место
http://www.gaw.ru/html.cgi/txt/doc/micros/...7dtmi/index.htm
Надо было самому догадаться
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.