Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: свежак KGP win32/arm/avr/mips/m68k
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
klen
Цитата(demiurg_spb @ Sep 19 2016, 14:55) *
Решил попробовать Вашу сборку под винду.
Не находит либу: libc_nano.a

Вы по идеологическим причинам их не собираете?

Так невозможно сравнить Вашу сборку со сборками с ланчпада...

А вообще проект компилируется нормально, но не собирается.

уберите ключик или в спеках поправьте чтобы собиралось с libc - я не заметил разницы в нано и не в нано. во вторых проект не обновляется 2 года и наверно умер. что то, что это для меня одинаковый треш. я свою микрореализацию libc . как допишу свой libm то сам буду только ее использовать и будут изготавливаться две сборки с одной версией компиллероа.

может я не там newlibc-nano исходники смотрю.. дайте урл на дерево исходников, попробую собрать сборку с такой версией либы.
demiurg_spb
Цитата(klen @ Sep 19 2016, 16:39) *
уберите ключик или в спеках поправьте чтобы собиралось с libc
И таки да. Разница ощутима (nano компактнее).

Цитата
I can confirm you that newlib-nano is now integrated in the main newlib source tree.
Building newlib-nano is now a matter of specifying the right configure option.

Так что уже несколько лет как newlib-nano включена в newlib.
И я уверен, что она достойна чтобы её собирать по умолчанию и в вашей сборке.
https://tracker.debian.org/media/packages/n...40818.1a8323b-2


Из readme.txt сборки с ланчпада.
Цитата
This toolchain is released with two prebuilt C libraries based on newlib:
one is the standard newlib and the other is newlib-nano for code size.
To distinguish them, we rename the size optimized libraries as:

libc.a --> libc_s.a
libg.a --> libg_s.a

To use newlib-nano, users should provide additional gcc compile and link time
option:
--specs=nano.specs

At compile time, a 'newlib.h' header file especially configured for newlib-nano
will be used if --specs=nano.specs is passed to the compiler.

Nano.specs also handles two additional gcc libraries: libstdc++_s.a and
libsupc++_s.a, which are optimized for code size.

For example:
$ arm-none-eabi-gcc src.c --specs=nano.specs $(OTHER_OPTIONS)

Также встречал на просторах тырнета и реентерабельную версию.
Вам, как мне кажется, обязательно стоит комитить свои патчи в основную ветку, а то вы сами по себе варитесь, ребята сами.
Не продуктивно ИМХО.
klen
>И таки да. Разница ощутима (nano компактнее).
уверяю Вас что если я соберу с оптимизацией не по скорости а по размеру - НЕнано может оказаться меньше...
Вам размер кода важен? для такого случая собираю редко с ключами -Os и соответсвующими дефайлами всю сборку.


собрал с дерева newlib nano 2.1.0
https://github.com/32bitmicro/newlib-nano-2
win64:
http://electronix.ru/redirect.php?http://k...LUS.7z.tar.lzma
demiurg_spb
Цитата(klen @ Sep 19 2016, 18:00) *
уверяю Вас что если я соберу с оптимизацией не по скорости а по размеру - НЕнано может оказаться меньше...
Вам размер кода важен? для такого случая собираю редко с ключами -Os и соответсвующими дефайлами всю сборку.
Надо попробовать. Для меня важен размер прошивки. Скорости хватает.
То, что я пробовал на сборках с ланчпада - нано всегда значительно была компактней.

Вы наверное не совсем то собрали, как мне кажется - там три года как тишина уже.

newlib-nano-2 забекпортили в проект newlib. И теперь он живёт там. А чтобы его собрать нужно просто сконфигурить newlib соответствующим образом.


На Вашей сборке с нано получаю:
Код
In file included from z:\gcc\arm-gcc-none-eabi\arm-kgp-eabi\include\stdlib.h:11:0,
                 from ./../../../libs/unilib/c/protos/modbus/modbus_buffer.c:1:
z:\gcc\arm-gcc-none-eabi\arm-kgp-eabi\include\_ansi.h:16:24: fatal error: sys/config.h: No such file or directory
#include <sys/config.h>
                        ^
compilation terminated.
klen

>>>newlib-nano-2 забекпортили в проект newlib. И теперь он живёт там. А чтобы его собрать нужно просто сконфигурить
ну да.. разобрался, надо сконфигурить и собрать. в следующий раз сделаю.
klen
свежак arm linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20161015_PRUNUS.7z

arm win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20161015_PRUNUS.7z

сообщение отредактировано.
в связи с обнаруженем косяка файоы удалены и ссылки мертвы.
смотрите ниже. выложены обновленные сборки этой версии.
Genadi Zawidowski
Свежак со старыми проблемами...

