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

 
 
> Дозагрузка программы в АРМ
Пришелец
сообщение Aug 31 2006, 10:41
Сообщение #1


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

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



Добрый день! Всем.

Хочу попросить совета у профессионалов.

Задача такая:
построить программу для АРМ (среда разработки ИАР), чтобы она состояла из двух частей:
1 часть BIOS - постоянно находится во FLASH
2 часть APPLICATION - загружается BIOSом во FLASH и запускается им же и при этом для взаимодействия с железом использует ф-ции BIOS

У меня пока на уме такое решение: BIOS компилируется как обычная программа но расположенная в верхних адресах памяти и использующая верхние адреса RAM.

Приложение компилируется с обычным расположением сегментов ограниченных сверху размером под BIOS и загружается BIOSом в нижние адреса (как обычно) после загрузки (или во время загрузки) первая инструкция подменяется на команду перехода на BIOS.
Взаимодействие приложения с биосом через прерывание софтовое.



Или может есть другой способ (правильный unsure.gif ) ?

Заранее спасибо за советы.


Приложение включает в себя FreeRTOS. Или может лучше отнести её к BIOS ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Пришелец
сообщение Aug 31 2006, 11:58
Сообщение #2


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

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



Большое спасибо!


с примером всё понятно - очень удобно (у нас одна проблема - программа имеет больший размер чер половина флэша)



а насчёт загрузчика если он линкуется не с нуля то как на него осущ переход при вкл питания
или он изменяет на себя вектор сброса после загрузки приложения?


В АВР есть fuses для изменения адреса старта (перехода на загрузчик)
а в арме по-моему нет (или я не в курсе)

Сообщение отредактировал Пришелец - Aug 31 2006, 12:05
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Aug 31 2006, 12:05
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Пришелец @ Aug 31 2006, 17:58) *
а насчёт загрузчика если он линкуется не с нуля то как на него осущ переход при вкл питания
или он изменяет на себя вектор сброса после загрузки приложения?


Загрузчик как раз линкуется так, чтобы на него попадали при включении питания.
То есть reset вектор всегда передает управление на загрузчик. Далее загрузчик уже делает
переход на вектор входа в App на фиксированный адрес. Это соглашение с сами собой,
не более того.

Далее возможно 2 варианта для перенаправления прерываний.
1. На векторах прерываний в загрузчике ставятся команды перехода на область App,
где эта таблица располагается. Это соглашение принимается и все. В этом случае
загрузчик не может пользоваться прерываниями и должен работать с периферией по поллингу.
2. Если uC позволяет, можно поместить таблицу векторов приложения в RAM - об этом я писал выше.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Пришелец   Дозагрузка программы в АРМ   Aug 31 2006, 10:41
- - Andy Mozzhevilov   Поясните причину деления на BIOS и App? Для чего э...   Aug 31 2006, 10:55
|- - spf   Подобное собирался сотворить на MB9X, но долго дум...   Aug 31 2006, 11:23
|- - Ken@t   Цитата(spf @ Aug 31 2006, 15:18) Подобное...   Aug 31 2006, 11:24
- - Пришелец   В основном для того чтобы обеспечить дистанционную...   Aug 31 2006, 11:11
|- - Andy Mozzhevilov   Цитата(Пришелец @ Aug 31 2006, 17:11) В о...   Aug 31 2006, 11:47
- - Пришелец   Пусть bootloader тогда вопрос: он компилирует...   Aug 31 2006, 11:34
|- - spf   Цитата(Пришелец @ Aug 31 2006, 17:34) Пус...   Aug 31 2006, 11:48
|- - Andy Mozzhevilov   Цитата(Пришелец @ Aug 31 2006, 17:34) Пус...   Aug 31 2006, 11:55
||- - Altemir   Цитата(Andy Mozzhevilov @ Aug 31 2006, 16...   May 24 2008, 13:33
||- - zltigo   Цитата(Andy Mozzhevilov @ Aug 31 2006, 14...   May 24 2008, 14:03
||- - Altemir   Цитата(zltigo @ May 24 2008, 18:03) 3. Cа...   May 24 2008, 14:06
|- - почемучка   Для AT91SAM7 есть недешевый вариант https://www.pr...   Aug 31 2006, 13:44
- - yuri_t   Посмотрите здесь (готовый проект) http://www....   Aug 31 2006, 14:13
- - Пришелец   Спасибо.   Sep 1 2006, 10:34


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

 


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


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