Перейти к содержанию
    

Решил попробовать Вашу сборку под винду.

Не находит либу: libc_nano.a

 

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

 

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

 

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

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

 

может я не там newlibc-nano исходники смотрю.. дайте урл на дерево исходников, попробую собрать сборку с такой версией либы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уберите ключик или в спеках поправьте чтобы собиралось с 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)

Также встречал на просторах тырнета и реентерабельную версию.

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

Не продуктивно ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>И таки да. Разница ощутима (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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уверяю Вас что если я соберу с оптимизацией не по скорости а по размеру - НЕнано может оказаться меньше...

Вам размер кода важен? для такого случая собираю редко с ключами -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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

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

ну да.. разобрался, надо сконфигурить и собрать. в следующий раз сделаю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

свежак 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

 

сообщение отредактировано.

в связи с обнаруженем косяка файоы удалены и ссылки мертвы.

смотрите ниже. выложены обновленные сборки этой версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Свежак со старыми проблемами...

 

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 B)

^~~~~~~

../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

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Свежак со старыми проблемами...

 

пересадил музыкантов местами .. первая проблема должна уйти. проверьте плиз.

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

 

про вторую проблему надо вспомнить что я делал в прошный раз.... где то что то "отверткой подкрутил"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чего эти "подкручивания" в виде патчей не сдалать?

ps: пока не проверить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тестирую win64 версию для Cortex-M7:

Работает в железе.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и как в сравнении с ланчпадовским?

скорость размер...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорость с STM32F7xx слегка ниже или такая же.

У меня не очень подтверждённое "ошушение", что что-то сломалось в оптимизации для M4.fp - старые платы на STM32F429 перестали работать из-за нехватки ресурсов. Но это на всех компиляторах.

Сейчас на столе стоит аппарат с CortexA9, подправил проект чтобы при включении опции -mfpu=neon в обработчике прерываний сохранялся расширенный набор регистров плавающей точки - но похоже, в fir фильтрах сейчас -ftree-vectorize ничего не находит такого что можно было бы утоптать. Это всё на ланчпадововской версии (кстати, они на arm.com переезжают).

Ещё, заметил - если гонять на STM32F767 бинарник для STM32F746, скорость выше на 10%. Если указать правильный тип сопроцессора (но использовать single fp) - ещё выше. Правильно поставленные wait states на флэш (у 767 на один такт меньше чем в 746) почти не заметно в моих тестах.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

свежак

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

Здравствуйте Геннадий!

Ваш волшебный исходник нужно использовать в виде теста :)

данная сборка его пережевывет но только не с -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]

 

компиляется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

свежак 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вернулся к относительно старому проекту. "свежаками" не собирается.

/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".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...