Цитата
C:\user\arm-kgp-eabi_@_x86_64-kgp-mingw32_20161015_PRUNUS\bin\arm-kgp-eabi-gcc bandfilters.o board.o usbd.o usbd_desc.o sequen.o elkey.o encoder.o serial.o hardware.o hd44780.o display.o display2.o keyboard.o keymaps.o nvram.o spifuncs.o formats.o
synthcalcs.o filters.o pcf8535.o uc1608.o uc1601s.o lph88.o ls020.o l2f50.o s1d13781.o ILI9320.o ili9225.o st7735.o st7565s.o graphltdc.o sdram.o ili8961.o twi.o pio.o tlv320aic23.o cs4272.o nau8822.o wm8731.o hardwarecodecs.o buffers.o audio.o spis
lave.o modems.o sdcard.o ff.o ccsbcs.o tc1.o tests.o -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -flto -Ofast -nostartfiles -T./STM32F746
ZG_rom.ld -Wl,-Map=tc1_stm32f746zg_rom.map,--cref,--no-warn-mismatch -L../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Lib/GCC -lm -o tc1_stm32f746zg_rom.elf
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `fir_design_lowpass':
<artificial>:(.text.fir_design_lowpass+0x66): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass+0x84): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass+0xa2): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass+0xc8): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass+0xe0): undefined reference to `sinf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o:<artificial>:(.text.fir_design_lowpass+0x102): more undefined references to `sinf' follow
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `fir_design_lowpass':
<artificial>:(.text.fir_design_lowpass+0x150): undefined reference to `memset'
<artificial>:(.text.fir_design_lowpass+0x1c8): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass+0x1d4): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass+0x1e0): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass+0x1ea): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass+0x1fa): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o:<artificial>:(.text.fir_design_lowpass+0x20a): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `dir_alloc':
<artificial>:(.text.dir_alloc+0x12c): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `sync_fs.lto_priv.212':
<artificial>:(.text.sync_fs.lto_priv.212+0x3c): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `trxparam_update.lto_priv.565':
<artificial>:(.text.trxparam_update.lto_priv.565+0x4c): undefined reference to `powf'
<artificial>:(.text.trxparam_update.lto_priv.565+0xde): undefined reference to `powf'
<artificial>:(.text.trxparam_update.lto_priv.565+0x110): undefined reference to `powf'
<artificial>:(.text.trxparam_update.lto_priv.565+0x140): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `audio_update.lto_priv.564':
<artificial>:(.text.audio_update.lto_priv.564+0x4ae): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.564+0x5fe): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.564+0x73e): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.564+0x74a): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.564+0x766): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.564+0x772): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.564+0x796): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.564+0x7a2): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.564+0x7ca): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.564+0x7d6): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `DMA1_Stream4_IRQHandler':
<artificial>:(.text.DMA1_Stream4_IRQHandler+0x100): undefined reference to `memset'
<artificial>:(.text.DMA1_Stream4_IRQHandler+0x10e): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `processafadcsampleiq.isra.8':
<artificial>:(.text.processafadcsampleiq.isra.8+0x360): undefined reference to `log10f'
<artificial>:(.text.processafadcsampleiq.isra.8+0x434): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `dsp_extbuffer32rx':
<artificial>:(.text.dsp_extbuffer32rx+0x7e2): undefined reference to `atan2f'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans1.ltrans.o: In function `wave_startrecording.lto_priv.221':
<artificial>:(.text.wave_startrecording.lto_priv.221+0x794): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.221+0x136e): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.221+0x14e6): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans0.ltrans.o: In function `display_siglevel7.lto_priv.297':
<artificial>:(.text.display_siglevel7.lto_priv.297+0x36): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans0.ltrans.o: In function `OTG_FS_IRQHandler':
<artificial>:(.text.OTG_FS_IRQHandler+0xfde): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans0.ltrans.o: In function `ResetException.lto_priv.432':
<artificial>:(.text.ResetException.lto_priv.432+0x318): undefined reference to `memcpy'
<artificial>:(.text.ResetException.lto_priv.432+0x322): undefined reference to `memset'
<artificial>:(.text.ResetException.lto_priv.432+0x247a): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans2.ltrans.o: In function `smanswer':
<artificial>:(.text.smanswer+0x26): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans2.ltrans.o: In function `display_bars':
<artificial>:(.text.display_bars+0x48): undefined reference to `log10f'
<artificial>:(.text.display_bars+0x60): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans3.ltrans.o: In function `single_rate_out_write_mcv.constprop.178':
<artificial>:(.text.single_rate_out_write_mcv.constprop.178+0x16): undefined reference to `memset'
<artificial>:(.text.single_rate_out_write_mcv.constprop.178+0x24): undefined reference to `memcpy'
<artificial>:(.text.single_rate_out_write_mcv.constprop.178+0x30): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans3.ltrans.o: In function `fir_design_bandpass_freq.constprop.159':
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x52): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x5e): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x7e): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x8a): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0xac): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0xb8): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0xdc): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0xe8): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x12c): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x13a): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x148): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x174): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans3.ltrans.o:<artificial>:(.text.fir_design_bandpass_freq.constprop.159+0x180): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans3.ltrans.o: In function `agc_forvard_float.isra.10.constprop.4':
<artificial>:(.text.agc_forvard_float.isra.10.constprop.4+0x86): undefined reference to `log10f'
<artificial>:(.text.agc_forvard_float.isra.10.constprop.4+0x170): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\ccjjKF9o.ltrans3.ltrans.o: In function `updateboard.isra.35.lto_priv.361':
<artificial>:(.text.updateboard.isra.35.lto_priv.361+0x8c4): undefined reference to `memcmp'
<artificial>:(.text.updateboard.isra.35.lto_priv.361+0x12b6): undefined reference to `memset'
collect2.exe: error: ld returned 1 exit status
make.exe: *** [tc1_stm32f746zg_rom.elf] Error 1
NMAKE : fatal error U1077: 'make.exe' : return code '0x2'



На Cortex-A9 аналогично, старые проблемы с обвалом компилятора:

Цитата
../usbd.c: In function 'usbd_handler_nrdy':
../usbd.c:2139:15: warning: variable 'pid' set but not used [-Wunused-but-set-variable]
uint_fast8_t pid;
^~~
../usbd.c: In function 'usbd_handler_brdy8_dcp_out':
../usbd.c:2212:11: warning: unused variable 'count' [-Wunused-variable]
unsigned count = usbd_read_data(pipe, ep0databuffout, sizeof ep0databuffout / sizeof ep0databuffout [0]);
^~~~~
../usbd.c: In function 'usbdFunctionReq_seq3':
../usbd.c:2708:23: warning: unused variable 'terminalID' [-Wunused-variable]
const uint_fast8_t terminalID = HI_BYTE(ReqIndex);
^~~~~~~~~~
../usbd.c: In function 'r7s721_usbi0':
../usbd.c:3493:22: warning: unused variable 'intsts1' [-Wunused-variable]
const uint_fast16_t intsts1 = USB200.INTSTS1;
^~~~~~~
../usbd.c: At top level:
../usbd.c:456:27: warning: 'USBD_DeInit' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev);
^~~~~~~~~~~
../usbd.c:457:27: warning: 'USBD_Start' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev);
^~~~~~~~~~
../usbd.c:458:27: warning: 'USBD_RegisterClass' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev,const USBD_ClassTypeDef *pclass);
^~~~~~~~~~~~~~~~~~
../usbd.c:460:27: warning: 'USBD_RunTestMode' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev);
^~~~~~~~~~~~~~~~
../usbd.c:461:27: warning: 'USBD_SetClassConfig' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx);
^~~~~~~~~~~~~~~~~~~
../usbd.c:462:27: warning: 'USBD_ClrClassConfig' declared 'static' but never defined [-Wunused-function]
static USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx);
^~~~~~~~~~~~~~~~~~~
../usbd.c:533:14: warning: 'configure_device' declared 'static' but never defined [-Wunused-function]
static void configure_device(void);
^~~~~~~~~~~~~~~~
../usbd.c:534:14: warning: 'unconfigure_device' declared 'static' but never defined [-Wunused-function]
static void unconfigure_device(void);
^~~~~~~~~~~~~~~~~~
../usbd.c:535:14: warning: 'single_transmit' declared 'static' but never defined [-Wunused-function]
static void single_transmit(uint8_t * buf, uint8_t len);
^~~~~~~~~~~~~~~
../usbd.c:538:14: warning: 'toLittleEndian' declared 'static' but never defined [-Wunused-function]
static void toLittleEndian( uint32_t value, uint8_t * pDestin );
^~~~~~~~~~~~~~
../usbd.c:3056:30: warning: 'gSetup' defined but not used [-Wunused-variable]
static ALIGNX_BEGIN uint32_t gSetup [12] ALIGNX_END; /*!< Setup packet buffer */
^~~~~~
../usbd.c:1959:13: warning: 'nak_ep0' defined but not used [-Wunused-function]
static void nak_ep0(void)
^~~~~~~
../usbd.c:1653:13: warning: 'set_transaction_counter' defined but not used [-Wunused-function]
static void set_transaction_counter(uint_fast8_t pipe, uint_fast32_t size)
^~~~~~~~~~~~~~~~~~~~~~~
../usbd.c:413:27: warning: 'hUsbDevice' defined but not used [-Wunused-variable]
static USBD_HandleTypeDef hUsbDevice;
^~~~~~~~~~
../usbd.c:411:26: warning: 'hpcd_USB_OTG' defined but not used [-Wunused-variable]
static PCD_HandleTypeDef hpcd_USB_OTG;
^~~~~~~~~~~~
../usbd.c:75:22: warning: 'ulmax16' defined but not used [-Wunused-function]
static uint_fast16_t ulmax16(uint_fast16_t a, uint_fast16_t cool.gif
^~~~~~~
../usbd.c:65:16: warning: 'cdcbuffinlevel' defined but not used [-Wunused-variable]
static uint8_t cdcbuffinlevel;
^~~~~~~~~~~~~~
../usbd.c:64:29: warning: 'cdcbuffin' defined but not used [-Wunused-variable]
static ALIGNX_BEGIN uint8_t cdcbuffin [VIRTUAL_COM_PORT_DATA_SIZE] ALIGNX_END;
^~~~~~~~~
../usbd.c:63:29: warning: 'cdcoutbuff' defined but not used [-Wunused-variable]
static ALIGNX_BEGIN uint8_t cdcoutbuff [VIRTUAL_COM_PORT_DATA_SIZE] ALIGNX_END;
^~~~~~~~~~
../usbd.c:61:29: warning: 'uacoutbuff' defined but not used [-Wunused-variable]
static ALIGNX_BEGIN uint8_t uacoutbuff [VIRTUAL_AUDIO_PORT_DATA_SIZE_OUT] ALIGNX_END;
^~~~~~~~~~
../usbd.c:59:22: warning: 'uacinsize' defined but not used [-Wunused-variable]
static uint_fast16_t uacinsize = 0;
^~~~~~~~~
../usbd.c:58:22: warning: 'uacinaddr' defined but not used [-Wunused-variable]
static uint_fast32_t uacinaddr = 0;
^~~~~~~~~
../usbd.c: In function 'usb0_function_SetDescriptor':
../usbd.c:2480:13: internal compiler error: tree check: expected ssa_name, have integer_cst in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:211
static void usb0_function_SetDescriptor(uint_fast8_t ReqTypeRecip, uint_fast16_t ReqValue, uint_fast16_t ReqIndex, uint_fast16_t ReqLength)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make.exe: *** [usbd.o] Error 1
klen
Цитата(Genadi Zawidowski @ Oct 16 2016, 00:16) *
Свежак со старыми проблемами...


пересадил музыкантов местами .. первая проблема должна уйти. проверьте плиз.
arm linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20161016_PRUNUS.7z

arm win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20161016_PRUNUS.7z

про вторую проблему надо вспомнить что я делал в прошный раз.... где то что то "отверткой подкрутил"
Genadi Zawidowski
А чего эти "подкручивания" в виде патчей не сдалать?
ps: пока не проверить...
Genadi Zawidowski
Тестирую win64 версию для Cortex-M7:
Работает в железе.
klen
и как в сравнении с ланчпадовским?
скорость размер...
Genadi Zawidowski
Скорость с STM32F7xx слегка ниже или такая же.
У меня не очень подтверждённое "ошушение", что что-то сломалось в оптимизации для M4.fp - старые платы на STM32F429 перестали работать из-за нехватки ресурсов. Но это на всех компиляторах.
Сейчас на столе стоит аппарат с CortexA9, подправил проект чтобы при включении опции -mfpu=neon в обработчике прерываний сохранялся расширенный набор регистров плавающей точки - но похоже, в fir фильтрах сейчас -ftree-vectorize ничего не находит такого что можно было бы утоптать. Это всё на ланчпадововской версии (кстати, они на arm.com переезжают).
Ещё, заметил - если гонять на STM32F767 бинарник для STM32F746, скорость выше на 10%. Если указать правильный тип сопроцессора (но использовать single fp) - ещё выше. Правильно поставленные wait states на флэш (у 767 на один такт меньше чем в 746) почти не заметно в моих тестах.
klen

свежак
linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20161119_RIBES.7z

win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20161119_RIBES.7z


2_Genadi Zawidowski
Здравствуйте Геннадий!
Ваш волшебный исходник нужно использовать в виде теста sm.gif
данная сборка его пережевывет но только не с -Ofast и -O3:

wine /opt/home/cross/x86_64-kgp-mingw32/arm-kgp-eabi/arm-kgp-eabi/bin/arm-kgp-eabi-gcc -c -mcpu=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstrict-prototypes -DNDEBUG=1 -DCPUSTYLE_R7S721=1 -DCPUSTYLE_R7S721020=1 -MD -MP -MF -c usbd.c -o usbd.o -Os
../usbd.c: В функции «usbd_handler_nrdy»:
../usbd.c:2112:28: предупреждение: неиспользуемая переменная «PIPEnCTR» [-Wunused-variable]
../usbd.c: В функции «usbd_handler_brdy8_dcp_out»:
../usbd.c:2142:11: предупреждение: неиспользуемая переменная «count» [-Wunused-variable]
../usbd.c: В функции «usbdFunctionReq_seq3»:
../usbd.c:2638:23: предупреждение: неиспользуемая переменная «terminalID» [-Wunused-variable]
../usbd.c: В функции «r7s721_usbi0»:
../usbd.c:3423:22: предупреждение: неиспользуемая переменная «intsts1» [-Wunused-variable]
../usbd.c: На верхнем уровне:
../usbd.c:445:27: предупреждение: «USBD_DeInit» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:446:27: предупреждение: «USBD_Start» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:447:27: предупреждение: «USBD_RegisterClass» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:449:27: предупреждение: «USBD_RunTestMode» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:450:27: предупреждение: «USBD_SetClassConfig» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:451:27: предупреждение: «USBD_ClrClassConfig» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:522:13: предупреждение: «configure_device» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:523:13: предупреждение: «unconfigure_device» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:524:13: предупреждение: «single_transmit» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:527:13: предупреждение: «toLittleEndian» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:2986:47: предупреждение: «gSetup» defined but not used [-Wunused-variable]
../usbd.c:1943:13: предупреждение: «nak_ep0» defined but not used [-Wunused-function]
../usbd.c:1640:13: предупреждение: «set_transaction_counter» defined but not used [-Wunused-function]
../usbd.c:402:27: предупреждение: «hUsbDevice» defined but not used [-Wunused-variable]
../usbd.c:400:26: предупреждение: «hpcd_USB_OTG» defined but not used [-Wunused-variable]
../usbd.c:75:22: предупреждение: «ulmax16» defined but not used [-Wunused-function]
../usbd.c:64:16: предупреждение: «cdcbuffinlevel» defined but not used [-Wunused-variable]
../usbd.c:63:46: предупреждение: «cdcbuffin» defined but not used [-Wunused-variable]
../usbd.c:62:46: предупреждение: «cdcoutbuff» defined but not used [-Wunused-variable]
../usbd.c:60:46: предупреждение: «uacoutbuff» defined but not used [-Wunused-variable]
../usbd.c:58:22: предупреждение: «uacinaddr» defined but not used [-Wunused-variable]
klen@ubuntu:/tmp$ arm-kgp-eabi-gcc -c -mcpu=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstrict-prototypes -DNDEBUG=1 -DCPUSTYLE_R7S721=1 -DCPUSTYLE_R7S721020=1 -MD -MP -MF -c usbd.c -o usbd.o -Os
../usbd.c: В функции «usbd_handler_nrdy»:
../usbd.c:2112:28: предупреждение: неиспользуемая переменная «PIPEnCTR» [-Wunused-variable]
../usbd.c: В функции «usbd_handler_brdy8_dcp_out»:
../usbd.c:2142:11: предупреждение: неиспользуемая переменная «count» [-Wunused-variable]
../usbd.c: В функции «usbdFunctionReq_seq3»:
../usbd.c:2638:23: предупреждение: неиспользуемая переменная «terminalID» [-Wunused-variable]
../usbd.c: В функции «r7s721_usbi0»:
../usbd.c:3423:22: предупреждение: неиспользуемая переменная «intsts1» [-Wunused-variable]
../usbd.c: На верхнем уровне:
../usbd.c:445:27: предупреждение: «USBD_DeInit» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:446:27: предупреждение: «USBD_Start» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:447:27: предупреждение: «USBD_RegisterClass» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:449:27: предупреждение: «USBD_RunTestMode» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:450:27: предупреждение: «USBD_SetClassConfig» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:451:27: предупреждение: «USBD_ClrClassConfig» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:522:13: предупреждение: «configure_device» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:523:13: предупреждение: «unconfigure_device» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:524:13: предупреждение: «single_transmit» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:527:13: предупреждение: «toLittleEndian» объявлена «static», но нигде не определена [-Wunused-function]
../usbd.c:2986:47: предупреждение: «gSetup» defined but not used [-Wunused-variable]
../usbd.c:1943:13: предупреждение: «nak_ep0» defined but not used [-Wunused-function]
../usbd.c:1640:13: предупреждение: «set_transaction_counter» defined but not used [-Wunused-function]
../usbd.c:402:27: предупреждение: «hUsbDevice» defined but not used [-Wunused-variable]
../usbd.c:400:26: предупреждение: «hpcd_USB_OTG» defined but not used [-Wunused-variable]
../usbd.c:75:22: предупреждение: «ulmax16» defined but not used [-Wunused-function]
../usbd.c:64:16: предупреждение: «cdcbuffinlevel» defined but not used [-Wunused-variable]
../usbd.c:63:46: предупреждение: «cdcbuffin» defined but not used [-Wunused-variable]
../usbd.c:62:46: предупреждение: «cdcoutbuff» defined but not used [-Wunused-variable]
../usbd.c:60:46: предупреждение: «uacoutbuff» defined but not used [-Wunused-variable]
../usbd.c:58:22: предупреждение: «uacinaddr» defined but not used [-Wunused-variable]

компиляется.
klen
свежак arm

host win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20161204_HELIANTHUS.7z

host linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20161204_HELIANTHUS.7z
Terminator
Вернулся к относительно старому проекту. "свежаками" не собирается.
Код
/tmp/ccby68ut.s: Assembler messages:
/tmp/ccby68ut.s:3065: Error: offset out of range
lto-wrapper: fatal error: /opt/arm-kgp-eabi/bin/arm-kgp-eabi-g++ returned 1 exit status
compilation terminated.
/opt/arm-kgp-eabi_20161204/bin/../lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/bin/ld: error: lto-wrapper failed

Это загрузчик, без lto не влезал в заданный размер.
Раньше собирался каким-то из вариантов bleeding-edge.

"Отматывал" скачанные "свежаки", собрался только "<< HYPERICUM >> 6.0.0 20151208".
Genadi Zawidowski
На новом homepage проекта GNU ARM Embedded Toolchain с 21 декабря выложена версия 6-2016-q4-major https://developer.arm.com/open-source/gnu-t...nu-rm/downloads

Мои проекты работают.
klen
сборка из релизного кода 6.3.0

www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_6.3.0_BOTRYCHIUM.7z

2_Genadi Zawidowski
usb.i перемалывает с lto.
Genadi Zawidowski
Цитата(klen @ Jan 8 2017, 23:44) *
сборка из релизного кода 6.3.0

www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_6.3.0_BOTRYCHIUM.7z

2_Genadi Zawidowski
usb.i перемалывает с lto.


Здорово, но у меня винды рабочим инструментом.
Terminator
Цитата(klen @ Jan 9 2017, 03:44) *
сборка из релизного кода 6.3.0

www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_6.3.0_BOTRYCHIUM.7z

Попробовал собрать свой загрузчик. Без lto собирает, но не влазит (и результат заметно толще чем от "свежака" 20151209), а с lto не хочет:
Код
/tmp/ccnVfbCz.ltrans2.ltrans.o: In function `realloc':
<artificial>:(.text+0xcae): undefined reference to `memcpy'
/tmp/ccnVfbCz.ltrans2.ltrans.o: In function `prvCopyDataFromQueue.lto_priv.178':
<artificial>:(.text+0x548): undefined reference to `memcpy'
/tmp/ccnVfbCz.ltrans4.ltrans.o: In function `ResetISR':
<artificial>:(.isr_vector.ResetISR+0xea): undefined reference to `memset'
/tmp/ccnVfbCz.ltrans3.ltrans.o: In function `prvCopyDataToQueue.constprop.106':
<artificial>:(.text+0x88): undefined reference to `memcpy'
/tmp/ccnVfbCz.ltrans3.ltrans.o: In function `Lpc1768FlashUpdate::FrmCompare(unsigned int, void*, unsigned int)':
<artificial>:(.text+0x1e0): undefined reference to `memcmp'
/tmp/ccnVfbCz.ltrans6.ltrans.o: In function `MemoryUpdate::FrmCompare(unsigned int, void*, unsigned int)':
<artificial>:(.text+0x164): undefined reference to `memcmp'
/opt/arm-kgp-linux-6.3.0/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m3/libgcc.a(_aeabi_uldivmod.o): In function `__aeabi_uldivmod':
(.text+0x20): undefined reference to `__udivmoddi4'
collect2: error: ld returned 1 exit status
klen
сборка 6.3.0 для масдая64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20170110_BOTRYCHIUM.7z

2_Terminator
забавно...
__udivmoddi4 лежит в libgcc.a

LTO оптимизатор действительно чудит. и много где.
пилят его непрерывно...
Genadi Zawidowski
Все проекты с LTO, старые каталоги прочищены.

Cortex-A9 (грабли старого типа):
Цитата
--------------------Configuration: tc1msvc - Win32 r7s721020--------------------
Microsoft ® Program Maintenance Utility Version 6.00.8168.0
Copyright © Microsoft Corp 1988-1998. All rights reserved.
cd .\r7s721020
make.exe -f .\Makefile all
The system cannot find the path specified.
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=neon -ftree-vectorize -funsafe-math-optimizations -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto
-gdwarf-2 -fomit-frame-pointer -Wall -Wstrict-prototypes -DNDEBUG=1 -DCPUSTYLE_R7S721=1 -DCPUSTYLE_R7S721020=1 -MD -MP -MF ./dep/hardware.o.d -I../ -I../rza1x_inc ../hardware.c -o hardware.o
../hardware.c: In function 'hardware_get_random':
../hardware.c:4446:3: warning: #warning RNG not exist [-Wcpp]
#warning RNG not exist
^~~~~~~
../hardware.c: In function 'cpu_initialize':
../hardware.c:7734:90: warning: unused variable '__stack' [-Wunused-variable]
extern unsigned long __etext, __bss_start__, __bss_end__, __data_end__, __data_start__, __stack;
^~~~~~~
../hardware.c:7734:23: warning: unused variable '__etext' [-Wunused-variable]
extern unsigned long __etext, __bss_start__, __bss_end__, __data_end__, __data_start__, __stack;
^~~~~~~
At top level:
../hardware.c:6804:13: warning: 'CP15_disableMMU' defined but not used [-Wunused-function]
static void CP15_disableMMU(void)
^~~~~~~~~~~~~~~
../hardware.c:1947:22: warning: 'ulmax' defined but not used [-Wunused-function]
static unsigned long ulmax(
^~~~~
../hardware.c:1940:22: warning: 'ulmin' defined but not used [-Wunused-function]
static unsigned long ulmin(
^~~~~
../hardware.c:1378:17: warning: 'hw_get_cpsr' defined but not used [-Wunused-function]
static unsigned hw_get_cpsr(void)
^~~~~~~~~~~
../hardware.c:933:13: warning: 'spool_elkeyinputsbundle' defined but not used [-Wunused-function]
static void spool_elkeyinputsbundle(void)
^~~~~~~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc crt_r7s721.o bandfilters.o board.o usbd.o usbd_desc.o sequen.o elkey.o encoder.o serial.o hardware.o hardware_r7s721.o hd44780.o display.o display2.o keyboard.o keymaps.o nvram.o spifuncs.o formats.o synthcalcs.o fi
lters.o pcf8535.o uc1608.o uc1601s.o lph88.o ls020.o l2f50.o s1d13781.o ILI9320.o ili9225.o st7735.o st7565s.o graphltdc.o sdram.o ili8961.o twi.o pio.o tlv320aic23.o cs4272.o nau8822.o wm8994.o hardwarecodecs.o buffers.o audio.o spislave.o modems.o
sdcard.o ff.o ccsbcs.o tc1.o tests.o -mcpu=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=neon -ftree-vectorize -funsafe-math-optimizations -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -flto -Ofas
t -nostartfiles -T./r7s721020_spi.ld -Wl,-Map=tc1_r7s721020_rom.map,--cref,--no-warn-mismatch -lm -o tc1_r7s721020_rom.elf
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans1.ltrans.o: In function `hamradio_initialize.lto_priv.355':
<artificial>:(.text.hamradio_initialize.lto_priv.355+0xddc): undefined reference to `logf'
<artificial>:(.text.hamradio_initialize.lto_priv.355+0xeac): undefined reference to `logf'
<artificial>:(.text.hamradio_initialize.lto_priv.355+0xf98): undefined reference to `logf'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans2.ltrans.o: In function `updateboard.isra.37.lto_priv.357':
<artificial>:(.text.updateboard.isra.37.lto_priv.357+0xc28): undefined reference to `memcmp'
<artificial>:(.text.updateboard.isra.37.lto_priv.357+0x18b0): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans4.ltrans.o: In function `dsp_extbuffer32rx':
<artificial>:(.text.dsp_extbuffer32rx+0x708): undefined reference to `atan2'
<artificial>:(.text.dsp_extbuffer32rx+0x17d0): undefined reference to `log'
<artificial>:(.text.dsp_extbuffer32rx+0x186c): undefined reference to `pow'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans6.ltrans.o: In function `wave_startrecording.lto_priv.230':
<artificial>:(.text.wave_startrecording.lto_priv.230+0xa98): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.230+0x15c8): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.230+0x1bbc): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans7.ltrans.o: In function `r7s721_usbi0.lto_priv.436':
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xcd4): undefined reference to `usbd_cdc_tx'
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xd2c): undefined reference to `usbd_cdc_tx'
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xf50): undefined reference to `usbd_cdc_tx'
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xf70): undefined reference to `usbd_cdc_tx'
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xf90): undefined reference to `usbd_cdc_tx'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans7.ltrans.o:<artificial>:(.text.r7s721_usbi0.lto_priv.436+0xfb0): more undefined references to `usbd_cdc_tx' follow
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans7.ltrans.o: In function `r7s721_usbi0.lto_priv.436':
<artificial>:(.text.r7s721_usbi0.lto_priv.436+0x1174): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans8.ltrans.o: In function `single_rate_out_write_mcv.constprop.174':
<artificial>:(.text.single_rate_out_write_mcv.constprop.174+0x30): undefined reference to `memcpy'
<artificial>:(.text.single_rate_out_write_mcv.constprop.174+0x40): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans8.ltrans.o: In function `fir_design_adjust_rx.constprop.159':
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0x44): undefined reference to `pow'
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xad8): undefined reference to `cos'
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xae4): undefined reference to `cos'
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xaf0): undefined reference to `cos'
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xb28): undefined reference to `cos'
<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xb34): undefined reference to `cos'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans8.ltrans.o:<artificial>:(.text.fir_design_adjust_rx.constprop.159+0xb40): more undefined references to `cos' follow
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans8.ltrans.o: In function `fir_design_bandpass_freq.constprop.157':
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x68): undefined reference to `sin'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x74): undefined reference to `cos'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x98): undefined reference to `sin'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0xa4): undefined reference to `cos'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0xc8): undefined reference to `sin'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0xd4): undefined reference to `cos'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0xfc): undefined reference to `sin'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x108): undefined reference to `cos'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x13c): undefined reference to `sin'
<artificial>:(.text.fir_design_bandpass_freq.constprop.157+0x148): undefined reference to `cos'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o: In function `audio_setup_rx':
<artificial>:(.text.audio_setup_rx+0xb8): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o: In function `audio_update.lto_priv.412':
<artificial>:(.text.audio_update.lto_priv.412+0x114): undefined reference to `sin'
<artificial>:(.text.audio_update.lto_priv.412+0x134): undefined reference to `sin'
<artificial>:(.text.audio_update.lto_priv.412+0x148): undefined reference to `sin'
<artificial>:(.text.audio_update.lto_priv.412+0x15c): undefined reference to `sin'
<artificial>:(.text.audio_update.lto_priv.412+0x19c): undefined reference to `sin'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o:<artificial>:(.text.audio_update.lto_priv.412+0x1b8): more undefined references to `sin' follow
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o: In function `audio_update.lto_priv.412':
<artificial>:(.text.audio_update.lto_priv.412+0x518): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.412+0x5b0): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x5c4): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x5d4): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x600): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x60c): undefined reference to `cos'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o:<artificial>:(.text.audio_update.lto_priv.412+0x618): more undefined references to `cos' follow
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o: In function `audio_update.lto_priv.412':
<artificial>:(.text.audio_update.lto_priv.412+0xf7c): undefined reference to `pow'
<artificial>:(.text.audio_update.lto_priv.412+0x159c): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x15a8): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x15b4): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x15ec): undefined reference to `cos'
<artificial>:(.text.audio_update.lto_priv.412+0x15f8): undefined reference to `cos'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o:<artificial>:(.text.audio_update.lto_priv.412+0x1604): more undefined references to `cos' follow
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans9.ltrans.o: In function `audio_update.lto_priv.412':
<artificial>:(.text.audio_update.lto_priv.412+0x21bc): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans17.ltrans.o: In function `r7s721_ssif0_txdma.lto_priv.383':
<artificial>:(.text.r7s721_ssif0_txdma.lto_priv.383+0xf8): undefined reference to `memset'
<artificial>:(.text.r7s721_ssif0_txdma.lto_priv.383+0x110): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans24.ltrans.o: In function `sync_fs.lto_priv.218':
<artificial>:(.text.sync_fs.lto_priv.218+0x5c): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans24.ltrans.o: In function `dir_next.lto_priv.489':
<artificial>:(.text.dir_next.lto_priv.489+0x144): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans25.ltrans.o: In function `agc_forvard_float.isra.7.lto_priv.550':
<artificial>:(.text.agc_forvard_float.isra.7.lto_priv.550+0x88): undefined reference to `log'
<artificial>:(.text.agc_forvard_float.isra.7.lto_priv.550+0x144): undefined reference to `pow'
C:\Users\gena\AppData\Local\Temp\ccODI9HJ.ltrans25.ltrans.o: In function `rxparam_update.lto_priv.414':
<artificial>:(.text.rxparam_update.lto_priv.414+0x94): undefined reference to `pow'
<artificial>:(.text.rxparam_update.lto_priv.414+0x174): undefined reference to `pow'
<artificial>:(.text.rxparam_update.lto_priv.414+0x1a0): undefined reference to `pow'
<artificial>:(.text.rxparam_update.lto_priv.414+0x1cc): undefined reference to `pow'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x44): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x68): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x94): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0xb8): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0\libgcc.a(_aeabi_uldivmod.o): In function `__aeabi_uldivmod':
(.text+0x28): undefined reference to `__udivmoddi4'
collect2.exe: error: ld returned 1 exit status
make.exe: *** [tc1_r7s721020_rom.elf] Error 1
NMAKE : fatal error U1077: 'make.exe' : return code '0x2'
Stop.
Error executing NMAKE.

tc1msvc.exe - 3 error(s), 8 warning(s)


Cortex-M7 - грабли того же типа, что и у предидушего оратора:
Цитата
--------------------Configuration: tc1msvc - Win32 stm32f746zg--------------------
Microsoft ® Program Maintenance Utility Version 6.00.8168.0
Copyright © Microsoft Corp 1988-1998. All rights reserved.
cd .\stm32f746zg
make.exe -f .\Makefile all
The system cannot find the path specified.
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/bandfilters.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../bandfilters.c -o bandfilters.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/board.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../board.c -o board.o
In file included from ../board.c:246:0:
../chip/rtcstm32f4xx.c:247:13: warning: 'stm32f4xx_rtc_lsistart' defined but not used [-Wunused-function]
static void stm32f4xx_rtc_lsistart(void)
^~~~~~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/usbd.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../usbd.c -o usbd.o
../usbd.c: In function 'usbd_handler_brdy8_dcp_out':
../usbd.c:2223:11: warning: unused variable 'count' [-Wunused-variable]
unsigned count = usbd_read_data(Instance, pipe, ep0databuffout, sizeof ep0databuffout / sizeof ep0databuffout [0]);
^~~~~
../usbd.c: In function 'usbdFunctionReq_seq3':
../usbd.c:2731:23: warning: unused variable 'terminalID' [-Wunused-variable]
const uint_fast8_t terminalID = HI_BYTE(ReqIndex);
^~~~~~~~~~
../usbd.c: In function 'USBD_UACCDC_Setup':
../usbd.c:7977:25: warning: unused variable 'terminalID' [-Wunused-variable]
const uint_fast8_t terminalID = HI_BYTE(req->wIndex);
^~~~~~~~~~
../usbd.c: In function 'usbd_cdc_tx':
../usbd.c:8724:29: warning: unused variable 'pdev' [-Wunused-variable]
USBD_HandleTypeDef * const pdev = ctx;
^~~~
../usbd.c: At top level:
../usbd.c:572:14: warning: 'configure_device' declared 'static' but never defined [-Wunused-function]
static void configure_device(void);
^~~~~~~~~~~~~~~~
../usbd.c:573:14: warning: 'unconfigure_device' declared 'static' but never defined [-Wunused-function]
static void unconfigure_device(void);
^~~~~~~~~~~~~~~~~~
../usbd.c:574:14: warning: 'single_transmit' declared 'static' but never defined [-Wunused-function]
static void single_transmit(uint8_t * buf, uint8_t len);
^~~~~~~~~~~~~~~
../usbd.c:577:14: warning: 'toLittleEndian' declared 'static' but never defined [-Wunused-function]
static void toLittleEndian( uint32_t value, uint8_t * pDestin );
^~~~~~~~~~~~~~
../usbd.c:9316:21: warning: 'USBD_RegisterClass' defined but not used [-Wunused-function]
USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, const USBD_ClassTypeDef *pclass)
^~~~~~~~~~~~~~~~~~
../usbd.c:7370:27: warning: 'USBD_DeInit' defined but not used [-Wunused-function]
static USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
^~~~~~~~~~~
../usbd.c:6068:25: warning: 'HAL_PCD_GetState' defined but not used [-Wunused-function]
static PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd)
^~~~~~~~~~~~~~~~
../usbd.c:3090:13: warning: 'usb0_function_save_request' defined but not used [-Wunused-function]
static void usb0_function_save_request(PCD_TypeDef * const Instance)
^~~~~~~~~~~~~~~~~~~~~~~~~~
../usbd.c:2968:13: warning: 'actions_seq5' defined but not used [-Wunused-function]
static void actions_seq5(
^~~~~~~~~~~~
../usbd.c:2928:13: warning: 'actions_seq3' defined but not used [-Wunused-function]
static void actions_seq3(
^~~~~~~~~~~~
../usbd.c:2888:13: warning: 'actions_seq1' defined but not used [-Wunused-function]
static void actions_seq1(
^~~~~~~~~~~~
../usbd.c:2221:1: warning: 'usbd_handler_brdy8_dcp_out' defined but not used [-Wunused-function]
usbd_handler_brdy8_dcp_out(PCD_TypeDef * const Instance, uint_fast8_t pipe)
^~~~~~~~~~~~~~~~~~~~~~~~~~
../usbd.c:1960:13: warning: 'nak_ep0' defined but not used [-Wunused-function]
static void nak_ep0(PCD_TypeDef * const Instance)
^~~~~~~
../usbd.c:1828:13: warning: 'control_transmit2' defined but not used [-Wunused-function]
static void control_transmit2(PCD_TypeDef * const Instance)
^~~~~~~~~~~~~~~~~
../usbd.c:1825:17: warning: 'ep0size' defined but not used [-Wunused-variable]
static unsigned ep0size = 0;
^~~~~~~
../usbd.c:1824:24: warning: 'ep0data' defined but not used [-Wunused-variable]
static const uint8_t * ep0data = NULL;
^~~~~~~
../usbd.c:1809:1: warning: 'control_transmit0single' defined but not used [-Wunused-function]
control_transmit0single(PCD_TypeDef * const Instance, const uint8_t * data, unsigned size)
^~~~~~~~~~~~~~~~~~~~~~~
../usbd.c:1739:1: warning: 'usbd_write_data' defined but not used [-Wunused-function]
usbd_write_data(PCD_TypeDef * const Instance, uint_fast8_t pipe, const uint8_t * data, unsigned size)
^~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/usbd_desc.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../usbd_desc.c -o usbd_desc.o
../usbd_desc.c:1669:17: warning: 'fill_pattern_descriptor' defined but not used [-Wunused-function]
static unsigned fill_pattern_descriptor(uint8_t * buff, unsigned maxsize, const void * pattern, unsigned length)
^~~~~~~~~~~~~~~~~~~~~~~
../usbd_desc.c:340:17: warning: 'UAC_AudioSelectorUnit_IN' defined but not used [-Wunused-function]
static unsigned UAC_AudioSelectorUnit_IN(
^~~~~~~~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/sequen.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../sequen.c -o sequen.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/elkey.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../elkey.c -o elkey.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/encoder.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../encoder.c -o encoder.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/serial.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../serial.c -o serial.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/hardware.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../hardware.c -o hardware.o
../hardware.c:1947:22: warning: 'ulmax' defined but not used [-Wunused-function]
static unsigned long ulmax(
^~~~~
../hardware.c:933:13: warning: 'spool_elkeyinputsbundle' defined but not used [-Wunused-function]
static void spool_elkeyinputsbundle(void)
^~~~~~~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/hd44780.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../hd44780.c -o hd44780.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/display.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../display.c -o display.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/display2.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../display2.c -o display2.o
../display2.c:3403:13: warning: 'display_graduate' defined but not used [-Wunused-function]
static void display_graduate(
^~~~~~~~~~~~~~~~
../display2.c:1094:13: warning: 'display_amfmhighcut3' defined but not used [-Wunused-function]
static void display_amfmhighcut3(
^~~~~~~~~~~~~~~~~~~~
../display2.c:1073:13: warning: 'display_freqdelta8' defined but not used [-Wunused-function]
static void display_freqdelta8(
^~~~~~~~~~~~~~~~~~
../display2.c:1054:13: warning: 'display_siglevel7' defined but not used [-Wunused-function]
static void display_siglevel7(
^~~~~~~~~~~~~~~~~
../display2.c:1032:13: warning: 'display_currlevel5' defined but not used [-Wunused-function]
static void display_currlevel5(
^~~~~~~~~~~~~~~~~~
../display2.c:988:13: warning: 'display_voltlevel4' defined but not used [-Wunused-function]
static void display_voltlevel4(
^~~~~~~~~~~~~~~~~~
../display2.c:953:13: warning: 'display_mode3_b' defined but not used [-Wunused-function]
static void display_mode3_b(
^~~~~~~~~~~~~~~
../display2.c:919:13: warning: 'display_vfomode1' defined but not used [-Wunused-function]
static void display_vfomode1(
^~~~~~~~~~~~~~~~
../display2.c:905:13: warning: 'display_vfomode5' defined but not used [-Wunused-function]
static void display_vfomode5(
^~~~~~~~~~~~~~~~
../display2.c:877:13: warning: 'display_agc4' defined but not used [-Wunused-function]
static void display_agc4(
^~~~~~~~~~~~
../display2.c:863:13: warning: 'display_agc3' defined but not used [-Wunused-function]
static void display_agc3(
^~~~~~~~~~~~
../display2.c:834:13: warning: 'display_hplp2' defined but not used [-Wunused-function]
static void display_hplp2(
^~~~~~~~~~~~~
../display2.c:822:13: warning: 'display_att4' defined but not used [-Wunused-function]
static void display_att4(
^~~~~~~~~~~~
../display2.c:808:13: warning: 'display_ant4' defined but not used [-Wunused-function]
static void display_ant4(
^~~~~~~~~~~~
../display2.c:766:13: warning: 'display_ovf3' defined but not used [-Wunused-function]
static void display_ovf3(
^~~~~~~~~~~~
../display2.c:754:13: warning: 'display_pre3' defined but not used [-Wunused-function]
static void display_pre3(
^~~~~~~~~~~~
../display2.c:739:13: warning: 'display_mainsubrxmode3' defined but not used [-Wunused-function]
static void display_mainsubrxmode3(
^~~~~~~~~~~~~~~~~~~~~~
../display2.c:692:13: warning: 'display_pbt' defined but not used [-Wunused-function]
static void display_pbt(
^~~~~~~~~~~
../display2.c:680:13: warning: 'display_lockstate4' defined but not used [-Wunused-function]
static void display_lockstate4(
^~~~~~~~~~~~~~~~~~
../display2.c:636:13: warning: 'display_voxtune1' defined but not used [-Wunused-function]
static void display_voxtune1(
^~~~~~~~~~~~~~~~
../display2.c:591:13: warning: 'display_voxtune4' defined but not used [-Wunused-function]
static void display_voxtune4(
^~~~~~~~~~~~~~~~
../display2.c:545:13: warning: 'display_voxtune3' defined but not used [-Wunused-function]
static void display_voxtune3(
^~~~~~~~~~~~~~~~
../display2.c:523:13: warning: 'display_byp3' defined but not used [-Wunused-function]
static void display_byp3(
^~~~~~~~~~~~
../display2.c:502:13: warning: 'display_atu3' defined but not used [-Wunused-function]
static void display_atu3(
^~~~~~~~~~~~
../display2.c:457:13: warning: 'display_recstatus' defined but not used [-Wunused-function]
static void display_recstatus(
^~~~~~~~~~~~~~~~~
../display2.c:444:13: warning: 'display_txrxstate2' defined but not used [-Wunused-function]
static void display_txrxstate2(
^~~~~~~~~~~~~~~~~~
../display2.c:430:13: warning: 'display_txrxstatecompact' defined but not used [-Wunused-function]
static void display_txrxstatecompact(
^~~~~~~~~~~~~~~~~~~~~~~~
../display2.c:407:13: warning: 'display_freq8_b' defined but not used [-Wunused-function]
static void display_freq8_b(
^~~~~~~~~~~~~~~
../display2.c:385:13: warning: 'display_freq7_b' defined but not used [-Wunused-function]
static void display_freq7_b(
^~~~~~~~~~~~~~~
../display2.c:343:13: warning: 'display_freqchr_b' defined but not used [-Wunused-function]
static void display_freqchr_b(
^~~~~~~~~~~~~~~~~
../display2.c:258:13: warning: 'display_freq7_a' defined but not used [-Wunused-function]
static void display_freq7_a(
^~~~~~~~~~~~~~~
../display2.c:218:13: warning: 'display_freq8_a' defined but not used [-Wunused-function]
static void display_freq8_a(
^~~~~~~~~~~~~~~
../display2.c:177:13: warning: 'display_freq8big_a' defined but not used [-Wunused-function]
static void display_freq8big_a(
^~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/keyboard.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../keyboard.c -o keyboard.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/keymaps.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../keymaps.c -o keymaps.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/nvram.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../nvram.c -o nvram.o
../nvram.c:346:14: warning: 'stm32f4xx_bddisable' defined but not used [-Wunused-function]
static void stm32f4xx_bddisable(void)
^~~~~~~~~~~~~~~~~~~
../nvram.c:328:14: warning: 'stm32f4xx_bdenable' defined but not used [-Wunused-function]
static void stm32f4xx_bdenable(void)
^~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/spifuncs.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../spifuncs.c -o spifuncs.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/formats.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../formats.c -o formats.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/synthcalcs.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../synthcalcs.c -o synthcalcs.o
../synthcalcs.c:43:28: warning: 'dds2refdiv' defined but not used [-Wunused-const-variable=]
static const uint_fast8_t dds2refdiv = 1;
^~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/filters.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../filters.c -o filters.o
../filters.c:40:2: warning: 'strFlash120p0' defined but not used [-Wunused-const-variable=]
strFlash120p0 [] = "120";
^~~~~~~~~~~~~
../filters.c:39:2: warning: 'strFlash15p0' defined but not used [-Wunused-const-variable=]
strFlash15p0 [] = "15.",
^~~~~~~~~~~~
../filters.c:38:2: warning: 'strFlash17p0' defined but not used [-Wunused-const-variable=]
strFlash17p0 [] = "17.",
^~~~~~~~~~~~
../filters.c:37:2: warning: 'strFlash18p0' defined but not used [-Wunused-const-variable=]
strFlash18p0 [] = "18.",
^~~~~~~~~~~~
../filters.c:36:2: warning: 'strFlash10p0' defined but not used [-Wunused-const-variable=]
strFlash10p0 [] = "10.",
^~~~~~~~~~~~
../filters.c:35:2: warning: 'strFlash9p0' defined but not used [-Wunused-const-variable=]
strFlash9p0 [] = "9.0",
^~~~~~~~~~~
../filters.c:34:2: warning: 'strFlash8p0' defined but not used [-Wunused-const-variable=]
strFlash8p0 [] = "8.0",
^~~~~~~~~~~
../filters.c:33:2: warning: 'strFlash7p8' defined but not used [-Wunused-const-variable=]
strFlash7p8 [] = "7.8",
^~~~~~~~~~~
../filters.c:32:2: warning: 'strFlash6p0' defined but not used [-Wunused-const-variable=]
strFlash6p0 [] = "6.0",
^~~~~~~~~~~
../filters.c:31:2: warning: 'strFlash3p1' defined but not used [-Wunused-const-variable=]
strFlash3p1 [] = "3.1",
^~~~~~~~~~~
../filters.c:30:2: warning: 'strFlash3p0' defined but not used [-Wunused-const-variable=]
strFlash3p0 [] = "3.0",
^~~~~~~~~~~
../filters.c:29:2: warning: 'strFlash2p7' defined but not used [-Wunused-const-variable=]
strFlash2p7 [] = "2.7",
^~~~~~~~~~~
../filters.c:28:2: warning: 'strFlash2p4' defined but not used [-Wunused-const-variable=]
strFlash2p4 [] = "2.4",
^~~~~~~~~~~
../filters.c:27:2: warning: 'strFlash2p1' defined but not used [-Wunused-const-variable=]
strFlash2p1 [] = "2.1",
^~~~~~~~~~~
../filters.c:26:2: warning: 'strFlash2p0' defined but not used [-Wunused-const-variable=]
strFlash2p0 [] = "2.0",
^~~~~~~~~~~
../filters.c:25:2: warning: 'strFlash1p8' defined but not used [-Wunused-const-variable=]
strFlash1p8 [] = "1.8",
^~~~~~~~~~~
../filters.c:24:2: warning: 'strFlash1p5' defined but not used [-Wunused-const-variable=]
strFlash1p5 [] = "1.5",
^~~~~~~~~~~
../filters.c:23:2: warning: 'strFlash1p0' defined but not used [-Wunused-const-variable=]
strFlash1p0 [] = "1.0",
^~~~~~~~~~~
../filters.c:22:2: warning: 'strFlash0p5' defined but not used [-Wunused-const-variable=]
strFlash0p5 [] = "0.5",
^~~~~~~~~~~
../filters.c:21:2: warning: 'strFlash0p3' defined but not used [-Wunused-const-variable=]
strFlash0p3 [] = "0.3",
^~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/pcf8535.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../pcf8535.c -o pcf8535.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/uc1608.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../uc1608.c -o uc1608.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/uc1601s.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../uc1601s.c -o uc1601s.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/lph88.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../lph88.c -o lph88.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ls020.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ls020.c -o ls020.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/l2f50.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../l2f50.c -o l2f50.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/s1d13781.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../s1d13781.c -o s1d13781.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ILI9320.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ILI9320.c -o ILI9320.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ili9225.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ili9225.c -o ili9225.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/st7735.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../st7735.c -o st7735.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/st7565s.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../st7565s.c -o st7565s.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/graphltdc.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../graphltdc.c -o graphltdc.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/sdram.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../sdram.c -o sdram.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ili8961.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ili8961.c -o ili8961.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/twi.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../twi.c -o twi.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/pio.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../pio.c -o pio.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/tlv320aic23.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../tlv320aic23.c -o tlv320aic23.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/cs4272.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../cs4272.c -o cs4272.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/nau8822.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../nau8822.c -o nau8822.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/wm8994.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../wm8994.c -o wm8994.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/hardwarecodecs.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../hardwarecodecs.c -o hardwarecodecs.o
../hardwarecodecs.c: In function 'hardware_sai_clock_selection':
../hardwarecodecs.c:771:4: warning: #warning TODO: implement for CPUSTYLE_STM32F7XX [-Wcpp]
#warning TODO: implement for CPUSTYLE_STM32F7XX
^~~~~~~
At top level:
../hardwarecodecs.c:1007:13: warning: 'hardware_sai1_master_fullduplex_initialize' defined but not used [-Wunused-function]
static void hardware_sai1_master_fullduplex_initialize(void) /* инициализация SAI1 на STM32F4xx */
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../hardwarecodecs.c:179:2: warning: 'calcdivround_exti2s' defined but not used [-Wunused-function]
calcdivround_exti2s(
^~~~~~~~~~~~~~~~~~~
../hardwarecodecs.c:61:22: warning: 'dma_invalidate192rts' defined but not used [-Wunused-function]
static unsigned long dma_invalidate192rts(unsigned long addr)
^~~~~~~~~~~~~~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/buffers.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../buffers.c -o buffers.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/audio.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../audio.c -o audio.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/spislave.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../spislave.c -o spislave.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/modems.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../modems.c -o modems.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/sdcard.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../sdcard.c -o sdcard.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ff.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ff.c -o ff.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/ccsbcs.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../ccsbcs.c -o ccsbcs.o
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/tc1.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../tc1.c -o tc1.o
../tc1.c:12202:1: warning: 'uif_key_click_menubyname' defined but not used [-Wunused-function]
uif_key_click_menubyname(uint_fast8_t tx, const char * name)
^~~~~~~~~~~~~~~~~~~~~~~~
../tc1.c:5845:1: warning: 'flagne16' defined but not used [-Wunused-function]
flagne16(uint_fast16_t * oldval, uint_fast16_t v)
^~~~~~~~
../tc1.c:2947:29: warning: 'swrmode' defined but not used [-Wunused-const-variable=]
static const uint_fast8_t swrmode = 0;
^~~~~~~
../tc1.c:531:4: warning: 'pwrmodes' defined but not used [-Wunused-const-variable=]
} pwrmodes [] =
^~~~~~~~
../tc1.c:518:4: warning: 'antmodes' defined but not used [-Wunused-const-variable=]
} antmodes [] =
^~~~~~~~
C:\user\klen\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstri
ct-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/tests.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../tests.c -o tests.o
C:\user\klen\bin\arm-kgp-eabi-gcc bandfilters.o board.o usbd.o usbd_desc.o sequen.o elkey.o encoder.o serial.o hardware.o hd44780.o display.o display2.o keyboard.o keymaps.o nvram.o spifuncs.o formats.o synthcalcs.o filters.o pcf8535.o uc1608.o uc1
601s.o lph88.o ls020.o l2f50.o s1d13781.o ILI9320.o ili9225.o st7735.o st7565s.o graphltdc.o sdram.o ili8961.o twi.o pio.o tlv320aic23.o cs4272.o nau8822.o wm8994.o hardwarecodecs.o buffers.o audio.o spislave.o modems.o sdcard.o ff.o ccsbcs.o tc1.o
tests.o -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -flto -Ofast -nostartfiles -T./STM32F746ZG_rom.ld -Wl,-Map=tc1_stm32f746zg_rom.map,--
cref,--no-warn-mismatch -L../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Lib/GCC -lm -larm_cortexM7lfsp_math -o tc1_stm32f746zg_rom.elf
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans27.ltrans.o: In function `rxparam_update.lto_priv.343':
<artificial>:(.text.rxparam_update.lto_priv.343+0x4a): undefined reference to `powf'
<artificial>:(.text.rxparam_update.lto_priv.343+0xe4): undefined reference to `powf'
<artificial>:(.text.rxparam_update.lto_priv.343+0x116): undefined reference to `powf'
<artificial>:(.text.rxparam_update.lto_priv.343+0x142): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans0.ltrans.o: In function `ResetException.lto_priv.513':
<artificial>:(.text.ResetException.lto_priv.513+0x322): undefined reference to `memcpy'
<artificial>:(.text.ResetException.lto_priv.513+0x32c): undefined reference to `memset'
<artificial>:(.text.ResetException.lto_priv.513+0xdb8): undefined reference to `logf'
<artificial>:(.text.ResetException.lto_priv.513+0xe38): undefined reference to `logf'
<artificial>:(.text.ResetException.lto_priv.513+0xea8): undefined reference to `logf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans3.ltrans.o: In function `OTG_FS_IRQHandler':
<artificial>:(.text.OTG_FS_IRQHandler+0xeb4): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans4.ltrans.o: In function `updateboard.isra.37.lto_priv.303':
<artificial>:(.text.updateboard.isra.37.lto_priv.303+0x8ce): undefined reference to `memcmp'
<artificial>:(.text.updateboard.isra.37.lto_priv.303+0x1208): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans9.ltrans.o: In function `wave_startrecording.lto_priv.235':
<artificial>:(.text.wave_startrecording.lto_priv.235+0x806): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.235+0x1242): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.235+0x16f0): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans11.ltrans.o: In function `DMA1_Stream4_IRQHandler':
<artificial>:(.text.DMA1_Stream4_IRQHandler+0x10a): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans11.ltrans.o:<artificial>:(.text.DMA1_Stream4_IRQHandler+0x11c): more undefined references to `memset' follow
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o: In function `audio_update.lto_priv.341':
<artificial>:(.text.audio_update.lto_priv.341+0xa8): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.341+0xda): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.341+0xfa): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.341+0x11a): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.341+0x146): undefined reference to `sinf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o:<artificial>:(.text.audio_update.lto_priv.341+0x162): more undefined references to `sinf' follow
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o: In function `audio_update.lto_priv.341':
<artificial>:(.text.audio_update.lto_priv.341+0x1e0): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.341+0x246): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0x252): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0x25e): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0x28e): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0x29a): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o:<artificial>:(.text.audio_update.lto_priv.341+0x2a6): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o: In function `audio_update.lto_priv.341':
<artificial>:(.text.audio_update.lto_priv.341+0x864): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.341+0x94e): undefined reference to `powf'
<artificial>:(.text.audio_update.lto_priv.341+0xca4): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0xcb0): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0xcbc): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0xce4): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.341+0xcf0): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans12.ltrans.o:<artificial>:(.text.audio_update.lto_priv.341+0xcfc): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans15.ltrans.o: In function `fir_design_adjust_rx.constprop.157':
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x28): undefined reference to `powf'
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x630): undefined reference to `cosf'
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x63c): undefined reference to `cosf'
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x648): undefined reference to `cosf'
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x670): undefined reference to `cosf'
<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x67c): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans15.ltrans.o:<artificial>:(.text.fir_design_adjust_rx.constprop.157+0x688): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans15.ltrans.o: In function `fir_design_bandpass.constprop.156':
<artificial>:(.text.fir_design_bandpass.constprop.156+0x2e): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0x3a): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0x5a): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0x66): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0x88): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0x94): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0xb8): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass.constprop.156+0xc4): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans20.ltrans.o: In function `dsp_extbuffer32rx':
<artificial>:(.text.dsp_extbuffer32rx+0x554): undefined reference to `atan2f'
<artificial>:(.text.dsp_extbuffer32rx+0xce2): undefined reference to `logf'
<artificial>:(.text.dsp_extbuffer32rx+0xd66): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans23.ltrans.o: In function `sync_fs.lto_priv.210':
<artificial>:(.text.sync_fs.lto_priv.210+0x36): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans23.ltrans.o: In function `dir_next.lto_priv.470':
<artificial>:(.text.dir_next.lto_priv.470+0xf8): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans25.ltrans.o: In function `agc_forvard_float.isra.8.constprop.3':
<artificial>:(.text.agc_forvard_float.isra.8.constprop.3+0x44): undefined reference to `logf'
<artificial>:(.text.agc_forvard_float.isra.8.constprop.3+0xa4): undefined reference to `powf'
C:\Users\gena\AppData\Local\Temp\cc379rL5.ltrans26.ltrans.o: In function `single_rate_out_write_mcv.constprop.178':
<artificial>:(.text.single_rate_out_write_mcv.constprop.178+0x18): undefined reference to `memcpy'
<artificial>:(.text.single_rate_out_write_mcv.constprop.178+0x24): undefined reference to `memcpy'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m7sf\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x32): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m7sf\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x4c): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m7sf\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x6e): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m7sf\libgcc.a(_aeabi_ldivmod.o): In function `__aeabi_ldivmod':
(.text+0x8a): undefined reference to `__udivmoddi4'
c:/user/klen/bin/../lib/gcc/arm-kgp-eabi/6.3.0/thumb/cortex-m7sf\libgcc.a(_aeabi_uldivmod.o): In function `__aeabi_uldivmod':
(.text+0x20): undefined reference to `__udivmoddi4'
collect2.exe: error: ld returned 1 exit status
make.exe: *** [tc1_stm32f746zg_rom.elf] Error 1
NMAKE : fatal error U1077: 'make.exe' : return code '0x2'
Stop.
Error executing NMAKE.

tc1msvc.exe - 3 error(s), 92 warning(s)
klen
странно.. почему у меня собираются проекты?

из жизни..., вчера у меня были испытательные полеты квадрокоптера который мы стоим, так вот он летал, летал.... и упал. вскрытие остатков чукчи показало что небыли запитаны микросхемы-развязки через которые идет сигнал управления от полетного контроллера к регуляторами двигателей. теория, даташиты на микросхемку и здравый смысл говорит что полет при этом невозможен даже если чукчу надуть водородом, однако ж .... вот я и думаю - может это все мне снится... и GCC LTO и коптеры.

есть у меня еще идея!
подождите немножко, на выходных выложу еще вариант.
главное что бы у аудитории интерес не пропал sm.gif

очень похоже что проблема та же что и в посте
https://electronix.ru/forum/index.php?showtopic=139336
тот же косяг.. у парней как то все рассосалось но я так и не понял как, видимо все на столько очевидно что моему уму никак не дойти...
Genadi Zawidowski
Не тот же косяк, как можно в простынях что я привел увидеть, ключик с параметрами оптимизации у меня передается линкеру как положено. И у меня на ланчпадовских версиях всё нормально.

С Вашими версиями такую проблему (с ненайденными sqrt/sqrtf, memset и так далее) уже встречали и Вы успешно её решали (сообщения в районе 16 октября 2016 года) - https://electronix.ru/forum/index.php?showt...t&p=1455926
klen
Цитата(Genadi Zawidowski @ Jan 13 2017, 11:43) *
Не тот же косяк, как можно в простынях что я привел увидеть, ключик с параметрами оптимизации у меня передается линкеру как положено. И у меня на ланчпадовских версиях всё нормально.

С Вашими версиями такую проблему (с ненайденными sqrt/sqrtf, memset и так далее) уже встречали и Вы успешно её решали (сообщения в районе 16 октября 2016 года) - https://electronix.ru/forum/index.php?showt...t&p=1455926


теперь должно работать
arm/linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_6.3.0_BOTRYCHIUM.7z

arm/win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_6.3.0_BOTRYCHIUM.7z

последний архив содержит и первый. я вот что подумал - они отличаются только исполняймыми-бинарями и они у меня собираются статически, таргет-библиотеки одни и те же. поэтому их тупо можно слить и все должно работать. например для linux запускать gcc а в масдае gcc.exe

это все тот же релизный 6.3.0
Genadi Zawidowski
Проект для Cortex-M7 и M4 собрался и работает, Cortex-A9 и ARM 7 TDMI собрался, работу не проверял пока.
klen
свежак для linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170126_CINNAMOMUM.7z

теперь ветка кода 7.0.1
при сборке c ключами -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
то есть например для stm32f4 в этой сборке доступна либа GNU GSL https://www.gnu.org/software/gsl/
я ее отпортировал чтоб она использовала базовым типом float и собрал. таким образом то что соберется с ней будет работать на FPU.
нужно будет добавить при линковке -lfgsl -lfgslcblas

для масдая пожже соберу и выложу
Genadi Zawidowski
Выяснилось, что Launchpad-овская версия скомпилила DSP часть моего проекта в код (Cortex-M7) приблизительлно в полтора раза более шустрее выполняющийся, чем это получилось у klen-gcc (Сообщение #1224).
Предварительно могу сказать что скорее всего виноваты те части libm, которые выполняют logf, powf. CMSIS библиотека не используется.
Ключи ниже в цитате:

Цитата
arm-none-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstrict-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/audio.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../audio.c -o audio.o
arm-none-eabi-gcc bandfilters.o board.o usbd.o usbd_desc.o sequen.o elkey.o encoder.o serial.o hardware.o hd44780.o display.o display2.o keyboard.o keymaps.o nvram.o spifuncs.o formats.o synthcalcs.o filters.o pcf8535.o uc1608.o uc1601s.o lph88.o ls020.o l2f50.o s1d13781.o ILI9320.o ili9225.o st7735.o st7565s.o graphltdc.o sdram.o ili8961.o twi.o pio.o tlv320aic23.o cs4272.o nau8822.o wm8994.o hardwarecodecs.o buffers.o audio.o spislave.o modems.o sdcard.o ff.o ccsbcs.o tc1.o tests.o -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -flto -Ofast -nostartfiles -T./STM32F746ZG_rom.ld -Wl,-Map=tc1_stm32f746zg_rom.map,--cref,--no-warn-mismatch -L../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Lib/GCC -lm -larm_cortexM7lfsp_math -o tc1_stm32f746zg_rom.elf
klen
Цитата(Genadi Zawidowski @ Jan 31 2017, 02:17) *
Выяснилось, что Launchpad-овская версия скомпилила DSP часть моего проекта в код (Cortex-M7) приблизительлно в полтора раза более шустрее выполняющийся, чем это получилось у klen-gcc (Сообщение #1224).
Предварительно могу сказать что скорее всего виноваты те части libm, которые выполняют logf, powf. CMSIS библиотека не используется.
Ключи ниже в цитате:


о! стало собираться sm.gif и не падать при компиляции?

на этот случай есть у меня свой быстрый libm. будем пробывать? код написан на с++ . поэтому могу собрать в либу с С-враперами и тогда logf, powf можно будеть слинковать с C-кодом.
Genadi Zawidowski
То что собирается я еще Jan 13 2017, 21:52 сказал. С ланчпадом работает быстрее. Просто возьмите их параметры сборки - они же выложили.
klen
Цитата(Genadi Zawidowski @ Feb 3 2017, 00:44) *
То что собирается я еще Jan 13 2017, 21:52 сказал. С ланчпадом работает быстрее. Просто возьмите их параметры сборки - они же выложили.

дело скорее всего в либах, компиляторы можно сравнивать только на одинаковом коде.
klen
свежак arm
хост lin64
http://klen.org/Files/DevTools/x86_64-kgp-...301_ZINGIBER.7z

хост win64
http://klen.org/Files/DevTools/x86_64-kgp-...302_ZINGIBER.7z


также до кучи то чем это собиралось
таргет/хост lin64
http://www.klen.org/Files/DevTools/x86_64-...301_ZINGIBER.7z


таргет win64 хост lin64
http://www.klen.org/Files/DevTools/x86_64-...301_ZINGIBER.7z


таргет/хост win64
http://www.klen.org/Files/DevTools/x86_64-...302_ZINGIBER.7z
Шаманъ
Цитата(klen @ Mar 2 2017, 17:02) *
также до кучи то чем это собиралось
...........
таргет/хост win64
http://www.klen.org/Files/DevTools/x86_64-...302_ZINGIBER.7z

А реально этим пересобрать arm-none-gdb? Хочу собрать с этим https://bugs.launchpad.net/gcc-arm-embedded/+bug/1566054 патчем.
klen
Цитата(Шаманъ @ Mar 2 2017, 19:24) *
А реально этим пересобрать arm-none-gdb? Хочу собрать с этим https://bugs.launchpad.net/gcc-arm-embedded/+bug/1566054 патчем.

более чем реально
Шаманъ
Ну вот пересобрал gdb из исходников arm-none-eabi, там патч этот по идее уже есть, но нормального bt (на Cortex-Mx) так и нет sad.gif То ли при переходе с 7.11 на 7.12 что-то поломали, то ли оно и не работало нормально sad.gif Обидно - полдня потратил на собирательства gdb под виндой, и такой облом sad.gif

Проверил три варианта gdb:
1. Бинарник от АРМа (бывший ланчпад, как я понимаю)
2. Собранный из исходников оттуда же
3. Из сборки на несколько постов выше (от klen)

Все три при задействовании наскольких стеков и двух указателей PSP/MSP при попытке развернуть стек из прерывания выдают полную хрень в bt sad.gif . Причем что интересно все три выдают разные результаты. Эх нет гармонии, придется по старинке скриптами gdb, да руками...

Да, боьшой проект под Cortex-M7 последней сборкой собрался без проблем, отладчик в связке с VSCode из этой сборки работает лучше, чем из arm-none-eabi (тот несколько раз просто вылетал, оставляя за собой stackdump sm.gif)
klen
Цитата(Шаманъ @ Mar 3 2017, 17:40) *
Да, боьшой проект под Cortex-M7 последней сборкой собрался без проблем, отладчик в связке с VSCode из этой сборки работает лучше, чем из arm-none-eabi (тот несколько раз просто вылетал, оставляя за собой stackdump sm.gif)

собрался это понятно.. а скорость? по сравнению с *-none-*
Шаманъ
Цитата(klen @ Mar 3 2017, 21:05) *
собрался это понятно..

Предыдущая версия не собирала почему-то...

Цитата
а скорость? по сравнению с *-none-*

С пристрастием не пытал, но большого прогресса или регресса не наблюдалось точно (загрузка процессора не поменялась более чем на 1..2%). Будет время может сравню.

Есть такой момент сам компилятор работает значительно (раза в четыре) медленнее, чем arm-none-eabi
Шаманъ
Поэкспериментировал с -flto. Интересная штука -O3 c -flto дало до 40% прирост производительности по сравнению с просто -О3 (это на "стандартном" gcc). Решил проверить на gcc от klen, но увы - последняя сборка не смогла собрать проект с -flto:
Код
Linking...
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s: Assembler messages:
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:2704: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3017: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3118: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3175: Error: offset out of range
lto-wrapper.exe: fatal error: C:\arm\bin\arm-kgp-eabi-gcc.exe returned 1 exit status
compilation terminated.
c:/arm/bin/../lib/gcc/arm-kgp-eabi/7.0.1/../../../../arm-kgp-eabi/bin/ld.exe: error: lto-wrapper failed
collect2.exe: error: ld returned 1 exit status

Есть какая-то возможность указать gcc не удалять этот временный файл, чтобы можно было понять где проблема?

Положительный момент по сборкам от klen - в его сборках отладочная информация по макросам формируется правильно и gdb ее правильно "переваривает", в сборке от ARM gdb не может вытянуть информацию по макросам (не смотря на -ggdb3 указанный при компиляции/компоновке), что очень сильно напрягает.
Шаманъ
Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...
Terminator
Цитата(Шаманъ @ Apr 27 2017, 20:44) *
Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...

Как разобрался?
Шаманъ
Цитата(Terminator @ Apr 28 2017, 05:40) *
Как разобрался?

Включил опцию -save-temps у компоновщика, ассемблерный файл стал доступен для анализа, посмотрел где возникает ошибка. Ошибка возникала по всему из-за неправильной работы ассемблера, который неправильно разворачивал псевдоинструкции вида:
ldr R4,=XXXXX

Переделал эти псевдоинструкции на обычные ldr + ячейка с нужным содержимым регистра, все заработало.
klen
Цитата(Шаманъ @ Apr 27 2017, 16:44) *
Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...


печалька....
тем не менее предлагается попробывать 8 ветку wink.gif
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170511_GREAT.7z

какая версия "стандартного" компиллера?
соберу и погоняю, посмотрю разницу , поковыряюсь.
Шаманъ
Цитата(klen @ May 11 2017, 22:04) *
печалька....

Да в "стандартной версии" тоже не без проблем - проект разросся и -flto почему-то перестало давать прежний эфект. Теперь с -flto работает медленнее в полтора раза, чем без него laughing.gif .

Копания в истории изменений проекта ничего не дало - нашел "переход", где -flto перестал себя адекватно вести, но что конкретно ему не нравится понять сложно - изменения были в функциях, которые во время "замера производительности" вообще не вызываются (а времени заниматься причудами оптимизатора GCC нет, да и смысла особого нет).

Цитата
тем не менее предлагается попробывать 8 ветку wink.gif
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170511_GREAT.7z

Если под windows сделаете, то попробую и отпишусь, тем более вопрос производительности с недавних пор для меня стал достаточно актуальным.

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

6.3.1 https://developer.arm.com/open-source/gnu-t...nu-rm/downloads
klen
свежак.
для linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170513_OCIMUM.7z

2_Шаманъ пробуйте сборку под масдай64, проверил под wine - кажись дышит..

для Win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20170514_OCIMUM.7z

чуть пожже выложу крайние релизы 6 и 7 ветки для сравнения.
Шаманъ
Цитата(klen @ May 14 2017, 17:22) *
для Win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20170514_OCIMUM.7z

Не собирается:
Цитата
Linking...
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `VCPStart':
Soft\Ctrl2\Ctrl/VCP.c:140: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `clust2sect':
Soft\Ctrl2\Ctrl/ff.c:988: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `entryNVRAMTask':
Soft\Ctrl2\Ctrl/Settings.c:135: undefined reference to `memcpy'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `entryDisplayTask':
Soft\Ctrl2\Ctrl/Display.c:570: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans0.ltrans.o: In function `FrontSendCmd':
Soft\Ctrl2\Ctrl/Keyb.c:304: undefined reference to `memmove'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans0.ltrans.o: In function `Reset_Handler':
................


