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

 
 
> ошибка компилятора mspgcc при использовании мат. ф-ий
_VoRoN_
сообщение Nov 7 2006, 07:24
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-07-06
Из: Россия, Краснодар
Пользователь №: 18 530



Проблема состоит в следующем:
возникла необходимость использования функции возведения в степень pow из стандартной библиотеки math.h. Однако при сборке проекта (проект называется PowerMeter), компилятор ругается:

msp430-gcc -mmcu=msp430x1101 -o PowerMeter.elf main.o -lm -L./lib
/cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: region text is full (PowerMeter.elf section .text)
/cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: section .vectors [0000ffe0 -> 0000ffff] overlaps section .text [0000fc00 -> 00010471]
/cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: PowerMeter.elf: section .vectors lma 0xffe0 overlaps previous sections
main.o: In function `preobraz':
/cygdrive/i/я77777710я77777761я77777765я77777756я77777744я77777755я77777750я77777752я7777775
0/MSP430/PowerMeter/main.c:30: undefined reference to `pow'
make: *** [PowerMeter.elf] Error 1

функция используется в след. виде:

void preobraz (void)
{
Uc=pow(count,5);
}

Если у кого-нибудь было подобное, подскажите плиз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jorikdima
сообщение Nov 7 2006, 11:24
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



undefined reference to значит не может найти соответствующую функцию. Инклуд не забыли???.
Go to the top of the page
 
+Quote Post
_VoRoN_
сообщение Nov 7 2006, 11:27
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-07-06
Из: Россия, Краснодар
Пользователь №: 18 530



Цитата(jorikdima @ Nov 7 2006, 14:24) *
undefined reference to значит не может найти соответствующую функцию. Инклуд не забыли???.


в том то идело, что не забыл

все как положенно

#include <math.h>

может ему еще чего надо? или найти чего не может?...
Go to the top of the page
 
+Quote Post
diwil
сообщение Nov 7 2006, 11:40
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(_VoRoN_ @ Nov 7 2006, 14:27) *
Цитата(jorikdima @ Nov 7 2006, 14:24) *

undefined reference to значит не может найти соответствующую функцию. Инклуд не забыли???.


в том то идело, что не забыл

все как положенно

#include <math.h>

может ему еще чего надо? или найти чего не может?...


.... хм....
или powf() или попробовать __ieee754_powf()
Go to the top of the page
 
+Quote Post
_VoRoN_
сообщение Nov 7 2006, 12:07
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-07-06
Из: Россия, Краснодар
Пользователь №: 18 530



Цитата(diwil @ Nov 7 2006, 14:40) *
.... хм....
или powf() или попробовать __ieee754_powf()


С powf() на 148-ом собралось!!! Но вот на 1101-ом не хочет, видимо действительно памяти не хватаетsad.gif
вычислить необходимо довольно сложное выражение:

x = E*e^(-t/tau),

именно для возведения e в степень (-t/tau) и требуется данная ф-ия. Как обойти ее и сохранить требуемую точность (0,5%)...просто ума не приложу.
Go to the top of the page
 
+Quote Post



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

 


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


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