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

 
 
> Неудачный переход с С на С++, Расположение обработчика прерывания
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 11 2010, 09:33
Сообщение #2


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

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



Да уж, чего только не по напридумывают.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 11 2010, 11:49
Сообщение #3


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

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



Цитата(sergeeff @ Mar 11 2010, 14:33) *
Да уж, чего только не по напридумывают.


Это можно воспринимать как извинения? smile.gif

Вообще-то, (это к вопросу о кругозоре), Weak symbols - это один из ключевых механизмов в Си. В частности, именно благодаря ему возможно написать свой putchar() вместо умолчательного.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Mar 11 2010, 13:18
Сообщение #4


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

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



Цитата(AHTOXA @ Mar 11 2010, 14:49) *
Это можно воспринимать как извинения? smile.gif

Вообще-то, (это к вопросу о кругозоре), Weak symbols - это один из ключевых механизмов в Си. В частности, именно благодаря ему возможно написать свой putchar() вместо умолчательного.


Приношу свои извинения. Тем не менее, согласитесь, сложновато обсуждать текст неопубликованного модуля. Механизм weak, может и ключевой, но не стандартный, например в MS VS2008 его нет, и в МS2010 его тоже не планируют. Во-вторых, меня всегда настораживает, когда:
1. Нет никакой диагностики ни на этапе компиляции, ни на этапе сборки проекта, что ты не определил какую либо функцию (глобальную переменную).
2. Программа выполняет не то, что ты написал, а то, что подразумевал какой-то дядя. Это требует наличия очень хорошей документации на программный продукт или кучи времени, на изучение исходных текстов.
3. Автор топика ни словом про weak функции не обмолвился.

Тем не менее, у автора топика все заработало, что и требовалось.
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   Тем не менее "умолчательные обработчики...   Mar 10 2010, 13:00
|- - AHTOXA   Цитата(sergeeff @ Mar 10 2010, 18:00) Тем...   Mar 10 2010, 13:50
|- - 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


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

 


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


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