Transfering the arduino/TI-MSP430 Launchpad/Energia skills to real world projects and C

arduinoenergiamicrocontrollermsp430

I'm learning electronics/microcontroller programming through TI-MSP430 Launchpad(Energia) and Arduino.

Both are based on wiring framework, and very good place to start for a beginner like me.

Now as I'm forwarding in my learning, I'm thinking to explore more and want to do a real world project. My project can be easily done on both above mentioned platforms, but I want to use STM8S-Discovery(Dev board or STM8S series MCU) for this but there is no wiring framework for STM8S as far as I know and I don't want to use if there is any.

What other skills/information I need to migrate from these wiring framework based platform to real world microcontroller projects?

Best Answer

I've figured out how to program an ATmega on an Arduino board directly from the command line, without using the Arduino IDE and its libraries. I can program it now like any other bare AVR, but with the advantage of an integrated USB ICP programmer. So I am still using the board (which is little more than a crystal, a USB to UART interface and a voltage regulator), but I'm using real world tool chain to program it, without the Arduino bloat.

I guess all the tools to do bare metal programming for the MSP430 should be on your system too if you have Energia installed. You just have to figure out what the Energia IDE adds as libraries and wrappers. You can check that by viewing the verbose output when compiling and programming the device. (File => Preferences => Show verbose output during: ☑ compilation ☑ upload).

Find the compiler commands and its flags, find the commands to program the controller. Then check with the documentation which commands, what flags you really need and which ones are Energia/Arduino specific. This probably leaves you with a compiler stage, linker stage, conversion to binary/hex stage and a flash-the-controller stage.