8.0.0 намного быстрее компилирует, раза в четыре наверное.

Кстати обнаружил причину странного поведения -flto. Если задать вместе с -flto генерацию отладочной информации (-g), то что-то ломается и lto не работает (об этом есть намек в доках, собственно когда его увидел и решил проверить). Пересобрал ради интереса проект компилятором 7.0.1 (от klen) еще раз без -g, теперь разница со "штатным" GCC около 10%, по прежнему в пользу "штатного" 6.3.1.
klen
Цитата(Шаманъ @ May 14 2017, 21:20) *
Не собирается:


8.0.0 намного быстрее компилирует, раза в четыре наверное.

Кстати обнаружил причину странного поведения -flto. Если задать вместе с -flto генерацию отладочной информации (-g), то что-то ломается и lto не работает (об этом есть намек в доках, собственно когда его увидел и решил проверить). Пересобрал ради интереса проект компилятором 7.0.1 (от klen) еще раз без -g, теперь разница со "штатным" GCC около 10%, по прежнему в пользу "штатного" 6.3.1.


хорошо
а в качестве эксперемента можете подсунуть "руками" memset/memcpy/memmove? чтоб результат погдядеть...
я к счастью ничем внешним не пользуюсь, даже libc и libm свои "местные" в исхниках, в связи с чем никакие либы кроме libgcc самого компиллера в проект не линкуются и все на лету генерится из исходников,
идея - сделать максимально быстрый бинарный код.
для универсальности и чтоб другие могли воспользоваться моей сборкой в ней присутствует newlib, от его кода меня воротит но .... кто не хочет сам писать libc и libm вынужден что то чужое использовать.
Шаманъ
Цитата(klen @ May 15 2017, 01:11) *
а в качестве эксперемента можете подсунуть "руками" memset/memcpy/memmove? чтоб результат погдядеть...

