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

 
 
> Прерывания, Хелп
Muxamor
сообщение Feb 21 2007, 09:00
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 289
Регистрация: 4-05-05
Из: Novosibirsk
Пользователь №: 4 722



Понадобилось прерывание от UART0 и всплыла следующая проблема, так как у меня программа записывается не с начало внутренней флэшки а с адреса 40002000 из за этого не правильно обрабатывается прерывание. Если писать прогу с начало тоесть с адреса 40000000 то все отлично работает.
Подскажите где нужно подправить . help.gif
Камень STR711FR2


--------------------
Бубен - однако штука шаманская!!!

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ivan_Kov
сообщение Feb 21 2007, 10:11
Сообщение #2


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

Группа: Свой
Сообщений: 174
Регистрация: 30-10-06
Из: г. Курск
Пользователь №: 21 787



Не забывайте, что по адресу 0000000 у арма должны храниться вектора прерываний. А микроконтроллер должен проецировать флеш-память на нулевой адрес. Таким образом адрес 40000000(начало флеш) должен содержать вектора прерываний. если вы грузите программу с адреса 40002000, то может случиться, что вектора оказываются не там где надо.


Если с векторами все в порядке, то я так понимаю что нужно просто правильно настроить линковщик. т.е нужно указать ему, что остальная программа должна находиться по адресу 40002000 (я правда не понимаю зачем так ее грузить). Как это сделать, зависит уже от того каким компилятором и средой вы пользуетесь.
Go to the top of the page
 
+Quote Post



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

 


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


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