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

 
 
> HardFault на операциях с double
dimka76
сообщение Sep 16 2010, 10:25
Сообщение #1


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Компилятор Sourcery G++ Lite 2010q1-188.

Ядро Cortex-M3.

При попытке выполнить операции с данными типа double контроллер вылетает в HardFault Exaption. Таже сама программа скомпилированая IAR работает нормально.

Ключи компиляции
Код
CFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES)
LDFLAGS = -Wl,--gc-sections,-Map=$@.map,-cref,-u,Reset_Handler -T link.ld


Подскажите в чем может быть причина возникновения исключительной ситуации?


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dimka76
сообщение Sep 24 2010, 09:56
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Удалось решить проблему.

Собрал свой проектик в Keil, настроил Keil на GCC компилятор. Скомпилировал и все заработало.
Посмотрел какие ключи компилятора и линкера генерит Keil.
Вставил их в свой makefile и порядок.

Вот исходный фрагмент моего makefile
Код
OPTIMIZATION = -Os
CFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) -DSTM32F10X_MD
LDFLAGS = -Wl,--gc-sections,-Map=$@.map,-cref,-u,Reset_Handler -T STM32.ld


а вот с исправлениями из Keil

Код
CFLAGS = -c -mcpu=cortex-m3 -mthumb -Wall -gdwarf-2 -Os -mapcs-frame
CFLAGS += $(INCLUDES)
CFLAGS += -Wall

LDFLAGS = -T link.ld -mcpu=cortex-m3 -mthumb -nostartfiles -Wl,-Map=.map -lm


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Sep 24 2010, 11:39
Сообщение #3


;
******

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



Цитата(dimka76 @ Sep 24 2010, 13:56) *
Код
LDFLAGS = ... -nostartfiles... -lm

1.У Вас что, стартап собственный?
2. lm - линкует математику, при чем тут плавучка? smile3046.gif
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 24 2010, 12:01
Сообщение #4


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(_Pasha @ Sep 24 2010, 15:39) *
1.У Вас что, стартап собственный?
2. lm - линкует математику, при чем тут плавучка? smile3046.gif


Да, собственный StartUp.

А плавучка разве не математика.
Это целые для регистров могут быть использованы, а плавучка исключительно для математики.

Может тут еще сыграло роль указание для линкера -mcpu=cortex-m3 -mthumb

Я больше с ключами не игрался, заработало и хорошо )))


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 24 2010, 13:41
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(dimka76 @ Sep 24 2010, 16:01) *
А плавучка разве не математика.
Это целые для регистров могут быть использованы, а плавучка исключительно для математики.

плавучка сама по себе, а математика - это синусы-логарифмы и дробные степени


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dimka76   HardFault на операциях с double   Sep 16 2010, 10:25
- - klen   на вскидку приходит мысль только о том что линкер ...   Sep 16 2010, 16:18
|- - AHTOXA   У меня на прошлой сборке (arm-2009q1-161-arm-none-...   Sep 16 2010, 17:02
|- - dimka76   Цитата(klen @ Sep 16 2010, 20:18) на вски...   Sep 17 2010, 05:03
|- - klen   а со стеком все впорядке,? плавющая запятая реали...   Sep 18 2010, 14:45
|- - dimka76   Цитата(klen @ Sep 18 2010, 18:45) а со ст...   Sep 20 2010, 05:29
|- - klen   Цитата(dimka76 @ Sep 20 2010, 09:29) Я во...   Sep 20 2010, 09:33
|- - dimka76   Цитата(klen @ Sep 20 2010, 13:33) дайте и...   Sep 20 2010, 09:42
- - _Pasha   Дима, в пылу предположений забыл спросить, нет ли ...   Sep 20 2010, 16:20
|- - dimka76   Цитата(_Pasha @ Sep 20 2010, 20:20) Дима,...   Sep 21 2010, 04:50
|- - IgorKossak   QUOTE (_Pasha @ Sep 20 2010, 19:20) Дима,...   Sep 21 2010, 07:00
|- - klen   глубина стека потребная для вызова вашей функции -...   Sep 21 2010, 11:38
|- - dimka76   Цитата(klen @ Sep 21 2010, 15:38) глубина...   Sep 21 2010, 12:08
||- - klen   на первый взгляд нет косяков, ошибка видимо смеш...   Sep 21 2010, 19:33
|- - dimka76   Цитата(klen @ Sep 21 2010, 15:38) глубина...   Sep 22 2010, 04:30
|- - klen   Цитата(dimka76 @ Sep 22 2010, 08:30) Вы н...   Sep 22 2010, 10:03
|- - dimka76   Цитата(klen @ Sep 22 2010, 14:03) проверя...   Sep 22 2010, 10:57
- - GetSmart   Разве под отладчиком нельзя найти место "свал...   Sep 22 2010, 04:28
|- - klen   -mcpu=cortex-m3 -mthumb это никак не могло сыграт...   Sep 24 2010, 12:45
||- - dimka76   Цитата(klen @ Sep 24 2010, 16:45) а вот -...   Sep 24 2010, 12:52
- - dimka76   Поэкспериментировав с ключиками линкера выяснил, ч...   Sep 25 2010, 03:47
- - klen   Цитата(dimka76 @ Sep 25 2010, 07:47) Поэк...   Sep 25 2010, 06:39
- - dimka76   Цитата(klen @ Sep 25 2010, 10:39) бред ка...   Sep 25 2010, 06:47


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

 


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


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