Подсунул, это не сложно - там всего три функции. Результата не вышло - улетает сразу в hardfault.

По всему он скомпилировал какую-то полную хрень в memset:
Нажмите для просмотра прикрепленного файла
Из-за чего начинается рекурсивный вызов ее, выход стека за границы ОЗУ и hardfault.

Собственно до main не доходит, можете поэкспериментировать - вот код, memmove и memset стандартные из исходников libgcc:
CODE

void Reset_Handler(void)
{
/* Initialize data */
memmove(&_data_start, &_data_start_flash, &_data_end - &_data_start);

/* Initialize settings with default values */
memmove(&_settings_start, &_settings_start_flash, &_settings_end - &_settings_start);

/* Initialize service with default values */
memmove(&_service_start, &_service_start_flash, &_service_end - &_service_start);

/* Initialize nvram with default values */
memmove(&_nvram_start, &_nvram_start_flash, &_nvram_end - &_nvram_start);

/* Initialize bss */
memset(&_bss_start, 0, &_bss_end - &_bss_start);

/* Zero fill sram1/sram2*/
memset(&_sram1_start, 0, &_sram1_end - &_sram1_start);
memset(&_sram2_start, 0, &_sram2_end - &_sram2_start);

/* Call the application's entry point.*/
main();
}



