Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: библиотеки математичесих функций для stm32F103
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Serj78
Подскажите, пожалуйста, есть ли в готовом виде сишные библиотеки математических функций для stm32F103?

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

Работаю с кейлом uVision3 ? там "в комплекте" такого не нашел..

Если кто сталкивался, подскажите, где их можно найти.

Всех с Наступающим! beer.gif
sonycman
И Вас с наступающим! santa2.gif

Хм, а какие функции интересуют?
Стандартные библиотечные (math.h) чем не устраивают?

У кейла есть ещё доп. хидер - rt_fp.h, можете в нём посмотреть.

ЗЫ: ярые электронщики даже в новый год прододжают "электронить" cheers.gif
Serj78
Нужно немного. Из тригонометрии- синусы, косинусы, тангенсы, арктангенсы.
Также экспонента, логарифм и корень квадратный, модуль.
Все для формата float, только abs для u16 и корень для u32

Вопрос в том, где в кейле есть этот math.h ?

Я его не нашел- наверно перед НГ невнимательно искал smile.gif
Вероятно, можно подключать библиотеки от других компиляторов, (есть от компилятора для AVR), но мне кажется, они вряд ли будут оптимальны.

Всех проснувшихся- с наступившим! tort.gif santa2.gif
aaarrr
Цитата(Serj78 @ Jan 1 2010, 11:41) *
Вопрос в том, где в кейле есть этот math.h ?

math.h - хидер стандартной C-библиотеки, поэтому за справкой о его содержании следует обратиться к стандарту ISO/IEC, а ограничения и расширения уточнить в документации на конкретный компилятор.
sonycman
Цитата(Serj78 @ Jan 1 2010, 12:41) *
Нужно немного. Из тригонометрии- синусы, косинусы, тангенсы, арктангенсы.
Также экспонента, логарифм и корень квадратный, модуль.
Все для формата float, только abs для u16 и корень для u32

Вопрос в том, где в кейле есть этот math.h ?

Всё это присутствует в math.h.

Хидеры кейла (четвёртая версия) находятся вот по этому пути: ...Keil\ARM\RV31\INC\
zltigo
Цитата(Serj78 @ Jan 1 2010, 11:41) *
Вероятно, можно подключать библиотеки от других компиляторов, (есть от компилятора для AVR), но мне кажется, они вряд ли будут оптимальны.

Ой! К ARM!? Вы сами-то поняли, что подумали?
Serj78
Цитата(sonycman @ Jan 1 2010, 12:31) *
Хидеры кейла (четвёртая версия) находятся вот по этому пути: ...Keil\ARM\RV31\INC\


Спасибо, буду искать и изучать...

2 zltigo:
Я исходил из того, что библиотеки написаны на С, и компилятор их "поймет", хотя и не пробовал.
если там ассемблерные вставки используются, тогда, конечно же нет.

Но то что некоторые функции не оптимальны по времени - это я знаю, некоторые приходилось переделывать- например корень реализован вычитанием нечетных чисел- просто, но очень долго...
zltigo
Цитата(Serj78 @ Jan 2 2010, 12:25) *
Я исходил из того, что библиотеки написаны на С, и компилятор их "поймет", хотя и не пробовал.
если там ассемблерные вставки используются, тогда, конечно же нет.

Библиотека, по определению, это уже совершенно конкретный готовый к употреблению бинарник созданный библиотекарем. До того, как стать библиотекой исходник знать не знает ведать не ведает, что из него сделают библиотеку. Приличные исходники библиотечных функций, как минимум пишутся даже на 'C' со знанием особенностей конкретных компиляторов, не говоря уже о контроллерах. Ну и само собой ASM для таких целей тоже используется. Для Вашего случая заморачиваться не надо - любой компилятор 'C' обязан иметь в своем составе реализацию описанных в стандарте библиотечных функций. Переплюнуть их достаточно сложно, разве только усекая функционал под свои конкретные нужды.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.