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

 
 
 
Reply to this topicStart new topic
> нужно ли разрешать прерывания?
777777
сообщение Dec 21 2011, 05:15
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Нужно ли после инициализации как-то разрешать прерывания? Другие контроллеры при сбросе запрещают прерывания и после инициализации преиферии его нужно разрешать, а как в АРМ? Вообще-то сейчас в программе все прерывания работают, может они разрешаются в стартапе? Но там вроде ничего нет, просто переход на main. Но тогда кто ему устанавливает указатель стека, вызывает конструкторы классов, инициализирует статические переменные?
Go to the top of the page
 
+Quote Post
Lotor
сообщение Dec 21 2011, 05:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(777777 @ Dec 21 2011, 09:15) *
Но тогда кто ему устанавливает указатель стека, вызывает конструкторы классов, инициализирует статические переменные?

В стартапе это и делается.


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 21 2011, 05:29
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(777777 @ Dec 21 2011, 09:15) *
Но там вроде ничего нет, просто переход на main.

Это не тот main. Там переход на код инициализации, а уже из этого кода - на main. Пошагали бы отладчиком вместо того, чтобы по каждому пустяку в форуме отмечаться.
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 21 2011, 05:33
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Lotor @ Dec 21 2011, 09:20) *
В стартапе это и делается.

И прерывания разрешаются? Но у меня в файле startup_stm32f10x_hd.s написано только:

Код
Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  __main
;                IMPORT  SystemInit
;                LDR     R0, =SystemInit
;                BLX     R0              
                LDR     R0, =__main
                BX      R0
                ENDP



Цитата(scifi @ Dec 21 2011, 09:29) *
Это не тот main. Там переход на код инициализации, а уже из этого кода - на main. Пошагали бы отладчиком вместо того, чтобы по каждому пустяку в форуме отмечаться.

Действительно, а мне почему-то казалось, что я попадал в мой main прямо из стартапа.

Сообщение отредактировал 777777 - Dec 21 2011, 05:35
Go to the top of the page
 
+Quote Post

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

 


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


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