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

 
 
> Само-пере-программировнаие контроллера, ARM7,LPC2478,bootloader, USB и проч.
argentum
сообщение Jul 13 2009, 06:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Друзья, скажите пожалуйста, а может ли LPC2478, взвзять и перепрограммироваться по зову программы?
Насколько я понимаю, должно быть примерно следующее.
1. Системный сброс.
2. Bootloader копирует программу из SRAM (туда нужная прошивка попала заранее, например через USB) в область память программ
3. После чего контроллер фунционирует уже с новой прошивкой.

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

Жду советов очень biggrin.gif

Сообщение отредактировал argentum - Jul 13 2009, 06:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Troll
сообщение Jul 13 2009, 07:02
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 30-06-05
Из: С-Петербург
Пользователь №: 6 406



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

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

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


--------------------
Hemos Pasado
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 13 2009, 15:12
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Troll @ Jul 13 2009, 10:02) *
-2. Память программ, она же flash у АРМов начинается с адреса 0х100000. Туда и надо зашить загрузчик.

Ой! А как же те у которых нет флеш памяти вообще? smile.gif
В частности у LPC флеш располагается по адресу 0.
Go to the top of the page
 
+Quote Post
argentum
сообщение Jul 14 2009, 05:38
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Э-э-э... простите новичка... А бывают контроллеры без flash памяти?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 14 2009, 05:49
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(argentum @ Jul 14 2009, 11:38) *
Э-э-э... простите новичка... А бывают контроллеры без flash памяти?
Микроконтроллеры без Flash-памяти? Конечно бывают. С ядром ARM, например, LPC2210, LPC2290 у NXP. Если из "другой оперы" - i80186 у Intel. Или TMS320VC5509A у TI.
Go to the top of the page
 
+Quote Post
argentum
сообщение Jul 14 2009, 07:13
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



У меня чисто позновательный интрес. Если времени нет, то отправьте меня к datasheet'у, но там же где-то должна храниться программа в отсутствии питания?

А по делу вопрос вот какой:
Подскажите, где можно прочитать подробненько о том, что происходит при инициализации ARM'ов, для чего нужен файл startup.s, чем примечатеьлны режимы USER MODE,SUPERVISER MODE (надеюсь не опечатался) и т.д. А то думаю, трудно будет перезашить контроллер без понимания этих вещей. А понимания нет... blink.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 14 2009, 08:01
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(argentum @ Jul 14 2009, 13:13) *
У меня чисто позновательный интрес. Если времени нет, то отправьте меня к datasheet'у, но там же где-то должна храниться программа в отсутствии питания?
Дык это очевидно же - во внешней постоянной памяти. Для этого у них шина внешней памяти имеется. Либо есть внутренняя ROM (немодифицируемая постоянная память) с программой-BootLoader-ом, которая позволяет загружать исполняемый код во внутреннюю SRAM через последовательные интерфейсы связи из Serial EEPROM, DataFlash или даже через USB.
Go to the top of the page
 
+Quote Post
argentum
сообщение Jul 14 2009, 08:23
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Спасибо)))
И всё же, где читать про инициализаяцию ядра?
Go to the top of the page
 
+Quote Post
argentum
сообщение Jul 14 2009, 09:54
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Хотя вот известное место
http://www.gaw.ru/html.cgi/txt/doc/micros/...7dtmi/index.htm
Надо было самому догадаться
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:49
Рейтинг@Mail.ru


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