Цитата
я к счастью ничем внешним не пользуюсь, даже libc и libm свои "местные" в исхниках, в связи с чем никакие либы кроме libgcc самого компиллера в проект не линкуются

Я использую только memmove, memcpy и memset. И они есть в libgcc, если мне память не изменяет. Все остальное, кроме FatFS, тоже свое.
klen
2_Шаманъ
все это подозрительно...
проверил у себя - в libgcc нет этих функций в libgcc.
Цитата
klen@ubuntu:/opt/arm-kgp-eabi-8/lib/gcc/arm-kgp-eabi/8.0.0$ arm-kgp-eabi-objdump libgcc.a -t | grep memset
00000000 *UND* 00000000 memset
klen@ubuntu:/opt/arm-kgp-eabi-8/lib/gcc/arm-kgp-eabi/8.0.0$ arm-kgp-eabi-objdump libgcc.a -t | grep memmov
klen@ubuntu:/opt/arm-kgp-eabi-8/lib/gcc/arm-kgp-eabi/8.0.0$ arm-kgp-eabi-objdump libgcc.a -t | grep memcpy
00000000 *UND* 00000000 memcpy
00000000 *UND* 00000000 memcpy
klen@ubuntu:/opt/arm-kgp-eabi-8/lib/gcc/arm-kgp-eabi/8.0.0$


