Microcontroller Mapper

This is little project that I worked on for a while. Imagine something like processor expert, but for Texas Instruments MSP430 (or most any family of microcontrollers). Its a GUI that allows you to quickly assemble a board definitions include file for use in your project with great ease, and writing the least amount of code by hand (which can be error prone if the project is quite large). I developed this tool after working on a projects that had to be ported to work from one microcontroller to lots of others. Instead of going around writing hundreds of lines of register #defines, I made a program that allows you to quickly assign pins and modules in microcontrollers, while simultaneously verifying that you did not map a pin twice in different functions.

 Concept

The mapping of the microcontroller is divided into three layers. Modules, Resources and Mapping.

modules_resources2

  • Modules are generic macro definitions that descrive microcontroller peripherals. These are generic, and can be reused as many times as copies of the hardware exist inside the microncontroller. For example a DIGITAL_PIN, or a UART.
  • Resources are lists of modules that are given specific locations in a microcontroller. For example, P1.1 and P1.2 as a DIGITAL_PIN.
  • Mapping involves connecting the users project to specific resources in a microcontroller. This translates to giving the resource macro a user friendly name in the location specified by the resource. For example, BUTTON1 in P1.1 (which will automatically get set as a DIGITAL_PIN).

Continue reading