ti-hercules-bsp
ti-hercules-bsp copied to clipboard
Add support for TMS570LCxx/RM57LCxx targets
I have access to development kits for both of these targets. I'm relatively new to embedded rust but I tried hacking on your crate a bit and was able to build something that mostly ran on target some time ago. Some differences between LS/LC parts:
- cortex r4 vs r5f (I haven't really thought about what this means in a practical sense. Do the LS parts not have a vfpv3-d16 FPU?)
- Flash banks/sectors (sizes, starting points, etc)
- Peripheral base offsets (PCR1-3 @ 0xFFFF1000, 0xFCFF1000, 0xFFF78000)
- RM57 is LE, TMS570 is word invariant big-endian (BE-32)
- Possibly other things
Would it be worth trying to come up with chip/mcu definitions and defining the const base register addresses there?
I don't have LC class devices in my lab at the moment, but I'm open to review any PR.
Just a remark about FLASH memory: It is a special memory and specs are not available. A workaround is to use F021 lib. from TI in Rust. For this reason I wrote f021-flash-api. Pre-compiled F021 libs a available on TI website.
Appreciated. I've actually used the two pieces of hardware in a c/c++ project, including ones that used the F021 library. Your work is actually what made me think about trying out embedded rust on some hardware/bsps I'm familiar with (and happen to have on hand).