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

 
 
> LPC23XX. Запуск программы в RAM
Step_ARM
сообщение May 25 2009, 04:28
Сообщение #1


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

Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870



Задача следующая. Надо Загрузить с внешнего носителя (датафлэш ,SD) программу в RAM и запустить в RAM из программы на флэш.
Наверняка кто-нибудь делал это? Подскажет кто-нибудь как это сделать?

Сообщение отредактировал Step_ARM - May 25 2009, 04:28
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KRS
сообщение May 25 2009, 08:42
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Так по теме все просто!
Делаете программу для RAM, можно и отлаживать прямо в RAM ( среды разработки это позволяют, с помощью макросов при старте отладки инитится RAM, remap...).
Потом полученных hex файл, конвертируете в нужный вам формат...
А бутлоадер ( или другая ваша программа) инитит RAM, remap.... грузит файл в память и запускает. ( По принципу как и отладка прямо в рам).
Go to the top of the page
 
+Quote Post
Step_ARM
сообщение May 25 2009, 11:05
Сообщение #3


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

Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870



Цитата(KRS @ May 25 2009, 12:42) *
Так по теме все просто!
Делаете программу для RAM, можно и отлаживать прямо в RAM ( среды разработки это позволяют, с помощью макросов при старте отладки инитится RAM, remap...).
Потом полученных hex файл, конвертируете в нужный вам формат...
А бутлоадер ( или другая ваша программа) инитит RAM, remap.... грузит файл в память и запускает. ( По принципу как и отладка прямо в рам).

Ну наверное не все так просто... Сделал я программу для RAM. В дебаггере запускается, выводит на индикатор сообщение. Смотрю память -- действительно прога там висит и флэш нетронута.
Далее мои действия:
1. Записать на внешний носитель эту прогу (с таблицей векторов или без нее?)
2. Прочитать из основной программы(кот. на флэш) прогу с внешнего носителя в память с адреса (0х40000000 или 0х40000040?)
3. Настроить -- MEMMAP=0x02
4. Запустить
start=(void (*)(void))0x40000040(или0х40000000);
start();
5. Пить пиво
Так или нет?

И еще возможно ли запустить такую загруженную снаружи программу в старших адресах (например, в Ethernet или USB памяти).
Если да , то какие надо дать настройки линкеру... (ИАР)
Go to the top of the page
 
+Quote Post
KRS
сообщение May 25 2009, 16:30
Сообщение #4


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Step_ARM @ May 25 2009, 15:05) *
1. Записать на внешний носитель эту прогу (с таблицей векторов или без нее?)

это зависиит от вашей реализации. для ARM7 можно сделать стандартный код обработчика который в итоге (или сразу) переходит на обработчик заданный в VIC

Цитата(Step_ARM @ May 25 2009, 15:05) *
2. Прочитать из основной программы(кот. на флэш) прогу с внешнего носителя в память с адреса (0х40000000 или 0х40000040?)

Насколько я понял у вас LPC? ( это у них ремап на 64 байта)
Конечно писать с адреса 0x40000000 ( то что отремаплено все равно надо сохранить)

Цитата(Step_ARM @ May 25 2009, 15:05) *
3. Настроить -- MEMMAP=0x02

Если у вас не стандартные обработчики в загрузчике то да!

Цитата(Step_ARM @ May 25 2009, 15:05) *
4. Запустить
start=(void (*)(void))0x40000040(или0х40000000);
start();

если ремап ( свои обработчики ) то на 0 и переходить.
если стандартные (в загрузчике) - то логичнее точку входа сделать в начале RAM


Цитата(Step_ARM @ May 25 2009, 15:05) *
И еще возможно ли запустить такую загруженную снаружи программу в старших адресах (например, в Ethernet или USB памяти).
Если да , то какие надо дать настройки линкеру... (ИАР)

