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

 
 
> Размещение переменной по строго определённому адресу, Нужно корректно указать компилятору адрес
Д_М
сообщение Jun 5 2017, 11:17
Сообщение #1


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Приветствую!
Это нужно для того, чтобы векторы прерываний, расположенные в загрузочном секторе, передавали управление функциям, расположенном в секторе приложений. Адрес может быть произвольным, но одинаковым, как для загрузчика, так и для приложения. Делал вот так __no_init volatile unsigned int Sys_ptr @0x0100; Компилятор IAR ошибок не выдает. Работает. Смущает, что в начале работы программы в этой ячейке не нулевое значение. Правильно ли я делал? Можно ли быть уверенным, что при такой декларации переменной не будет пересечения со стеками и данными? Хотел, для уверенности, разместить эту переменную в области I/O (0x00..0xFF), на какой-то зарезервированный адрес, в частности 0x76. Не тут то было! Значение постоянно плавает. Если адрес зарезервирован, то это не значит, что его можно использовать, как ячейку памяти.

Спасибо!
Go to the top of the page
 
+Quote Post



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

 


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


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