они внешние..
у меня работает, у Вас нет - а где разница, вот в чем вопрос..

Шаманъ
Цитата(klen @ May 16 2017, 21:18) *
проверил у себя - в libgcc нет этих функций в libgcc.

ну я просто из исходников libgcc.a от 6.3.1 закинул себе в проект все три функции, потому предположил, что они там должны быть.

Цитата
у меня работает, у Вас нет - а где разница, вот в чем вопрос..

Вы видели код memset? Как Вы думаете это похоже на нормальный код?

Вот исходник memset (взят из исходников libgcc.a от 6.3.1, но это никакого значения не имеет), что сгенерировал GCC 8.0.0 Вы можете посмотреть выше:
CODE

/* Public domain. */
#include <stddef.h>

void *
memset (void *dest, int val, size_t len)
{
unsigned char *ptr = dest;
while (len-- > 0)
*ptr++ = val;
return dest;
}


У меня тоже работает все, причем под любой версией "штатного" GCC. Могу еще попробовать собрать 8.0.0, но без -flto.

Цитата(klen @ May 16 2017, 21:18) *
все это подозрительно...

Скомпилировал проект без -flto, и что Вы думаете...вот, так с точки зрения GCC 8.0.0 должны выглядеть функция memse (исходник см. выше), та же беда, что и с -flto:
CODE

