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

 
 
> Останавливается LPC2138, Проблемы при работе с плавающей точкой
vkle
сообщение Aug 19 2008, 14:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 31-08-07
Пользователь №: 30 191



Есть плата c lpc2138.

Все отлично работает до того момента как я начинаю пользоваться плавающей точкой.

Например
int z = 2;
float a = 10;
a = a;

Вызывает сброс контроллера.
Использую YAGARTO последний.

В чем может быть проблема?
Может что-то с библиотеками?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vkle
сообщение Aug 19 2008, 20:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 31-08-07
Пользователь №: 30 191



Все дальше парюсь...
Вобщем написал такой нехитрый код:
int main(){
float a = 10.2;
while(1){
a /= 2.0;
}
return 0;
}

Не использую никаких прерываний.
Если из мейкфайла (из компиляции) удаляю все остальные свои коды, то при входе в функцию деления __divsf3 вижу:
0x4d8 <__divsf3>: mov r12, #255 ; 0xff
0x4dc <__divsf3+4>: ands r2, r12, r0, lsr #23
0x4e0 <__divsf3+8>: andsne r3, r12, r1, lsr #23
0x4e4 <__divsf3+12>: teqne r2, r12
...
Если включаю в компиляцию написанные модули, но main не меняю и в main.c ничего не дописываю, то при входе в __divsf3 вижу шлак:
0x35b0 <__divsf3>: andeq r0, r0, r0
0x35b4 <__divsf3+4>: andeq r0, r0, r0
0x35b8 <__divsf3+8>: andeq r0, r0, r0
0x35bc <__divsf3+12>: andeq r0, r0, r0
0x35c0 <__divsf3+16>: andeq r0, r0, r0
...
Что это может быть?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vkle   Останавливается LPC2138   Aug 19 2008, 14:58
- - aaarrr   Стек проверьте, есть ли выравнивание по границе 2-...   Aug 19 2008, 14:59
- - vkle   А как это сделать? Я просто не специалист... Если...   Aug 19 2008, 15:07
|- - aaarrr   Цитата(vkle @ Aug 19 2008, 19:07) А как э...   Aug 19 2008, 15:12
- - vkle   В map файле стек находится вот так: .stack ...   Aug 19 2008, 15:16
|- - aaarrr   Цитата(vkle @ Aug 19 2008, 19:16) Фух, а ...   Aug 19 2008, 15:20
- - vkle   И в eclipse и в insight 12 регистров. Т.е. нужен и...   Aug 19 2008, 16:02
- - aaarrr   Значит у Вас с библиотекой что-то не так.   Aug 19 2008, 16:04
- - vkle   Вместо R13 - есть sp. Это наверняка stack pointer....   Aug 19 2008, 16:08
- - aaarrr   Дело не в "хорошести", а в том, что библ...   Aug 19 2008, 16:11
- - vkle   А как проверить прилинковалась или нет? В map файл...   Aug 19 2008, 16:25
- - aaarrr   Я, к сожалению, не пользуюсь YAGARTO.   Aug 19 2008, 16:30
- - vkle   А что советуете?   Aug 19 2008, 16:38
- - aaarrr   Вы имеете в виду, какой компилятор? Я давно пользу...   Aug 19 2008, 16:41
|- - Alex03   Цитата(vkle @ Aug 20 2008, 02:03) Если из...   Aug 20 2008, 03:10
- - vkle   Ну да, вываливается в пустую область памяти. При э...   Aug 20 2008, 06:09
- - vkle   Странно, но кажется, что поведение программы завис...   Aug 20 2008, 08:56


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

 


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


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