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

 
 
 
Reply to this topicStart new topic
> Загрузка и запуск кода на выполнение в ОЗУ, Загрузка и запуск кода на выполнение в ОЗУ для lpc175x(6x)
mdmitry
сообщение Apr 5 2012, 10:26
Сообщение #1


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Здравствуйте!
Возникла необходимость в следующем использовании контроллера (тема перекликается с Запуск исполняемого кода из ОЗУ).

К контроллеру должна быть подключена малокнопочная клавиатура и графический дисплей, а также коммуникационный порт (RS-232). Для экспериментов есть отладочная плата EM-LPC1700-68 Embest в которой все это присутствует.

Хочется иметь следующую рабочую ситуацию:
Контроллер стартует обычным образом (из флэши) (выполнаяется Flashprog), инициализирует дисплей, выводит некоторое сообщение о загрузке. Далее по коммуникационному порту получает код программы (RAMprog) и грузит его в ОЗУ. После полной загрузки кода программа Flashprog отдает управление вновь загруженной программе RAMprog, которая далее является единственной выполняемой на контроллере и которой, вообще-то, не надо знать о наличии и предыдущей работе Flashprog.

RAMprog подразумевается как программа, подгружаемая в зависимости от режима работы всего устройства. Может быть набор программ, хранящихся на некотором внешнем носителе. Основная функция которой на данном этапе обработка клавиатуры и отрисовка дисплея (GUI), работа с коммуникационным каналом (прием и отображение информации, передача информации об изменении настроек, выполненных оператором через GUI).

Это чем-то похоже на загрузку и работу старших ARMов и процессоров DSP (Uboot+linux kernel + ..., flashboot + ....).

Вопросы:
1. Реально ли организовать такой режим работы? (На мой дилетантский взгляд - да, проблемы могут быть в деталях о которых я не знаю и не подозреваю).
2. Допускается ли в качестве RAMprog применять полновесное приложение, собираемое независимо от Flashprog, которое вообще не использует флэш-память? (понятно, что скрипты линкера должны быть разными и, наверное, что-то ещё).

Подскажите, пожалуйста, где можно прочитать о передаче управления в программу, находящуюся в ОЗУ.

Спасибо.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Apr 5 2012, 12:25
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (mdmitry @ Apr 5 2012, 18:26) *
1. Реально ли организовать такой режим работы? (На мой дилетантский взгляд - да, проблемы могут быть в деталях о которых я не знаю и не подозреваю).
2. Допускается ли в качестве RAMprog применять полновесное приложение, собираемое независимо от Flashprog, которое вообще не использует флэш-память? (понятно, что скрипты линкера должны быть разными и, наверное, что-то ещё).

Подскажите, пожалуйста, где можно прочитать о передаче управления в программу, находящуюся в ОЗУ.

Добрый день!
Ответы:
1. Да, реально. Правда я делал для LPC24x8. Незнаю, насколько кортекс отличается, но мне кажется, что если пространство FLASH/RAM/EXTERNAL MEMORY едино, то припятствий нет.
2. Загрузчик от приложения может отличаться как угодно. Важно лишь предусмотреть некий общий интерфейс и набор правил для взаимодействия (стартовый адрес приложения, инициализация периферии и т.п.).

На счет передачи управления, на форуме есть несколько топиков, где показано как вызвать "функцию", имеющую необходимый адрес. Я даже использовал что-то предназначенное для AVR, т.к. язык Си невилировал архитектурные особенности.

Вообще советую на U-Boot мельком глянуть. Там есть что "скопипастить" )))

Вот как-то так...)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 5 2012, 20:53
Сообщение #3


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(haker_fox @ Apr 5 2012, 16:25) *
Добрый день!
...

Спасибо, это обнадеживает.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post

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

 


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


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