Не пробовал, но должно работать - только надо этоу память обычно проинитить ( включить устройство...)
НО НЕ РАЗУМНО там размещать код - это память медленнее и к тому же там может работать DMA что ценно иногда для данных
а настройки линкеру примерно такие же как и для обычной отладки в РАМ.

IMHO все эти вопросы у вас возникли потому что вы пользуетесь визуальными настройками а не XCL/ICF файлами. Стоит вам посмотреть как работает стартап, написать свои XCL файлы... Пройти программу пошагам не от main, а от перовй инструкции все эти вопросы отпадут сами собой.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Step_ARM   LPC23XX. Запуск программы в RAM   May 25 2009, 04:28
- - HARMHARM   Если Вам нужно загрузить одну такую программу, или...   May 25 2009, 05:14
|- - Step_ARM   Я может чего-то не понимаю... Если взять обычную п...   May 25 2009, 07:07
|- - meister   Цитата(Step_ARM @ May 25 2009, 11:07) Всв...   May 25 2009, 07:16
|- - Step_ARM   Цитата(meister @ May 25 2009, 11:16) КодM...   May 25 2009, 07:23
|- - KRS   Цитата(Step_ARM @ May 25 2009, 11:23) Дей...   May 25 2009, 08:02
|- - Step_ARM   Цитата(KRS @ May 25 2009, 12:02) Опасный ...   May 25 2009, 08:36
- - Troll   Цитата1. Записать на внешний носитель эту прогу (с...   May 26 2009, 03:05
|- - Step_ARM   Ну что ж... Заработало все прекрасно. Проблема тол...   May 27 2009, 05:56
- - Step_ARM   У LPC23XX основной памяти 8кБ, USB_RAM -- 8кБ, Eth...   May 27 2009, 07:34
|- - meister   Цитата(Step_ARM @ May 27 2009, 11:34) У L...   May 27 2009, 07:48
|- - zltigo   Цитата(Step_ARM @ May 27 2009, 10:34) Воз...   May 27 2009, 08:06
- - Troll   Цитата(Step_ARM @ May 27 2009, 12:56) Как...   May 27 2009, 08:31
|- - zltigo   Цитата(Troll @ May 27 2009, 11:31) ..а са...   May 27 2009, 08:53
|- - Step_ARM   Цитата(zltigo @ May 27 2009, 12:53) Зачем...   May 27 2009, 09:58
|- - zltigo   Цитата(Step_ARM @ May 27 2009, 12:58) zlt...   May 27 2009, 11:02
|- - Step_ARM   Цитата(zltigo @ May 27 2009, 15:02) Вы пр...   May 27 2009, 13:50
|- - meister   Цитата(Step_ARM @ May 27 2009, 17:50) око...   May 27 2009, 14:25
|- - zltigo   Цитата(Step_ARM @ May 27 2009, 16:50) Все...   May 27 2009, 18:17
|- - Step_ARM   Цитата(zltigo @ May 27 2009, 22:17) Отнюд...   May 28 2009, 05:13
|- - meister   Цитата(Step_ARM @ May 28 2009, 09:13) 32к...   May 28 2009, 05:30
|- - zltigo   Цитата(Step_ARM @ May 28 2009, 08:13) Я д...   May 28 2009, 06:15
||- - Step_ARM   Цитата(zltigo @ May 28 2009, 10:15) Явки,...   May 28 2009, 06:19
|- - zltigo   Цитата(Step_ARM @ May 28 2009, 08:13) Вес...   May 28 2009, 06:29
|- - Step_ARM   Цитата(zltigo @ May 28 2009, 10:29) Для р...   May 28 2009, 09:18
- - esaulenka   Подниму тему. Скажите, а как красиво расположить ...   Jun 8 2009, 15:50
- - esaulenka   В очередной раз сработала примета "напиши о п...   Jun 8 2009, 16:59


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

 


RSS Текстовая версия Сейчас: 6th August 2025 - 12:34
Рейтинг@Mail.ru


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