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

 
 
> GCC ARM - не имплементируются функции SIN, COS, arm-none-eabi
__inline__
сообщение Oct 1 2017, 07:34
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Здравствуйте.

Скачал и поставил, затем ребутнул (для переменных окружения) GCC-тулчейн: gcc-arm-none-eabi-6-2017-q2-update-win32.exe

Затем написал программу тект ниже:

Код
#include <math.h>

float a=1.2F;
float b=3.21F;
float c=0.0F;

void main(void)
{
c=sin(a+b);
b=cos(a+c);
}


Построил бинарник и все необходимые файлы командами:
Код
arm-none-eabi-gcc -std=c99 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv4 -c fpu.c -o fpu.elf -lm
arm-none-eabi-objdump -D fpu.elf > fpu.asm
arm-none-eabi-objcopy -O binary fpu.elf fpu.bin


При просмотре листинга видно, что функции sin( ) и cos( ) НЕ ИМПЛЕМЕНТИРОВАЛИСЬ, вместо них стоит переход:
Код
18:    e3403000     movt    r3, #0
  1c:    edd37a00     vldr    s15, [r3]
  20:    ee777a27     vadd.f32    s15, s14, s15
  24:    eef70ae7     vcvt.f64.f32    d16, s15
  28:    eeb00b60     vmov.f64    d0, d16
  2c:    ebfffffe     bl    0 <sin> ----------------------------- !!! нет вызова
  30:    eef00b40     vmov.f64    d16, d0
  34:    eef77be0     vcvt.f32.f64    s15, d16
  38:    e3003000     movw    r3, #0
  3c:    e3403000     movt    r3, #0
  40:    edc37a00     vstr    s15, [r3]
  44:    e3003000     movw    r3, #0
  48:    e3403000     movt    r3, #0
  4c:    ed937a00     vldr    s14, [r3]
  50:    e3003000     movw    r3, #0
  54:    e3403000     movt    r3, #0
  58:    edd37a00     vldr    s15, [r3]
  5c:    ee777a27     vadd.f32    s15, s14, s15
  60:    eef70ae7     vcvt.f64.f32    d16, s15
  64:    eeb00b60     vmov.f64    d0, d16
  68:    ebfffffe     bl    0 <cos> ----------------------------- !!! нет вызова


Других тулчейнов нет, пробовал soft-fpu, ничего не меняется, функции из math.h не имплементируются вообще!

Залез в папки тулчейна, так там libm.a несколько штук:

...\GCCARM\arm-none-eabi\lib\libm.a
...\GCCARM\arm-none-eabi\lib\thumb\libm.a
...\GCCARM\arm-none-eabi\lib\thumb\v7-ar\libm.a
...\GCCARM\arm-none-eabi\lib\thumb\v7-ar\fpv3\hard\libm.a
...\GCCARM\arm-none-eabi\lib\hard\libm.a

У меня нет слов, одни эмоции (касаемо GCC тулчейна)!

Помогите плиз, нужен хардварный синус/косинус для ядра Cortex-A7, VFPv4 или NEON - для floating point, как решить проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
__inline__
сообщение Oct 3 2017, 01:29
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



С удовольствием девелопил бы и на Windows 98, но есть причины, по которым это сделать теперь невозможно:

1) старые компы все ушли в мир инной, а на новый 98-я не устанавливается, просто зависает в середине установки и всё
2) большинство дев-софта не поддерживает 98 винду.
3) геморой с USB-устройствами - на принтер и флешки производители не пишут драйверы.

Помню как плевался, когда переходил на XP - это была целая традегия! В то время комп был 800 МГц + XP Home edition со свистоперделками.
С появлением более мощных компов и XP Professional edition жить стало по-легче.

НО, в XP мне не нравится ограничение доступа к железу, для общения с портами надо писать VXD-драйвер или качать готовый.
Например - WinIO, позволяющий писать/читать в любой порт или участок памяти.
Это для связи разрабатываемого устройства с компом - COM- LPT- USB- порты.

