Hallo Zusammen, unter[http://www.mikrocontroller.net/articles/STM32#Weblinks.2C_Foren.2C_Communities.2C_Tutorials] gibt es einen Link zu einem CoreMark 1.0 Testbericht. Die Tests sind bei verschiedenen MCU- und Compilereinstellungen auf M3/M4-MCUs gelaufen. Obwohl die STM32 meist schon bei der debug-freundlichen -O0 genug Rechenleistung und Speicher haben, ist es doch ganz interessant zu sehen, wie sich Speicherbedarf, Geschwindigkeit und Verlustleistung anpassen lassen. Nun würde mich natürlich interessieren, ob jemand insbesondere mit dem GCC, eine bessere Performance erzielen kann. Im Bericht verwende ich nur die von CooCox 1.7.5 angebotenen -Os,-O0..3. Unter "gcc --help=optimizers" gibt's da sicher noch ein paar weitere Möglichkeiten. Die CoreMark-Lizenz mag nicht, dass ich die kompletten Projekte online stelle. Bei Interesse sende ich die CooCox-Projekte inkl. core_portme.c/h per PM. Die fehlenden CoreMark-Sourcen gibt's dann bei coremark.org kostenlos gegen Registrierung. Grüße, Marcus
Gast
#3563986
Interessant wäre auch der Coremark für -Og (debuggerfreundliche Optimierung), die es seit 4.8 gibt.
Hallo Uwe, da der GCC immer den letzten Switch einer Art verwendet, ergibt sich mit -mcpu=cortex-m4; -mthumb; -Wall; -ffunction-sections; -g; -O3; -Og; -DSTM32F407ZG; -DSTM32F4XX; -DUSE_STDPERIPH_DRIVER; -D__ASSEMBLY__; -I.; folgendes Ergebnis: STM32F407VG GCC4.8.3 -Og text 13892 data 44 bss 8220 168 MHz 5WS-I-D-P 258,397933 CoreMark 1,54 CoreMark/MHz Zum Vergleich: STM32F407VG GCC4.8.3 -O3 17648 44 8220 168 5WS-I-D-P 373,134328 2,22 Danke für den Tipp! Marcus
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.