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

 
 
> Неудачный переход с С на С++, Расположение обработчика прерывания
baralgin
сообщение Mar 10 2010, 10:20
Сообщение #1


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

Группа: Участник
Сообщений: 92
Регистрация: 23-12-08
Из: Кишинёв
Пользователь №: 42 680



Решил перевести проект с С на С++, код писался аккуратно поэтому появилось совсем немного несоответствий (типа TRUE->true). Но программа не работает. Проект пишется одновременно в Keil и IAR. Отладка показывает что код зацикливается в недрах старап-файла на этапе инициализации переферии. В Keil  

Код
...</P><P>DMA2_Channel4_5_IRQHandler
                B       .

                ENDP

                ALIGN


И в IAR:

Код
...</P><P>TIM2_IRQHandler
        B TIM2_IRQHandler


TIM2_IRQHandler расположен в main.cpp (там же и прерывание от DMA). Похоже что моих обработчиков компилятор неузрел. Наверное проблема изъезжена, но в хэлпе ничего не нашёл.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Mar 10 2010, 13:00
Сообщение #2


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Тем не менее "умолчательные обработчики" - это обычные функции, сидящие в вашем startup файле (еще надо сильно подумать, хорош ли ваш startup) и не имеющие никакого отношения к компилятору.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 10 2010, 13:50
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sergeeff @ Mar 10 2010, 18:00) *
Тем не менее "умолчательные обработчики" - это обычные функции, сидящие в вашем startup файле (еще надо сильно подумать, хорош ли ваш startup) и не имеющие никакого отношения к компилятору.


Хорошо, я напишу более развёрнуто:
Потому что у компилятора есть "умолчательные обработчики" из стартапа. Так нормально, или есть ещё к чему придраться? smile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- baralgin   Неудачный переход с С на С++   Mar 10 2010, 10:20
- - sergeeff   Чтобы в ассемблерной части программы вы могли испо...   Mar 10 2010, 10:38
- - baralgin   Спасибо, обьявление как extern "C" помог...   Mar 10 2010, 11:19
|- - AHTOXA   Цитата(baralgin @ Mar 10 2010, 16:19) Стр...   Mar 10 2010, 11:40
|- - jorikdima   Цитата(AHTOXA @ Mar 10 2010, 14:40) Потом...   Mar 10 2010, 12:24
- - sergeeff   Про "умолчательные обработчики прерываний...   Mar 10 2010, 12:30
- - baralgin   Да нет, линкер не ругался и исправно генерил код. ...   Mar 10 2010, 12:48
|- - sergeeff   Цитата(AHTOXA @ Mar 10 2010, 17:50) Хорош...   Mar 10 2010, 14:28
|- - AHTOXA   Цитата(sergeeff @ Mar 10 2010, 19:28) У к...   Mar 10 2010, 16:25
- - sergeeff   ЦитатаКроме того, у компилятора есть то, что он ко...   Mar 10 2010, 21:33
|- - shreck   Цитата(sergeeff @ Mar 11 2010, 05:33) Вы ...   Mar 11 2010, 03:11
- - sergeeff   Да уж, чего только не по напридумывают.   Mar 11 2010, 09:33
- - AHTOXA   Цитата(sergeeff @ Mar 11 2010, 14:33) Да ...   Mar 11 2010, 11:49
- - sergeeff   Цитата(AHTOXA @ Mar 11 2010, 14:49) Это м...   Mar 11 2010, 13:18


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

 


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


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