diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/Makefile b/demos/ARMCM3-STM32F100-DISCOVERY/Makefile index 00405071a..792a57e5f 100644 --- a/demos/ARMCM3-STM32F100-DISCOVERY/Makefile +++ b/demos/ARMCM3-STM32F100-DISCOVERY/Makefile @@ -5,7 +5,7 @@ # Compiler options here. ifeq ($(USE_OPT),) - USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 + USE_OPT = -O2 -ggdb -fomit-frame-pointer endif # C++ specific options here (added to USE_OPT). diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/iar/ch.icf b/demos/ARMCM3-STM32F100-DISCOVERY/iar/ch.icf index 138f1a1a3..f33d49367 100644 --- a/demos/ARMCM3-STM32F100-DISCOVERY/iar/ch.icf +++ b/demos/ARMCM3-STM32F100-DISCOVERY/iar/ch.icf @@ -13,15 +13,15 @@ define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_heap__ = 0x400; /**** End of ICF editor section. ###ICF###*/ -/* Size of the Process Stack.*/ -define symbol __ICFEDIT_size_pstack__ = 0x400; +/* Size of the IRQ Stack (Main Stack).*/ +define symbol __ICFEDIT_size_irqstack__ = 0x400; define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block PSTACK with alignment = 8, size = __ICFEDIT_size_pstack__ { }; +define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; define block SYSHEAP with alignment = 8, size = 0 { }; @@ -32,6 +32,6 @@ keep { section .intvec }; place at address mem:__ICFEDIT_intvec_start__ { section .intvec }; place in ROM_region { readonly }; -place in RAM_region { block PSTACK, block CSTACK, readwrite, block HEAP, block SYSHEAP}; +place in RAM_region { block IRQSTACK, block CSTACK, readwrite, block HEAP, block SYSHEAP}; -define exported symbol __heap_end__ = end(RAM_region) + 1; \ No newline at end of file +define exported symbol __heap_end__ = end(RAM_region) + 1; diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt new file mode 100644 index 000000000..2ee08979e --- /dev/null +++ b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt @@ -0,0 +1,2031 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + Demo + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\lst\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103RB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103RB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 8 + + + + + + + + + + + STLink\ST-LINKIII-KEIL.dll + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + ST-LINKIII-KEIL + -S + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + + + + + 1 + 0 + 0x08005ee0 + + + + + 2 + 0 + 0x08000000 + + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + board + 0 + 0 + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\boards\ST_STM32VL_DISCOVERY\board.c + board.c + + + 1 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\boards\ST_STM32VL_DISCOVERY\board.h + board.h + + + + + port + 0 + 0 + 0 + + 2 + 3 + 2 + 0 + 0 + 48 + 0 + 73 + 97 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\cstartup.s + cstartup.s + + + 2 + 4 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\STM32\vectors.s + vectors.s + + + 2 + 5 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chcoreasm_v7m.s + chcoreasm_v7m.s + + + 2 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chcore.c + chcore.c + + + 2 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chcore_v7m.c + chcore_v7m.c + + + 2 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\nvic.c + nvic.c + + + 2 + 9 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chcore.h + chcore.h + + + 2 + 10 + 5 + 0 + 0 + 37 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chcore_v7m.h + chcore_v7m.h + + + 2 + 11 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\chtypes.h + chtypes.h + + + 2 + 12 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\ports\RVCT\ARMCMx\nvic.h + nvic.h + + + + + kernel + 0 + 0 + 0 + + 3 + 13 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chcond.c + chcond.c + + + 3 + 14 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chdebug.c + chdebug.c + + + 3 + 15 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chdynamic.c + chdynamic.c + + + 3 + 16 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chevents.c + chevents.c + + + 3 + 17 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chheap.c + chheap.c + + + 3 + 18 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chlists.c + chlists.c + + + 3 + 19 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chmboxes.c + chmboxes.c + + + 3 + 20 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chmemcore.c + chmemcore.c + + + 3 + 21 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chmempools.c + chmempools.c + + + 3 + 22 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chmsg.c + chmsg.c + + + 3 + 23 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chmtx.c + chmtx.c + + + 3 + 24 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chqueues.c + chqueues.c + + + 3 + 25 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chregistry.c + chregistry.c + + + 3 + 26 + 1 + 0 + 0 + 11 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chschd.c + chschd.c + + + 3 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chsem.c + chsem.c + + + 3 + 28 + 1 + 0 + 0 + 10 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chsys.c + chsys.c + + + 3 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chthreads.c + chthreads.c + + + 3 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\src\chvt.c + chvt.c + + + 3 + 31 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\ch.h + ch.h + + + 3 + 32 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chbsem.h + chbsem.h + + + 3 + 33 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chcond.h + chcond.h + + + 3 + 34 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chdebug.h + chdebug.h + + + 3 + 35 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chdynamic.h + chdynamic.h + + + 3 + 36 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chevents.h + chevents.h + + + 3 + 37 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chfiles.h + chfiles.h + + + 3 + 38 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chheap.h + chheap.h + + + 3 + 39 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chinline.h + chinline.h + + + 3 + 40 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chioch.h + chioch.h + + + 3 + 41 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chlists.h + chlists.h + + + 3 + 42 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chmboxes.h + chmboxes.h + + + 3 + 43 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chmemcore.h + chmemcore.h + + + 3 + 44 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chmempools.h + chmempools.h + + + 3 + 45 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chmsg.h + chmsg.h + + + 3 + 46 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chmtx.h + chmtx.h + + + 3 + 47 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chqueues.h + chqueues.h + + + 3 + 48 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chregistry.h + chregistry.h + + + 3 + 49 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chschd.h + chschd.h + + + 3 + 50 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chsem.h + chsem.h + + + 3 + 51 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chstreams.h + chstreams.h + + + 3 + 52 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chsys.h + chsys.h + + + 3 + 53 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chthreads.h + chthreads.h + + + 3 + 54 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\kernel\include\chvt.h + chvt.h + + + + + hal + 0 + 0 + 0 + + 4 + 55 + 1 + 0 + 0 + 13 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\adc.c + adc.c + + + 4 + 56 + 1 + 0 + 0 + 68 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\can.c + can.c + + + 4 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\hal.c + hal.c + + + 4 + 58 + 1 + 0 + 0 + 58 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\i2c.c + i2c.c + + + 4 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\mac.c + mac.c + + + 4 + 60 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\mmc_spi.c + mmc_spi.c + + + 4 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\pal.c + pal.c + + + 4 + 62 + 1 + 0 + 0 + 56 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\pwm.c + pwm.c + + + 4 + 63 + 1 + 0 + 0 + 32 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\serial.c + serial.c + + + 4 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\spi.c + spi.c + + + 4 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\src\uart.c + uart.c + + + 4 + 66 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\adc.h + adc.h + + + 4 + 67 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\can.h + can.h + + + 4 + 68 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\hal.h + hal.h + + + 4 + 69 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\i2c.h + i2c.h + + + 4 + 70 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\mac.h + mac.h + + + 4 + 71 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\mii.h + mii.h + + + 4 + 72 + 5 + 0 + 0 + 55 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\mmc_spi.h + mmc_spi.h + + + 4 + 73 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\pal.h + pal.h + + + 4 + 74 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\pwm.h + pwm.h + + + 4 + 75 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\serial.h + serial.h + + + 4 + 76 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\spi.h + spi.h + + + 4 + 77 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\include\uart.h + uart.h + + + + + platform + 0 + 0 + 0 + + 5 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\adc_lld.c + adc_lld.c + + + 5 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\can_lld.c + can_lld.c + + + 5 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\hal_lld.c + hal_lld.c + + + 5 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\pal_lld.c + pal_lld.c + + + 5 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\pwm_lld.c + pwm_lld.c + + + 5 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\serial_lld.c + serial_lld.c + + + 5 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\spi_lld.c + spi_lld.c + + + 5 + 85 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\stm32_dma.c + stm32_dma.c + + + 5 + 86 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\uart_lld.c + uart_lld.c + + + 5 + 87 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\adc_lld.h + adc_lld.h + + + 5 + 88 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\can_lld.h + can_lld.h + + + 5 + 89 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\core_cm3.h + core_cm3.h + + + 5 + 90 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\hal_lld.h + hal_lld.h + + + 5 + 91 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\hal_lld_f103.h + hal_lld_f103.h + + + 5 + 92 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\pal_lld.h + pal_lld.h + + + 5 + 93 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\pwm_lld.h + pwm_lld.h + + + 5 + 94 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\serial_lld.h + serial_lld.h + + + 5 + 95 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\spi_lld.h + spi_lld.h + + + 5 + 96 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\stm32_dma.h + stm32_dma.h + + + 5 + 97 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\stm32f10x.h + stm32f10x.h + + + 5 + 98 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\os\hal\platforms\STM32\uart_lld.h + uart_lld.h + + + + + test + 0 + 0 + 0 + + 6 + 99 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\test.c + test.c + + + 6 + 100 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testbmk.c + testbmk.c + + + 6 + 101 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testdyn.c + testdyn.c + + + 6 + 102 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testevt.c + testevt.c + + + 6 + 103 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testheap.c + testheap.c + + + 6 + 104 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmbox.c + testmbox.c + + + 6 + 105 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmsg.c + testmsg.c + + + 6 + 106 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmtx.c + testmtx.c + + + 6 + 107 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testpools.c + testpools.c + + + 6 + 108 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testqueues.c + testqueues.c + + + 6 + 109 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testsem.c + testsem.c + + + 6 + 110 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testthd.c + testthd.c + + + 6 + 111 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\test.h + test.h + + + 6 + 112 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testbmk.h + testbmk.h + + + 6 + 113 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testdyn.h + testdyn.h + + + 6 + 114 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testevt.h + testevt.h + + + 6 + 115 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testheap.h + testheap.h + + + 6 + 116 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmbox.h + testmbox.h + + + 6 + 117 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmsg.h + testmsg.h + + + 6 + 118 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testmtx.h + testmtx.h + + + 6 + 119 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testpools.h + testpools.h + + + 6 + 120 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testqueues.h + testqueues.h + + + 6 + 121 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testsem.h + testsem.h + + + 6 + 122 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\test\testthd.h + testthd.h + + + + + demo + 1 + 0 + 0 + + 7 + 123 + 1 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + ..\main.c + main.c + + + 7 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\mcuconf.h + mcuconf.h + + + 7 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\chconf.h + chconf.h + + + 7 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\halconf.h + halconf.h + + + + + 1 + 0 + + 100 + 0 + + + ..\main.c + 0 + 1 + 1 + + + ..\..\..\os\ports\RVCT\ARMCMx\cstartup.s + 48 + 73 + 97 + + + + + +
diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj new file mode 100644 index 000000000..6324a3f09 --- /dev/null +++ b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj @@ -0,0 +1,1055 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Demo + 0x4 + ARM-ADS + + + STM32F103RB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4231 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\obj\ + ch + 1 + 0 + 0 + 1 + 1 + .\lst\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103RB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103RB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + + 0 + 8 + + + + + + + + + + + + + + STLink\ST-LINKIII-KEIL.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4100 + + STLink\ST-LINKIII-KEIL.dll + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 1 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x2000 + + + 0 + 0x20002000 + 0x1 + + + + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + __heap_base__=Image$$RW_IRAM1$$ZI$$Limit __heap_end__=Image$$RW_IRAM2$$Base + + ..\;..\..\..\os\kernel\include;..\..\..\os\ports\RVCT\ARMCMx;..\..\..\os\ports\RVCT\ARMCMx\STM32;..\..\..\os\hal\include;..\..\..\os\hal\platforms\STM32;..\..\..\boards\OLIMEX_STM32_P103;..\..\..\test + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc + + + ..\..\..\boards\OLIMEX_STM32_P103;..\..\..\os\ports\RVCT\ARMCMx\STM32 + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + board + + + board.c + 1 + ..\..\..\boards\ST_STM32VL_DISCOVERY\board.c + + + board.h + 5 + ..\..\..\boards\ST_STM32VL_DISCOVERY\board.h + + + + + port + + + cstartup.s + 2 + ..\..\..\os\ports\RVCT\ARMCMx\cstartup.s + + + vectors.s + 2 + ..\..\..\os\ports\RVCT\ARMCMx\STM32\vectors.s + + + chcoreasm_v7m.s + 2 + ..\..\..\os\ports\RVCT\ARMCMx\chcoreasm_v7m.s + + + chcore.c + 1 + ..\..\..\os\ports\RVCT\ARMCMx\chcore.c + + + chcore_v7m.c + 1 + ..\..\..\os\ports\RVCT\ARMCMx\chcore_v7m.c + + + nvic.c + 1 + ..\..\..\os\ports\RVCT\ARMCMx\nvic.c + + + chcore.h + 5 + ..\..\..\os\ports\RVCT\ARMCMx\chcore.h + + + chcore_v7m.h + 5 + ..\..\..\os\ports\RVCT\ARMCMx\chcore_v7m.h + + + chtypes.h + 5 + ..\..\..\os\ports\RVCT\ARMCMx\chtypes.h + + + nvic.h + 5 + ..\..\..\os\ports\RVCT\ARMCMx\nvic.h + + + + + kernel + + + chcond.c + 1 + ..\..\..\os\kernel\src\chcond.c + + + chdebug.c + 1 + ..\..\..\os\kernel\src\chdebug.c + + + chdynamic.c + 1 + ..\..\..\os\kernel\src\chdynamic.c + + + chevents.c + 1 + ..\..\..\os\kernel\src\chevents.c + + + chheap.c + 1 + ..\..\..\os\kernel\src\chheap.c + + + chlists.c + 1 + ..\..\..\os\kernel\src\chlists.c + + + chmboxes.c + 1 + ..\..\..\os\kernel\src\chmboxes.c + + + chmemcore.c + 1 + ..\..\..\os\kernel\src\chmemcore.c + + + chmempools.c + 1 + ..\..\..\os\kernel\src\chmempools.c + + + chmsg.c + 1 + ..\..\..\os\kernel\src\chmsg.c + + + chmtx.c + 1 + ..\..\..\os\kernel\src\chmtx.c + + + chqueues.c + 1 + ..\..\..\os\kernel\src\chqueues.c + + + chregistry.c + 1 + ..\..\..\os\kernel\src\chregistry.c + + + chschd.c + 1 + ..\..\..\os\kernel\src\chschd.c + + + chsem.c + 1 + ..\..\..\os\kernel\src\chsem.c + + + chsys.c + 1 + ..\..\..\os\kernel\src\chsys.c + + + chthreads.c + 1 + ..\..\..\os\kernel\src\chthreads.c + + + chvt.c + 1 + ..\..\..\os\kernel\src\chvt.c + + + ch.h + 5 + ..\..\..\os\kernel\include\ch.h + + + chbsem.h + 5 + ..\..\..\os\kernel\include\chbsem.h + + + chcond.h + 5 + ..\..\..\os\kernel\include\chcond.h + + + chdebug.h + 5 + ..\..\..\os\kernel\include\chdebug.h + + + chdynamic.h + 5 + ..\..\..\os\kernel\include\chdynamic.h + + + chevents.h + 5 + ..\..\..\os\kernel\include\chevents.h + + + chfiles.h + 5 + ..\..\..\os\kernel\include\chfiles.h + + + chheap.h + 5 + ..\..\..\os\kernel\include\chheap.h + + + chinline.h + 5 + ..\..\..\os\kernel\include\chinline.h + + + chioch.h + 5 + ..\..\..\os\kernel\include\chioch.h + + + chlists.h + 5 + ..\..\..\os\kernel\include\chlists.h + + + chmboxes.h + 5 + ..\..\..\os\kernel\include\chmboxes.h + + + chmemcore.h + 5 + ..\..\..\os\kernel\include\chmemcore.h + + + chmempools.h + 5 + ..\..\..\os\kernel\include\chmempools.h + + + chmsg.h + 5 + ..\..\..\os\kernel\include\chmsg.h + + + chmtx.h + 5 + ..\..\..\os\kernel\include\chmtx.h + + + chqueues.h + 5 + ..\..\..\os\kernel\include\chqueues.h + + + chregistry.h + 5 + ..\..\..\os\kernel\include\chregistry.h + + + chschd.h + 5 + ..\..\..\os\kernel\include\chschd.h + + + chsem.h + 5 + ..\..\..\os\kernel\include\chsem.h + + + chstreams.h + 5 + ..\..\..\os\kernel\include\chstreams.h + + + chsys.h + 5 + ..\..\..\os\kernel\include\chsys.h + + + chthreads.h + 5 + ..\..\..\os\kernel\include\chthreads.h + + + chvt.h + 5 + ..\..\..\os\kernel\include\chvt.h + + + + + hal + + + adc.c + 1 + ..\..\..\os\hal\src\adc.c + + + can.c + 1 + ..\..\..\os\hal\src\can.c + + + hal.c + 1 + ..\..\..\os\hal\src\hal.c + + + i2c.c + 1 + ..\..\..\os\hal\src\i2c.c + + + mac.c + 1 + ..\..\..\os\hal\src\mac.c + + + mmc_spi.c + 1 + ..\..\..\os\hal\src\mmc_spi.c + + + pal.c + 1 + ..\..\..\os\hal\src\pal.c + + + pwm.c + 1 + ..\..\..\os\hal\src\pwm.c + + + serial.c + 1 + ..\..\..\os\hal\src\serial.c + + + spi.c + 1 + ..\..\..\os\hal\src\spi.c + + + uart.c + 1 + ..\..\..\os\hal\src\uart.c + + + adc.h + 5 + ..\..\..\os\hal\include\adc.h + + + can.h + 5 + ..\..\..\os\hal\include\can.h + + + hal.h + 5 + ..\..\..\os\hal\include\hal.h + + + i2c.h + 5 + ..\..\..\os\hal\include\i2c.h + + + mac.h + 5 + ..\..\..\os\hal\include\mac.h + + + mii.h + 5 + ..\..\..\os\hal\include\mii.h + + + mmc_spi.h + 5 + ..\..\..\os\hal\include\mmc_spi.h + + + pal.h + 5 + ..\..\..\os\hal\include\pal.h + + + pwm.h + 5 + ..\..\..\os\hal\include\pwm.h + + + serial.h + 5 + ..\..\..\os\hal\include\serial.h + + + spi.h + 5 + ..\..\..\os\hal\include\spi.h + + + uart.h + 5 + ..\..\..\os\hal\include\uart.h + + + + + platform + + + adc_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\adc_lld.c + + + can_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\can_lld.c + + + hal_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\hal_lld.c + + + pal_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\pal_lld.c + + + pwm_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\pwm_lld.c + + + serial_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\serial_lld.c + + + spi_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\spi_lld.c + + + stm32_dma.c + 1 + ..\..\..\os\hal\platforms\STM32\stm32_dma.c + + + uart_lld.c + 1 + ..\..\..\os\hal\platforms\STM32\uart_lld.c + + + adc_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\adc_lld.h + + + can_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\can_lld.h + + + core_cm3.h + 5 + ..\..\..\os\hal\platforms\STM32\core_cm3.h + + + hal_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\hal_lld.h + + + hal_lld_f103.h + 5 + ..\..\..\os\hal\platforms\STM32\hal_lld_f103.h + + + pal_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\pal_lld.h + + + pwm_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\pwm_lld.h + + + serial_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\serial_lld.h + + + spi_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\spi_lld.h + + + stm32_dma.h + 5 + ..\..\..\os\hal\platforms\STM32\stm32_dma.h + + + stm32f10x.h + 5 + ..\..\..\os\hal\platforms\STM32\stm32f10x.h + + + uart_lld.h + 5 + ..\..\..\os\hal\platforms\STM32\uart_lld.h + + + + + test + + + test.c + 1 + ..\..\..\test\test.c + + + testbmk.c + 1 + ..\..\..\test\testbmk.c + + + testdyn.c + 1 + ..\..\..\test\testdyn.c + + + testevt.c + 1 + ..\..\..\test\testevt.c + + + testheap.c + 1 + ..\..\..\test\testheap.c + + + testmbox.c + 1 + ..\..\..\test\testmbox.c + + + testmsg.c + 1 + ..\..\..\test\testmsg.c + + + testmtx.c + 1 + ..\..\..\test\testmtx.c + + + testpools.c + 1 + ..\..\..\test\testpools.c + + + testqueues.c + 1 + ..\..\..\test\testqueues.c + + + testsem.c + 1 + ..\..\..\test\testsem.c + + + testthd.c + 1 + ..\..\..\test\testthd.c + + + test.h + 5 + ..\..\..\test\test.h + + + testbmk.h + 5 + ..\..\..\test\testbmk.h + + + testdyn.h + 5 + ..\..\..\test\testdyn.h + + + testevt.h + 5 + ..\..\..\test\testevt.h + + + testheap.h + 5 + ..\..\..\test\testheap.h + + + testmbox.h + 5 + ..\..\..\test\testmbox.h + + + testmsg.h + 5 + ..\..\..\test\testmsg.h + + + testmtx.h + 5 + ..\..\..\test\testmtx.h + + + testpools.h + 5 + ..\..\..\test\testpools.h + + + testqueues.h + 5 + ..\..\..\test\testqueues.h + + + testsem.h + 5 + ..\..\..\test\testsem.h + + + testthd.h + 5 + ..\..\..\test\testthd.h + + + + + demo + + + main.c + 1 + ..\main.c + + + mcuconf.h + 5 + ..\mcuconf.h + + + chconf.h + 5 + ..\chconf.h + + + halconf.h + 5 + ..\halconf.h + + + + + + + +
diff --git a/docs/reports/STM32F100-24-IAR.txt b/docs/reports/STM32F100-24-IAR.txt new file mode 100644 index 000000000..5230cd9fe --- /dev/null +++ b/docs/reports/STM32F100-24-IAR.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -Ohs +Settings: SYSCLK=24, ACR=0x10 (no wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 97050 msgs/S, 194100 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 336864 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 60909 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 88760 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 28086 reschedules/S, 168516 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 183660 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 214132 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 310062 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 463584 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 271312 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F100-24-RVCT.txt b/docs/reports/STM32F100-24-RVCT.txt new file mode 100644 index 000000000..29fcd3156 --- /dev/null +++ b/docs/reports/STM32F100-24-RVCT.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: SYSCLK=24, ACR=0x10 (no wait states) +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 99090 msgs/S, 198180 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 86522 msgs/S, 173044 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 86522 msgs/S, 173044 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 343016 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 65072 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 91152 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 29264 reschedules/S, 175584 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 202360 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 228520 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 294828 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 454856 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 277668 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index 5c87b1e52..17c4954c3 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -1,5 +1,5 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: SYSCLK=24, ACR=0x10 (no wait states) *************************************************************************** diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 7695e1d17..0a1ab838c 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -1,7 +1,7 @@ *************************************************************************** Options: -O3 -Otime --apcs=interwork Settings: SYSCLK=72, ACR=0x12 (2 wait states) -Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *************************************************************************** *** ChibiOS/RT test suite diff --git a/readme.txt b/readme.txt index dec1c4da0..c3e4a4747 100644 --- a/readme.txt +++ b/readme.txt @@ -74,8 +74,8 @@ to 2.0.9). - NEW: New ARM Cortex-Mx port for RVCT compiler (probably will not be included in 2.2.0, requires more testing). -- NEW: Integrated the STM32 GCC, IAR and RVCT demos in a single demo with - multiple project files, the code is exactly the same. +- NEW: Integrated the Cortex-M3 GCC, IAR and RVCT demos in a single demo + with multiple project files, the code is exactly the same. - NEW: Added an USB clock configuration in the STM32 HAL driver (LD, MD, HD). - NEW: New semaphore API chSemSetCounterI(). - NEW: New queue APIs chIQGetFullI() and chOQGetFullI().