As we have a nice DIYable community board design http://forums.leaflabs.com/topic.php?id=10410 ready to be equipped with an STM32 F3 series chip, I've started an F3-port of libmaple, based on git HEAD, it can be found here:
https://github.com/ventosus/libmaple/tree/F3
Once finalized, It should introduce suport for STM32F302xx/303xx/313xx to libmaple (fully API compatible wherever possible).
The peripherals of the F3 are either new, partially or fully portable in respect to the F1 series.
State of the port: functional with rough edges ;-)
- make build infrastructure, linker scripts: PORTED
- wirish, board defines: PORTED
fully portable peripherals:
- NVIC: PORTED
- RCC: PORTED
- SYSCFG: PORTED
- EXTI: PORTED (but the internal EXTIs)
- TIMER: PORTED
- DMA: PORTED
- DAC: PORTED
- USB serial: PORTED (F1 clone)
partially portable peripherals:
- SPI: PORTED
- GPIO: PORTED (F2 clone)
new peripherals:
- ADC: PORTED (awaiting some API extensions)
- FPU: PORTED
- I2C: EXPERIMENTAL (master-mode-only, no error handling yet)
- USART: NOT YET PORTED (no priority, as I don't use it atm)
- Comparator: NOT IMPLEMENTED
- OpAmp: NOT IMPLEMENTED
This is work-in-progress, don't expect it to be bug-free (ever), I cannot (and will not) test every last bit. I'll report in this thread on its advancement from time to time.
Bug-reports, patches, extensions, feedback, helping hands, etc. are welcome.
I've already migrated my main project from an F103CB to the F303CC (48pin) with this port. It uses 4xADC(in dual-dual mode with 4 DMA channels), 1xSPI(2 DMA channels), 1xI2C, the FPU, SIMD instructions, the DAC and a couple of timers and external interrupts, working fine so far.