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

 
 
> Загрузка функций в RAM по заданному адресу
Punk
сообщение Sep 16 2010, 10:43
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167



Приветствую.
Есть Устройство:

LPC2294+внешняя RAM+SD карта+LCD
------------------------------------------
Есть ли возможность в Кейле компилировать заданные функции программы в отдельные бинарники? затем сохраняем эти бинарники, скажем, на SD карте, а уже с нее грузим необходимые (выбранные в меню девайса) бинарники в RAM и запускаем их на выполнение. Что в этой идее реально и выполнимо?

P.S. говоря очень простым языком: Хочу чтобы как на PC, выбрал exe-шник с диска и запустил
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SergeyDDD
сообщение Sep 16 2010, 20:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248



Цитата(Punk @ Sep 16 2010, 13:43) *
Приветствую.
Есть Устройство:

LPC2294+внешняя RAM+SD карта+LCD
------------------------------------------
Есть ли возможность в Кейле компилировать заданные функции программы в отдельные бинарники? затем сохраняем эти бинарники, скажем, на SD карте, а уже с нее грузим необходимые (выбранные в меню девайса) бинарники в RAM и запускаем их на выполнение. Что в этой идее реально и выполнимо?

P.S. говоря очень простым языком: Хочу чтобы как на PC, выбрал exe-шник с диска и запустил


Да вроде как не проблема
Допустим на внутреннем флеше находится загрузчик и Ваше меню для запуска программ с SD
В скаттер-файле загрузчика выделяете свой RW_RAM регион или используете сугубо RW_IRAM1(внутреннее ОЗУ)
IROM1 остается на 0x00000000

Для запускаемых с SD приложений переписываете скаттер-файл скажем так:
IROM1 меняете на 0x80000000 (внешнее ОЗУ)
RW_RAM прописываете для региона отличного от RW_RAM загрузчика

А дальше загрузчик грузит выбранный бинарник в область 0x80000000
В Memory Mapping Control Register (MEMMAP - 0xE01FC040) выбирает "User External memory Mode. Interrupt vectors are re-mapped to external memory" (при замаскированном прерывании)
И прыгает по адресу 0x80000000



И еще...
Отладка SD-шной программы тоже не проблема
Нужно только написать свой кейловский драйвер (Keil\ARM\Flash), который в Init конфигурирует внешнее ОЗУ (External Memory Controller - EMC) и в ProgramPage грузит прошивку в 0x80000000

Ну и видимо в SD-шной программе из Startup.s повыкидывать все лишнее
Go to the top of the page
 
+Quote Post
Punk
сообщение Sep 29 2010, 10:23
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167



Цитата(SergeyDDD @ Sep 17 2010, 00:45) *
И прыгает по адресу 0x80000000


А как перепрыгнуть подскажите? Насколько я понял из манула на RealView комманду LDR PC,xxx инлайн в С-коде выполнить нельзя
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Punk   Загрузка функций в RAM по заданному адресу   Sep 16 2010, 10:43
- - kovigor   Цитата(Punk @ Sep 16 2010, 13:43) P.S. го...   Sep 16 2010, 18:08
|- - Punk   Цитата(kovigor @ Sep 16 2010, 22:08) На P...   Sep 16 2010, 18:55
|- - SPACUM   Цитата(Punk @ Sep 16 2010, 22:55) Сейчас ...   Sep 16 2010, 19:37
|- - Punk   Цитата(SPACUM @ Sep 16 2010, 23:37) В это...   Sep 17 2010, 03:36
|- - Dron_Gus   Цитата(Punk @ Sep 17 2010, 07:36) Да...   Sep 17 2010, 06:41
|- - SergeyDDD   Цитата(Punk @ Sep 17 2010, 06:36) Чисто с...   Sep 17 2010, 08:25
|- - Сергей Борщ   Цитата(Punk @ Sep 29 2010, 13:23) комманд...   Sep 29 2010, 11:17
||- - Punk   Цитата(Сергей Борщ @ Sep 29 2010, 15:17) ...   Sep 29 2010, 11:31
|- - SergeyDDD   Цитата(Punk @ Sep 29 2010, 13:23) А как п...   Sep 29 2010, 11:44
- - Dron_Gus   Цитата(SergeyDDD @ Sep 17 2010, 12:25) бл...   Sep 17 2010, 08:30
|- - Punk   Цитата(Dron_Gus @ Sep 17 2010, 12:30) Топ...   Sep 17 2010, 10:28
- - Punk   Вобчем дошло дело до испытаний кода, все немного ...   Sep 30 2010, 10:53
|- - Student Pupkin   Цитата(Punk @ Sep 30 2010, 14:53) после т...   Sep 30 2010, 12:20
|- - Punk   Цитата(Student Pupkin @ Sep 30 2010, 16:2...   Oct 1 2010, 05:00
- - Сега   Выложи, пожалуйста.   Oct 1 2010, 06:48
- - Punk   Цитата(Сега @ Oct 1 2010, 10:48) Выложи, ...   Oct 1 2010, 08:46


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

 


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


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