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

 
 
> Startup и IAR5.1
Dan_Dima
сообщение Mar 14 2008, 22:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Доброго времени суток всем.

Вопрос следующий перешел с IAR 4.13 на IAR 5.11. Пишу под ARM (LPC2000) использовал обработчик прерывания объявляя

Код
#pragma vector=0x18
__irq __arm void irq_handler(void)
и т.д.


и никакого startup не использовал в новой же версии IAR столкнулся с проблемой без него ничего не работает, т.е при возникновении прерывания программа переходит по адресу 18 и там встает добовляешь startup и все работает. Кто может подсказать можно ли обойтись без startup и если да то, что для этого нужно сделать. Да и еще маленький вопрос в startup происходит иницилизация стеков для каждого режима так ли она нужна или стек может быть общим.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dan_Dima
сообщение Mar 15 2008, 09:56
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Это понтяно что можно самому smile.gif . Вопрос в том, что раньше и этого не делал и все прекрасно работало. Почему-то дериктива #pragma не записавает по адресу 18 переход к обработчику прерываний, хотя вроде должна.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 15 2008, 10:26
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Вот хелп по IAR 4.xx


#pragma vector
#pragma vector=vector1[, vector2, vector3, ...]
The #pragma vector directive specifies the vector(s) of an interrupt function whose declaration follows the pragma directive.
Example
#pragma vector=0x14
__irq __arm void my_handler(void);


IAR 5.xx пока не ставил. А что он по этому поводу говорит?
Go to the top of the page
 
+Quote Post
Dan_Dima
сообщение Mar 15 2008, 12:05
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Так раньше и делал. К сожалению только в понедельник на работе смогу посмотреть делал все в пятницу еще не успел, старый способ не сработал. Может конечно и я конечно сглючил, но вроде делал так как указоно выше. Да они еще немного изменили расположение индлудев теперь вместо #includde<iolpc2xxx.h> надо #include<nxp/iolpc2xxx.h> для других тоже самое и поменялись опции в линковщики. Также не обшаружил xlc файлов теперь граф редактор в котором все прописываеть (карта памяти, размеры стеков и расположение векторов)
Go to the top of the page
 
+Quote Post
Dir
сообщение Mar 15 2008, 23:41
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



Цитата(Dan_Dima @ Mar 15 2008, 14:05) *
Так раньше и делал. К сожалению только в понедельник на работе смогу посмотреть делал все в пятницу еще не успел, старый способ не сработал. Может конечно и я конечно сглючил, но вроде делал так как указоно выше. Да они еще немного изменили расположение индлудев теперь вместо #includde<iolpc2xxx.h> надо #include<nxp/iolpc2xxx.h> для других тоже самое и поменялись опции в линковщики. Также не обшаружил xlc файлов теперь граф редактор в котором все прописываеть (карта памяти, размеры стеков и расположение векторов)


Да, круто вы переходите на новую версию wink.gif
Даже в релиз нотес не заглядывали. А там ведь все написано. И то, что линкер другой, а потому файлов xcl уже не существует в природе (зато есть icf). И то, что конструкции #pragma vector уже тоже не существует. Вообще 5 версия довольно сильно отличается от 4, так что читайте, не ленитесь.

PS.
Если взглянете на стартап, то сразу увидите куда идут вектора и сработает, например, самая примитивная конструкция (без всяких прагм):
__arm __irq void IRQ_Handler(void)
{
}
Ну или воспользуйтесь примером для вашего МК.
PPS. Тут уже обсуждали, чем отличается 5 весия от 4 и делились впечатлениями. Так что поищите.
Go to the top of the page
 
+Quote Post
Dan_Dima
сообщение Mar 16 2008, 08:59
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 18-01-07
Пользователь №: 24 530



Цитата
Да, круто вы переходите на новую версию wink.gif

Ну я на нее не перешел просто поставил,чтобы оценить изменения.
Да прочитать не успел в понедельник этим займусь. Спасибо за критику.

Цитата
PS.
Если взглянете на стартап, то сразу увидите куда идут вектора и сработает, например, самая примитивная конструкция (без всяких прагм):
__arm __irq void IRQ_Handler(void)
{
}
Ну или воспользуйтесь примером для вашего МК.
PPS. Тут уже обсуждали, чем отличается 5 весия от 4 и делились впечатлениями. Так что поищите.

Со стартап я знаком и там все понтяно. Но я так и не понял можно ли обойтись без него и без переписки стартапа на С в 5 версии или все такое уже невозможно.
Go to the top of the page
 
+Quote Post



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

 


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


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