2:memset.c **** #include <stddef.h>
3:memset.c ****
4:memset.c **** void *
5:memset.c **** memset (void *dest, int val, size_t len)
6:memset.c **** {
28 .loc 1 6 0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 .LVL0:
33 0000 10B5 push {r4, lr}
34 .cfi_def_cfa_offset 8
35 .cfi_offset 4, -8
36 .cfi_offset 14, -4
37 .loc 1 6 0
38 0002 0446 mov r4, r0
39 .LVL1:
7:memset.c **** unsigned char *ptr = dest;
8:memset.c **** while (len-- > 0)
40 .loc 1 8 0
41 0004 12B1 cbz r2, .L4
42 0006 C9B2 uxtb r1, r1
43 .LVL2:
44 0008 FFF7FEFF bl memset
45 .LVL3:
46 .L4:
9:memset.c **** *ptr++ = val;
10:memset.c **** return dest;
11:memset.c **** }
47 .loc 1 11 0
48 000c 2046 mov r0, r4
49 000e 10BD pop {r4, pc}
50 .cfi_endproc
51 .LFE0:
52 .size memset, .-memset



klen, tсть какие-нибудь соображения?
klen
Цитата(Шаманъ @ May 17 2017, 09:41) *
......
47 .loc 1 11 0
48 000c 2046 mov r0, r4
49 000e 10BD pop {r4, pc}
50 .cfi_endproc
.....


