|
Не генерируются прерывания в STR912 |
|
|
|
Jan 5 2010, 09:28
|

Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 24-05-08
Из: Odessa
Пользователь №: 37 784

|
Здравствуйте господа. Возникла следующая проблема. В процессоре STR912 не хотят генерироваться прерывания. Вот код инициализации прерываний: Код VIC_DeInit(); VIC_InitDefaultVectors(); VIC_Config(TIM3_ITLine, VIC_IRQ, 0); VIC_ITCmd(TIM3_ITLine, ENABLE); Прерывания в таймере также включены: TIM_ITConfig(TIM3, TIM_IT_OC1, ENABLE); При отладке видно, что в VIC и в таймере прерывания настроены и таймер считает. Но при достижении значения счетного регистра равному регистру сравнения OC1R в прерывание заходить не хочет Код TIM_CounterCmd(TIM3, TIM_STOP); TIM_CounterCmd(TIM3, TIM_CLEAR); var_delay++; if(var_delay == 60000) var_delay = 0; TIM_ClearFlag(TIM3, TIM_FLAG_OC1); TIM_CounterCmd(TIM3, TIM_START); VIC0->VAR = 0xFF;
--------------------
Big time.
|
|
|
|
|
 |
Ответов
|
Jan 5 2010, 11:28
|

Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 24-05-08
Из: Odessa
Пользователь №: 37 784

|
Цитата(aaarrr @ Jan 5 2010, 13:12)  Дык в CPSR-то прерывания разрешены? Не разрешены. Но не могу догнать, как их включить. Не могу нигде найти описание CPSR. Даже в reference manual.
--------------------
Big time.
|
|
|
|
|
Jan 5 2010, 11:36
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(artur_off @ Jan 5 2010, 14:28)  Не разрешены. Но не могу догнать, как их включить. Стартап свой приложите. Цитата(artur_off @ Jan 5 2010, 14:28)  Не могу нигде найти описание CPSR. Даже в reference manual. Искать нужно в reference manual на ядро.
|
|
|
|
|
Jan 5 2010, 11:44
|

Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 24-05-08
Из: Odessa
Пользователь №: 37 784

|
Цитата(aaarrr @ Jan 5 2010, 13:36)  Стартап свой приложите.
Искать нужно в reference manual на ядро. Не загружается файл. CODE ; Enter Undefined Instruction Mode and set its Stack Pointer MSR CPSR_c, #Mode_UND:OR:I_Bit:OR:F_Bit MOV SP, R0 SUB R0, R0, #UND_Stack_Size
; Enter Abort Mode and set its Stack Pointer MSR CPSR_c, #Mode_ABT:OR:I_Bit:OR:F_Bit MOV SP, R0 SUB R0, R0, #ABT_Stack_Size
; Enter FIQ Mode and set its Stack Pointer MSR CPSR_c, #Mode_FIQ:OR:I_Bit:OR:F_Bit MOV SP, R0 SUB R0, R0, #FIQ_Stack_Size
; Enter IRQ Mode and set its Stack Pointer MSR CPSR_c, #Mode_IRQ:OR:I_Bit:OR:F_Bit MOV SP, R0 SUB R0, R0, #IRQ_Stack_Size
; Enter Supervisor Mode and set its Stack Pointer MSR CPSR_c, #Mode_SVC:OR:I_Bit:OR:F_Bit MOV SP, R0 SUB R0, R0, #SVC_Stack_Size Я так понимаю, это здесь.
Сообщение отредактировал Omen_13 - Jan 5 2010, 23:37
Причина редактирования: Оформление кода
--------------------
Big time.
|
|
|
|
|
Jan 5 2010, 11:49
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(artur_off @ Jan 5 2010, 14:44)  Не загружается файл. Где надо смотреть в стартапе? Смотреть, что загружается в CPSR (команда MSR) перед уходом в C-часть. Если это "стандартный" кейловский STR91x.s, то прерывания в нем разрешены. Цитата(artur_off @ Jan 5 2010, 14:44)  Я так понимаю, это здесь. Да. Это последний MSR, или есть еще переход в SYSTEM/USER?
|
|
|
|
Сообщений в этой теме
artur_off Не генерируются прерывания в STR912 Jan 5 2010, 09:28 MALLOY2 Я не пользуюсь ST библиотеками, и все нормально ра... Jan 5 2010, 09:38 artur_off Сейчас настроено только одно прерывание - от тайме... Jan 5 2010, 09:46 artur_off Переписал настройку VIC, но ничего не изменилось.
... Jan 5 2010, 11:02     artur_off Цитата(aaarrr @ Jan 5 2010, 13:49) Смотре... Jan 5 2010, 11:56      aaarrr Цитата(artur_off @ Jan 5 2010, 14:56) пос... Jan 5 2010, 12:05 artur_off А вот при отладке флаг I не сбрасывается. Jan 5 2010, 12:08 aaarrr Цитата(artur_off @ Jan 5 2010, 15:08) А в... Jan 5 2010, 12:18  artur_off Цитата(aaarrr @ Jan 5 2010, 14:18) Т.е. п... Jan 5 2010, 12:40   aaarrr Цитата(artur_off @ Jan 5 2010, 15:40) То ... Jan 5 2010, 12:46    artur_off Цитата(aaarrr @ Jan 5 2010, 14:46) Нет. У... Jan 5 2010, 13:25     aaarrr Цитата(artur_off @ Jan 5 2010, 16:25) А н... Jan 5 2010, 13:32      artur_off Цитата(aaarrr @ Jan 5 2010, 15:32) А без ... Jan 5 2010, 14:43 Vladimir_T Нужно внимательно просмотреть инициализацию перефе... Jan 5 2010, 15:20 artur_off Прерывания завелись, но прерывание происходит тол... Jan 5 2010, 15:52 MALLOY2 h-jtag тут не причем.
функция обработчик прерыван... Jan 5 2010, 18:32 artur_off Цитата(MALLOY2 @ Jan 5 2010, 20:32) h-jta... Jan 5 2010, 18:35 artur_off Методом тыка выяснил причину проблемы(спасибо MALL... Jan 5 2010, 20:31 aaarrr Цитата(artur_off @ Jan 5 2010, 23:31) Но ... Jan 5 2010, 20:51 artur_off Дело было вот в чём, прерывание одно появлялось, н... Jan 5 2010, 21:13 artur_off C остальными прерываниями точно такая же ситуация.... Jan 13 2010, 13:49 prussta Здравствуйте! У меня возникла подобная проблем... Sep 18 2012, 10:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|