paoloteti/ti-hercules-bsp

Add support for TMS570LCxx/RM57LCxx targets

kamathba opened this issue · 2 comments

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).