Ну и порезать ХР сложнее чем 98 (отключение, удаление ненужного барахла).

А вообще, моё мнение, нормальная винда заканчивается на 98-й, всё что позже - уже почикана виртуальная машина DOS, многое уже просто в нём не сделаешь.
Я воспитан в духе традиций - экономить память и оптимизировать по скорости всё, но к сожалению, в ЭПОХУ ГОВНОКОДА, эти достоинства нивелировались и теперь осмеиваются.

Ну ещё вспомните 90е - 2000-е, когда господствовали AVR-ки с ПИК-ами, в то время НИКТО НЕ СМЕЛ думать о том, как бы впендюрить ОС в них.
А теперь почему-то считается, что разработка под Embeedded должна идти на ОС.
Эпоха Говнокода, одним словом...

Ну ещё вспомнил, что видел скрипт на Питоне, который мигает лампочками на Raspberry Pi. Это клиника скажу я вам.... !
В анальные закрома уходят Ассемблер и Си, зато привествуется Си Диез и скриптовые языки, ну никак не предназначенные для программирования контроллеров!
Довольно весело и тошно одновременно читать на гиктаймсе/хабре выкладки какого-нибудь "админа" с приаттаченным фрагментом говно-кода на питоне, который мигает лампочками на распберри пи sm.gif Ого! Зто он "ТРУЪ адмЫн" и "повелитель железа" теперь: - укротил контроллер на 1-2 ГГц и теперь ходит с распальцовкой...
По моему мнению, он просто рядовой говнокодер!

Я понимаю, что Raspberry Pi и прочие клоны, Оллвиннеры, ИМХы, Ситары - это Application Processors, но это восе не значит, что нельзя на них писать напрямую (bare metal)!

Ситуация меняется, когда производители этих Application Processor-ов СОЗНАТЕЛЬНО ПРЯЧУТ ту самую фундаментальную информацию для работы на low level :
- как происходит загрузка программ
- алгоритмы работы периферии
- таблица векторов прерываний
Просто на отшибись дают выгрузку регистров с их описанием.

И хорошо, что есть Linux, в исходниках которого можно много чего подчерпнуть и ликвидировать пробелы.
Но согласитесь, такой подход к "изучению" процессора - весьма нелёгок и неоптимален!

Про софт и палево:
Про стучание софтом, можно вообще убрать эти ваши интернеты, на машинах разработчика. Сделать отдельную машину с интернетами, изолированную от других.
Или фаервол с белым списком.