прикольнинько! он тупо врапер вставил sm.gif халявщик! кода memset мы так и не увидели
идей море, будем их исключать.

такое поведение как мне кажется абсалютно нормально - мы где то не нормально что то объяснили компиллеру в коде! всегда так бывает. пока природа косяка не ясна но мы ее исследуем.

шаг номер нуль.
я компиляю либу со всеми mem* функциями и Вы пробуете ее линкануть - смотрим реакцию системы, далее следующий шаг. моя гипотеза - уши вылезут в итоге из заголовочных файлов - я думаю компилятор видит код тупо выполняет приказ заменить заглушкой, задача найти это место.

в атаче libklibc.a - моя реализация libc, совместимая с хидерами от newlib. ничего не меняя нужно его добавить для линковки. в частности там внутри реализации
00000000 g F .text.memcpy 000001b0 memcpy
00000000 g F .text.memccpy 00000136 memccpy
00000000 g F .text.memchr 000000f6 memchr
00000000 g F .text.memset 00000068 memset
00000000 g F .text.memcmp 000000e6 memcmp
00000000 g F .text.memmove 00000270 memmove
00000000 g F .text.strlen 00000016 strlen
00000000 g F .text.strncpy 0000011a strncpy
00000000 g F .text.strcpy 00000010 strcpy
00000000 g F .text.strcmp 00000020 strcmp
00000000 g F .text.strncmp 0000003a strncmp
00000000 g F .text.strchr 00000022 strchr
00000000 g F .text.strspn 00000034 strspn
00000000 g F .text.strpbrk 0000002c strpbrk
00000000 g F .text.strcoll 00000020 strcoll
00000000 g F .text.strstr 00000042 strstr
00000000 g F .text.strcat 00000028 strcat
00000000 g F .text.strlcat 000001f0 strlcat
00000000 g F .text.strcspn 00000034 strcspn
00000000 g F .text.strerror 00000004 strerror
00000000 g F .text.strncat 00000110 strncat
00000000 g F .text.strtok 00000070 strtok
00000000 *UND* 00000000 reentrant
00000000 g F .text.strxfrm 00000172 strxfrm
00000000 g F .text.strrchr 00000022 strrchr
00000000 w F .text.strrchr 00000022 rindex
.
собрано с ключами :
-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Ofast -fomit-frame-pointer -finline-functions -ffunction-sections -fdata-sections -fgraphite -funroll-loops -flto=8 -ffat-lto-objects -ggdb3 -fverbose-asm
должно линковатся без проблем с LTO и без него
если у Вас не-cotex-m4 приложу другую версию.
Шаманъ
Цитата(klen @ May 17 2017, 14:32) *
прикольнинько! он тупо заглушку вставил sm.gif халявщик!
идей море, будем их исключать.

Не, там похоже все печальнее, ибо кроме "заглушки" есть еще остатки цикла и, главное, рекурсия. Что никак нормальным быть не может:

Цитата
.LVL0:
33 0000 10B5 push {r4, lr}
38 0002 0446 mov r4, r0
41 0004 12B1 cbz r2, .L4
42 0006 C9B2 uxtb r1, r1
44 0008 FFF7FEFF bl memset
46 .L4:
48 000c 2046 mov r0, r4
49 000e 10BD pop {r4, pc}


Цитата
шаг номер нуль.
я компиляю либу со всеми mem* функциями и Вы пробуете ее линкануть - смотрим реакцию системы, далее следующий шаг. моя гипотеза - уши вылезут в итоге из заголовочных файлов - я думаю компилятор видит код тупо выполняет приказ заменить заглушкой, задача найти это место.

Не вопрос, но у меня cortex-m7 (stm32f746). Да, memmove, memset и memcpy достаточно.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.