- implement flash driver - see arch/arm/src/stm32/stm32_flash.c and related - both banks could be mapped with care taken not to erase the active code. - perhaps the MPU could block code corruption? - once implemented, the free() cmd replacement can show flash information. - Seen crashes when running serial ports below 921600 - COM34 (UART1, ttyS1) runs the smoothest with 'serialblaster' test... the other two (UART0, USART1) seem to stutter... - created a cpuhog test. Each instance takes a semaphore, burns cpu for 6ms and then releases the sem to exercises semaphores passing and a busy cpu. The first two instances become a producer/consumer pair using a pipe (FIFO) to exercise the fileio data passing. -> no crashes with 8 instances running. (No MMU, No BASEPRI) -> no crashes with 8 instances running. (MMU + BASEPRI) -> not however that the serial ports are very finicky with BASEPRI enabled! This setup sends single charactes for each produced or consumed block, and doesn't seem to have any issues: NuttShell (NSH) nsh> cpuhog > /dev/ttyS1 & cpuhog [5:50] nsh> cpuhog > /dev/ttyS2 & cpuhog [7:50] nsh> cpuhog & cpuhog [8:50] nsh> cpuhog 2 cpuhog & cpuhog [9:50] nsh> cpuhog 3 cpuhog & cpuhog [10:50] nsh> cpuhog 4 cpuhog & cpuhog [11:50] nsh> cpuhog 5 nsh> cpuhog & cpuhog [12:50] nsh> cpuhog 6 nsh> cpuhog & cpuhog [13:50] nsh> cpuhog 7 - USB serial not quite stable when pushing lots of data - UARTs don't use DMA. We may need this for high baudrates. - Inbound hardware flow control requires dma. Current Test: 40mA: 120Mhz (240 MHz PLL) with SDCard mounted, UART0+UART1+USART1 enabled, USB Device availible (but nothing plugged in) 37.8mA: 120Mhz (120 MHz PLL) with SDCard mounted, UART0+UART1+USART1 enabled 16.9mA: "" with WFI added to up_idle()