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

 
 
> #pragma vector вместо cstartup, применимо к LPC17xx
theBMV
сообщение May 19 2010, 12:56
Сообщение #1


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

Группа: Свой
Сообщений: 131
Регистрация: 14-10-08
Из: г. Королев
Пользователь №: 40 940



Работаю с LPC21xx в принципе довольно давно.
Работа с прерываниями ограничивается этим:
Код
#pragma vector=0x18
__irq __arm void irq_Handler(void)
{
  void (*interrupt_function)();
  unsigned int vector;

  vector = VICVectAddr;
  interrupt_function = (void(*)())vector;
  (*interrupt_function)();
  VICVectAddr = 0;
}

...и настройкой VIC
Настала необходимость пересесть на LPC1768.
Взглянул на файлы примеров. Там есть некий cstartup.s,
назначение которого, ИМХО,
организовать таблицу векторов прерываний
(т.е. тупо по очереди с 0x0 пишутся константы-адреса функций).

Вопрос: могу ли я отказаться от этого файла
(или вообще я все не так понял и полный нубус)
и использовать #pragma vector для каждого прерывания?
Спасибо.

P.S. да, речь идет про IAR5.40

Сообщение отредактировал theBMV - May 19 2010, 13:02
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
XVR
сообщение May 20 2010, 07:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Там есть некий cstartup.s,
назначение которого, ИМХО,
организовать таблицу векторов прерываний
Не только. Судя по названию - это файл стартапа для С кода. Его назначение (грубо говоря) настроить процессор так, что бы на нем могла исполняться С программа (начиная с main).
Настройка векторов это только одна из многих задач, которые он исполняет. Еще он настраивает стек, heap, протирает нулями область неинициализированныъ переменных и пр.
При необходимости его можно изменить, но выкидывать полностью не рекомендуется smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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