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

 
 
> Staptup-файл, asm, инициализация, прерывания в stm32 Cortex-M3, Использую IAR 6.50 и stm32vldiscovery (stm32f100rb)
tulupov.kv
сообщение Oct 30 2014, 17:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 27-02-14
Пользователь №: 80 724



Приветствую всех! Освоил использование GPIO, поработал с дисплеем, попробовал также слёту, не разбираясь, использовать внешние прерывания.
Настроил прерывания и NVIC, написал два обработчика EXTI 3,4. При нажатии кнопки контроллер зависает.

Знаю, что таблица векторов прерываний лежит в файле startup_stm32f10x_md_vl.s
Его, и файлы system_stm32f10x.h, system_stm32f10x.c и stm32f10x.h взял с сайта ST, CMSIS встроена в IAR.
В стартап файле такие строки:
Код
        PUBWEAK EXTI3_IRQHandler
        SECTION .text:CODE:REORDER(1)
        EXTI3_IRQHandler
        B EXTI3_IRQHandler

Похоже на зацикливание.

Вопросы:
1) Как заменить эту петлю на мой обработчик?
2) Наверное, нужно как-то правильно подключить стартап файлы .c и .s, причём без прерываний всё и без них работало, а там строки
Код
        EXTERN  __iar_program_start
        EXTERN  SystemInit        
        PUBLIC  __vector_table
и
        DCD     sfe(CSTACK)
        DCD     Reset_Handler

без этого работать программа не должна? IAR вместо моих стартап-файлов пихает что-то по умолчанию?
3) Где вызывается SystemInit? Что еще происходит до входа в main?
4) Где-то читал про то, что вроде обработчик прерывания нужно объявлять extern "C", точно не помню, поясните суть в конкретном случае и в общем.
5) Что бы такое почитать по ассемблеру для M3, препроцессору IAR и по теме вопросов, желательно кратко – пока хочу делать простые вещи без углубления в ядро, читать The Definitive Guide to the ARM® Cortex-M3 и Cortex-M3 Technical Reference Manual думаю пока рановато и нерационально. С английским дружу. Раньше писал на асме под авр.
Архив с проектом

Сообщение отредактировал tulupov.kv - Oct 30 2014, 17:02
Go to the top of the page
 
+Quote Post



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

 


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


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