littlekernel / lk

LK embedded kernel
MIT License
3.11k stars 613 forks source link

Migrating from StellarisWare to TivaWare #261

Open CunningLearner opened 4 years ago

CunningLearner commented 4 years ago

This patch supports new platforms available under same TivaWare umbrella, enhances portability and correct architectural deficiencies and inconsistencies in StellarisWare.

More detailed features for further migration can be referenced from: http://www.ti.com/lit/an/spma050a/spma050a.pdf

Tested on Tiva C series TM4C123GH6PM.

Signed-off-by: Himanshu Sahdev aka CunningLearner sahdev.himan@gmail.com

travisg commented 4 years ago

Oh very nice! I'll have to try it out on my old tiva boards. I do remember TI renaming everything while I still had my stellaris board.

travisg commented 4 years ago

This looks nice, but there is a built failure or two in there, can you take a look? I have my old Tiva C launchpad ready to test this on.

CunningLearner commented 4 years ago

This looks nice, but there is a built failure or two in there, can you take a look? I have my old Tiva C launchpad ready to test this on.

Yeah, the problem is with the toolchain arm-eabi-7.3.0-Linux-x86_64 I guess, I am using arm-none-eabi-7-2018-q3-update and it works fine! Also check using their respective higher versions available.

driverlib/hibernate.c needs time.h which is not included in the arm-eabi but is available with arm-none-eabi. travis-build only uses arm-eabi and throws error

  1. Removing hibernate.c from MODULE_SRCS works well. So we can push initially without including it in rules.mk You can also test it initially
  2. Both StellarisWare and TivaWare looks for arm-stellaris-eabi if it exists, fallback to arm-none-eabi otherwise. Can we use arm-none-eabi for travis-build as well?
  3. ?