Hi all,
I'm working on an STM32F2xx audio project and would like to build on libmaple. I've started the process of adding F2xx support, but have run in to a LOT of differences from the F1xx parts. See this pastebin example, for starters:
http://pastebin.me/28a2be0b8fd0991a6085eb9a730f9bfe
I've only dealt with the RCC and GPIO peripherals so far. In that limited exploration, I've found substantial differences in:
- the clocking scheme (an extra PLL, for starters)
- AHB vs. APB peripheral assignments (and an extra AHB register)
- peripheral base addresses
- register arrangements (some registers are swapped, and lots are added in between the F1xx register addresses)
I'm thinking of trying to factor out all the register details into separate hardware headers, and try to confine the libmaple headers to expressing only the C function API -- in a way that can hide or embody the differences between the devices. The option to work directly with the hardware would remain, but would require inclusion of the hardware headers (in which case, the user would know they're doing something device-specific).
I figure I'd check to see what interest and support I'd get from libmaple developers, before I go through the trouble to do something perhaps nobody else cares about...
- Jared