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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> IAR 5.11 Размещение по абсолютному адресу?, Как разместить функцию по абсолютному адресу????
sergeeff
сообщение Nov 5 2009, 20:25
Сообщение #16


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Sergio66 @ Nov 5 2009, 20:31) *
И все работает...


До поры до времени.

Когда все случайно повиснет и bootloader ественным образом тоже отвалится, вот тут то вы и поймете, что bootloader должен работать всегда и быть совершенно независимым от прикладной программы, объездив все объекты с вашими устройствами и с помощью какого-нибудь jtag восстановив работоспособный вариант программного обеспечения.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Nov 6 2009, 07:15
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Sergio66 @ Nov 5 2009, 21:31) *
Для их избежания важно, чтобы данные в ОЗУ не меняли свои адреса от версии к версии...
... Кроме того, после перезагрузки стартовать нужно не с 0-го адреса, а, минуя преамбулу, сразу с рабочего кода.
...Чтобы избежать инициализации всех переменных и стека.

мда ... никакой гибкости. В идеале ничто ни от чего не должно зависеть.
Про __no_init слышали?
Некорректно использовать слово "бутлоадер" вообще, у Вас просто обновление приложения средствами самого приложения.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
LessNik
сообщение Nov 11 2009, 07:58
Сообщение #18


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

Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118



Цитата(Sergio66 @ Nov 4 2009, 14:14) *
Требуется объединить в одном проекте прикладной код и bootloader, котороый этот код собственно и апдейтит.
Т.е. основной рабочий код размещает линкер, как обычно, а лоадер нужно разместить в BOOTSECTION.
Хочется сделать все это одним проектом, а не грузить в контроллер 2 разных куска кода по разным адресам.
Как в проекте ИАР 5.10 можно разместить код с указанного абсолютного адреса?
Вариант с
#define MYSEG 0x3700
#pragma segment="MYSEG"
годится только для переменных, для кода - нет. Какие еще могут быть варианты?
Заранее спасибо за помощь.


Посмотри мой прикреплённый пример в этой теме
http://electronix.ru/forum/index.php?showtopic=69248
Go to the top of the page
 
+Quote Post
Sergio66
сообщение Nov 11 2009, 08:13
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Цитата(LessNik @ Nov 11 2009, 10:58) *
Посмотри мой прикреплённый пример в этой теме
http://electronix.ru/forum/index.php?showtopic=69248

Спасибо!
Проблему решил.
РАзобрался с размещением функций по абсолютным адресам.
Так же, как и Вам ОЧЧЕНЬ помогли поучения zltigo.
Go to the top of the page
 
+Quote Post

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

 


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


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