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

 
 
 
Reply to this topicStart new topic
> В чем прикол?, разные адреса прерываний в доке и файле
Vyatsek
сообщение Sep 19 2005, 05:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



В доке на мегу 16 описаны следующие адреса прерываний

$000 jmp RESET ; Reset Handler
$002 jmp EXT_INT0 ; IRQ0 Handler
$004 jmp EXT_INT1 ; IRQ1 Handler
$006 jmp TIM2_COMP ; Timer2 Compare Handler

и т.д.

а в файле IAR 4.11 вектора определены следующими адресами
#define RESET_vect (0x00)
#define INT0_vect (0x04)
#define INT1_vect (0x08)
#define TIMER2_COMP_vect (0x0C)

Почему стоят разные адреса, хотя контроллер один и тот же??
Go to the top of the page
 
+Quote Post
kalinka16
сообщение Sep 19 2005, 05:56
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 30-06-05
Пользователь №: 6 414



Цитата(Vyatsek @ Sep 19 2005, 08:15)
В доке на мегу 16 описаны следующие адреса прерываний

$000 jmp RESET ; Reset Handler
$002 jmp EXT_INT0 ; IRQ0 Handler
$004 jmp EXT_INT1 ; IRQ1 Handler
$006 jmp TIM2_COMP ; Timer2 Compare Handler

и т.д.

а в файле IAR 4.11 вектора определены следующими адресами
#define    RESET_vect          (0x00)
#define    INT0_vect            (0x04)
#define    INT1_vect            (0x08)
#define    TIMER2_COMP_vect    (0x0C)

Почему стоят разные адреса, хотя контроллер один и тот же??
*


В доке адреса в словах (2 байта), а в ИАРе в байтах
Go to the top of the page
 
+Quote Post
Vyatsek
сообщение Sep 19 2005, 07:12
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



Да я и сам потом подумал, что просто компилеры разные и по разному воспринимают адреса, один в байтах а другой в словах, но пасиба большое
Go to the top of the page
 
+Quote Post
Runner
сообщение Oct 7 2005, 09:02
Сообщение #4


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

Группа: Свой
Сообщений: 107
Регистрация: 18-06-05
Пользователь №: 6 117



Цитата(Vyatsek @ Sep 19 2005, 09:12)
Да я и сам потом подумал, что просто компилеры разные и по разному воспринимают адреса, один в байтах а другой в словах, но пасиба большое
*

Сталкивался именно с этой проблемкой - нужно использовать адресса из заголовочных файлов.
Go to the top of the page
 
+Quote Post
vzyk
сообщение Oct 9 2005, 16:49
Сообщение #5


Участник
*

Группа: Validating
Сообщений: 18
Регистрация: 3-09-05
Пользователь №: 8 208



Because a word in flash is 2-byte length. So in DOC an offset is written in words, and in IAR header - offset is in bytes. That's why you see this differency.
Just use these header files, and will be ok.

P.S. Sorry for english, not russian...
Go to the top of the page
 
+Quote Post

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

 


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


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