So, the tool chain works, but how to get the startup code a little sturdier? So I guess that means - how to write the interrupt vector table? How to zero the bss?

How to do it all with the thumb instruction set in assembly... okay! Sleeves up.

https://www.whynotestflight.com/excuses/how-can-i-get-this-samd21e18-startup-code-a-little-sturdier/

And finally a repo

https://github.com/carlynorama/StrippedDownChipRosetta

#arm-gcc, #arm, #assembly, #trinketm0, #samd21, ,#doireallyhavetocallthis, #baremetal

How can I get this SAMD21E18 startup code a little sturdier?

A list of distractions

Now it's ARM's turn, Specifically the Core M0 SAMD21E18

There isn't quite the same perfect playlist (although plenty of great resources!) for what I wanted so this will be multi part to get to a "good" place. This post is mostly about the tool chain (arm-gcc/OpenOCD/gdb)

Hardware is the the Adafruit PyRuler which is a fancy Trinket M0

https://www.whynotestflight.com/excuses/how-can-i-make-programming-an-arm-chip-as-hard-as-possible/

Shout out to:
https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/

#arm, #SAMD21, #assembly, #gdb, #openocd, #jlink, #embedded, #TrinketM0

How can I make programming an ARM chip as hard as possible?

A list of distractions

« Just released v0.6.0 of #tinygo with many updates. Additional boards from @adafruit like the #featherm0 and #trinketm0 + enhanced #WebAssembly support + lots more. Thank you to all the contributors! https://github.com/tinygo-org/tinygo/releases/tag/v0.6.0 #golang »

— Retweet https://twitter.com/TinyGolang/status/1133819764642594818

tinygo-org/tinygo

Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. - tinygo-org/tinygo