Сообщение отредактировал __inline__ - Oct 3 2017, 01:55
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- __inline__   GCC ARM - не имплементируются функции SIN, COS   Oct 1 2017, 07:34
- - scifi   Цитата(__inline__ @ Oct 1 2017, 10:34) Ск...   Oct 1 2017, 08:00
|- - __inline__   Цитата(scifi @ Oct 1 2017, 08:00) Попробу...   Oct 1 2017, 08:40
|- - scifi   Вот здесь разъясняют. Видимо, вам надо arm-eabihf,...   Oct 1 2017, 08:45
- - __inline__   тот тулчейн что я скачал в ридмишнике написано : ...   Oct 1 2017, 08:47
|- - scifi   Цитата(__inline__ @ Oct 1 2017, 11:47) Я ...   Oct 1 2017, 08:49
|- - __inline__   Цитата(scifi @ Oct 1 2017, 08:49) Здесь н...   Oct 1 2017, 08:57
|- - aaarrr   Цитата(__inline__ @ Oct 1 2017, 11:57) Ha...   Oct 1 2017, 09:06
|- - __inline__   Цитата(aaarrr @ Oct 1 2017, 09:06) Шок-аб...   Oct 1 2017, 09:18
|- - scifi   Цитата(__inline__ @ Oct 1 2017, 12:18) Су...   Oct 1 2017, 09:20
||- - __inline__   Цитата(scifi @ Oct 1 2017, 09:20) Хорошо,...   Oct 1 2017, 09:34
||- - scifi   Цитата(__inline__ @ Oct 1 2017, 12:34) По...   Oct 1 2017, 09:49
||- - __inline__   Цитата(scifi @ Oct 1 2017, 09:49) Короче,...   Oct 1 2017, 09:59
|- - mantech   Цитата(__inline__ @ Oct 1 2017, 12:18) Ме...   Oct 1 2017, 12:46
|- - __inline__   Цитата(mantech @ Oct 1 2017, 12:46) 1) То...   Oct 1 2017, 12:53
|- - HardEgor   Цитата(__inline__ @ Oct 1 2017, 19:53) Мн...   Oct 1 2017, 14:34
|- - _3m   Цитата(__inline__ @ Oct 1 2017, 15:53) 2)...   Oct 2 2017, 07:01
||- - __inline__   Цитата(_3m @ Oct 2 2017, 07:01) Попробуйт...   Oct 2 2017, 11:05
|- - scifi   Цитата(__inline__ @ Oct 1 2017, 15:53) Ве...   Oct 2 2017, 11:46
||- - demiurg_spb   Чтобы нормально разобраться в принципах работы gcc...   Oct 2 2017, 12:08
|- - Forger   Цитата(__inline__ @ Oct 1 2017, 15:53) ст...   Oct 2 2017, 13:36
|- - scifi   Цитата(Forger @ Oct 2 2017, 16:36) Короче...   Oct 2 2017, 14:02
|- - Forger   Цитата(scifi @ Oct 2 2017, 17:02) С точки...   Oct 2 2017, 15:25
|- - mantech   Цитата(Forger @ Oct 2 2017, 18:25) Прокур...   Oct 2 2017, 15:29
|- - Forger   Цитата(mantech @ Oct 2 2017, 18:29) В кон...   Oct 2 2017, 15:45
|- - jcxz   Цитата(Forger @ Oct 2 2017, 22:45) Контор...   Oct 2 2017, 17:35
||- - Forger   Цитата(jcxz @ Oct 2 2017, 20:35) Странная...   Oct 2 2017, 17:42
|- - mantech   Цитата(Forger @ Oct 2 2017, 18:45) ... ар...   Oct 2 2017, 19:44
- - scifi   Цитата(__inline__ @ Oct 1 2017, 11:57) Ку...   Oct 1 2017, 08:59
- - __inline__   Тут пишут https://habrahabr.ru/post/319736/ , что:...   Oct 1 2017, 09:11
- - scifi   Цитата(__inline__ @ Oct 1 2017, 10:34) По...   Oct 1 2017, 09:14
- - __inline__   скачал gcc-linaro-6.3.1-2017.05-i686_arm-eabi.tar....   Oct 1 2017, 09:49
|- - scifi   Цитата(__inline__ @ Oct 1 2017, 12:49) ск...   Oct 1 2017, 09:52
- - Genadi Zawidowski   А с каких пор в этих процессорах хардварный синус ...   Oct 1 2017, 10:00
|- - __inline__   Цитата(Genadi Zawidowski @ Oct 1 2017, 10...   Oct 1 2017, 10:03
|- - Genadi Zawidowski   Цитата(__inline__ @ Oct 1 2017, 13:03) За...   Oct 1 2017, 10:09
|- - __inline__   Цитата(Genadi Zawidowski @ Oct 1 2017, 10...   Oct 1 2017, 10:14
||- - scifi   Цитата(__inline__ @ Oct 1 2017, 13:14) Кс...   Oct 1 2017, 10:26
|- - __inline__   Цитата(Genadi Zawidowski @ Oct 1 2017, 10...   Oct 1 2017, 10:23
- - Genadi Zawidowski   мэйк у меня от Atmel-овского тулчейна есть... можн...   Oct 1 2017, 10:22
|- - __inline__   Цитата(Genadi Zawidowski @ Oct 1 2017, 10...   Oct 1 2017, 10:31
- - Genadi Zawidowski   ЦитатаЗатем написал программу тект ниже С хорошей ...   Oct 1 2017, 10:33
- - jcxz   Цитата(__inline__ @ Oct 1 2017, 14:34) Пр...   Oct 1 2017, 11:59
|- - __inline__   Цитата(jcxz @ Oct 1 2017, 11:59) Эмоции н...   Oct 1 2017, 12:42
|- - jcxz   Цитата(__inline__ @ Oct 1 2017, 19:42) Ну...   Oct 1 2017, 14:36
- - __inline__   Не переживайте! Освоение GCC в процессе! ...   Oct 2 2017, 12:23
- - __inline__   Поставил ARM DS-5 из дебрей интернета, так оказало...   Oct 2 2017, 14:20
|- - Forger   Цитата(__inline__ @ Oct 3 2017, 04:29) мо...   Oct 3 2017, 05:58
|- - HardEgor   Цитата(__inline__ @ Oct 3 2017, 08:29) С ...   Oct 3 2017, 06:30
|- - mantech   Цитата(__inline__ @ Oct 3 2017, 04:29) С ...   Oct 3 2017, 07:22
|- - Forger   Цитата(mantech @ Oct 3 2017, 10:22) В ход...   Oct 3 2017, 07:33
|- - mantech   Цитата(Forger @ Oct 3 2017, 10:33) Уверен...   Oct 3 2017, 08:13
|- - __inline__   Цитата(mantech @ Oct 3 2017, 08:13) Хихик...   Oct 3 2017, 08:21
|- - mantech   Цитата(__inline__ @ Oct 3 2017, 11:21) JA...   Oct 3 2017, 08:25
- - Эдди   Эти ваши си-диезы, го и прочий шлак до сих пор так...   Oct 3 2017, 07:52
|- - Forger   Цитата(Эдди @ Oct 3 2017, 10:52) Эти ваши...   Oct 3 2017, 08:01
||- - mantech   Цитата(Forger @ Oct 3 2017, 11:01) Ну-ну ...   Oct 3 2017, 08:16
||- - Forger   Цитата(mantech @ Oct 3 2017, 11:16) Писат...   Oct 3 2017, 08:23
||- - Эдди   Цитата(Forger @ Oct 3 2017, 11:23) Для ...   Oct 3 2017, 11:52
||- - __inline__   Цитата(Эдди @ Oct 3 2017, 11:52) Лучше са...   Oct 3 2017, 11:56
|- - __inline__   Цитата(Эдди @ Oct 3 2017, 07:52) Эти ваши...   Oct 3 2017, 08:14
- - __inline__   ЦитатаОднако, в настоящее время без интернета (вых...   Oct 3 2017, 08:00
|- - HardEgor   Цитата(__inline__ @ Oct 3 2017, 15:00) Ну...   Oct 3 2017, 09:15
- - one_eight_seven   ЦитатаПисателям игрушек для веба это сложно понять...   Oct 3 2017, 09:20
- - __inline__   ЦитатаЭто уровень мелких микроконтроллеров, на бол...   Oct 3 2017, 10:07
|- - HardEgor   Цитата(__inline__ @ Oct 3 2017, 17:07) Та...   Oct 3 2017, 10:37
||- - __inline__   Цитата(HardEgor @ Oct 3 2017, 10:37) Хе-х...   Oct 3 2017, 11:52
|- - _3m   Цитата(__inline__ @ Oct 3 2017, 13:07) Ну...   Oct 3 2017, 10:48
|- - __inline__   Цитата(_3m @ Oct 3 2017, 10:48) Легко...   Oct 3 2017, 10:52
- - one_eight_seven   ЦитатаЭто лишь ваше мнение, которое не является пр...   Oct 3 2017, 10:14
- - Obam   ЦитатаНу и как можно спалить чип неверной записью ...   Oct 3 2017, 11:01
|- - Forger   Цитата(Obam @ Oct 3 2017, 14:01) Ошибочно...   Oct 3 2017, 11:06
||- - __inline__   Цитата(Forger @ Oct 3 2017, 11:06) Если J...   Oct 3 2017, 11:10
|||- - Obam   Цитата(__inline__ @ Oct 3 2017, 15:10) ЕМ...   Oct 3 2017, 11:31
||- - Эдди   Цитата(Forger @ Oct 3 2017, 14:06) А вот ...   Oct 3 2017, 11:59
||- - Forger   Цитата(Эдди @ Oct 3 2017, 14:59) Это как?...   Oct 3 2017, 12:09
||- - __inline__   Цитата(Forger @ Oct 3 2017, 12:09) Вот уж...   Oct 3 2017, 12:20
||- - Forger   Цитата(__inline__ @ Oct 3 2017, 15:20) ка...   Oct 3 2017, 12:24
|- - Эдди   Цитата(Obam @ Oct 3 2017, 14:01) Ошибочно...   Oct 3 2017, 11:54
|- - __inline__   Цитата(Эдди @ Oct 3 2017, 11:54) Что за е...   Oct 3 2017, 12:03
|- - Эдди   Цитата(__inline__ @ Oct 3 2017, 15:03) Дл...   Oct 3 2017, 12:57
|- - Forger   Цитата(Эдди @ Oct 3 2017, 15:57) Что тако...   Oct 3 2017, 13:14
|- - jcxz   Цитата(Эдди @ Oct 3 2017, 19:57) А кроме ...   Oct 4 2017, 05:28
|- - Эдди   Цитата(jcxz @ Oct 4 2017, 08:28) Не надо ...   Oct 4 2017, 06:26
|- - Forger   Цитата(Эдди @ Oct 4 2017, 09:26) мерзопак...   Oct 4 2017, 06:41
|- - mantech   Цитата(Эдди @ Oct 4 2017, 09:26) мерзопак...   Oct 4 2017, 07:48
- - __inline__   Кстати, вот список процессов в WinXP от компа с ко...   Oct 3 2017, 12:30
|- - Forger   Цитата(__inline__ @ Oct 3 2017, 15:26) Об...   Oct 3 2017, 12:31
|- - mantech   Цитата(__inline__ @ Oct 3 2017, 15:30) Об...   Oct 3 2017, 16:44
- - __inline__   Уважаемые mantech и другие пользователи! Мне ...   Oct 4 2017, 01:40
|- - Эдди   Цитата(__inline__ @ Oct 4 2017, 04:40) Да...   Oct 4 2017, 05:15
- - Эдди   Эклипсой не пользуюсь. Что нужно, писал у себя в Ж...   Oct 4 2017, 08:07
|- - mantech   Цитата(Эдди @ Oct 4 2017, 11:07) И да, за...   Oct 4 2017, 08:35
- - Эдди   Не представляю себе, даже... Меня домашний компьют...   Oct 4 2017, 08:37
|- - mantech   Цитата(Эдди @ Oct 4 2017, 11:37) Не предс...   Oct 4 2017, 08:54
|- - Forger   Цитата(Эдди @ Oct 4 2017, 11:37) Не предс...   Oct 4 2017, 09:03
|- - mantech   Цитата(Forger @ Oct 4 2017, 12:03) Поэтом...   Oct 4 2017, 09:09
|- - Forger   Цитата(mantech @ Oct 4 2017, 12:09) Никог...   Oct 4 2017, 09:10
- - Эдди   ОК, все равно мне никогда психологию вендузятников...   Oct 4 2017, 09:03
2 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:41
Рейтинг@Mail.ru


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