Skip to content
Gabe Soares edited this page Nov 17, 2019 · 31 revisions

Welcome to the firmware wiki!

Team Phantom writes embedded C firmware on a TI Hercules microcontroller. We use a TMS570LS12, currently in the LAUNCHPADXL2 format. The launchpad can be seen below and here: LAUNCHXL2-TMS57012

Launchpad

Send a message to Jarod on slack if you don't have a launchpad

Getting Started

Start here to set up your dev environments, and compile code for the first time on the launchpad.

  • Project 0! This is how you first start up once you have your launchpad, and write your first blinky code.

  • If the above Project 0 link does not take you to a wiki, view the real archived version here.

    • It will go through how to download Code Composer Studio and Halcogen. Halcogen generates the lower level drivers for us to use on the microcontroller. Make sure you download Code Composer Studio version 9.
    • Also, in general, when using Halcogen, use 2k resolution at 100% display in case buttons/check box are not in place
  • When you've finished Project 0, browse through the TMS570 information below. Then move on to the Next Steps in Learning section to continue with more tutorials.

TI TMS570122x Information

The following info can be found here: TI TMS570LS12 WIKI

Launchpad info:

  • Jumper settings - different jumpers will provide connections between different parts of the board

  • User Guide - good overview and intro to the launchpad, shows/describes the pinout of the pins on the board and other external peripherals (light sensor, regulators, connectors, etc..)

  • Schematics - useful when you need to see which pins map to what outputs

  • Board design and parts - if you are curious about the pcb design of the launchpad

Microcontroller info:

  • Datasheet - explains overview of the MCU, footprint, pin count, pin mux/IO
  • Technical Reference Manual - huge document, use as a reference when needed, has every single thing about the microcontroller

HET pins as GIO:

  • Forum post - Although the TMS570 has two GPIO ports (A and B), only a few are exposed in our package (144LQFP). Turns out we can make use of the HET pins as general purpose I/O luckily.

Code Composer Studio:

  • Download Code Composer Studio here.

HALCoGen (Hardware Abstraction Layer Code Generator):

  • Download HALCoGen here.

Next Steps in Learning

Once you have set up your launchpad and mastered Project 0, you're ready for the next steps! Below you will find a series of videos on different peripherals of our microcontroller. You'll learn how to communicate using different serial protocols, how to read sensors using analog to digital converters, output pulse-width modulated waves and a lot more..

freeRTOS Learning

After becoming comfortable with some of the peripherals on the TMS570, you're ready to enter the world of real time operating systems! Follow the links below to learn more about how freeRTOS works and the details behind its operation. It's highly encouraged to create your own mini projects that build upon these fundamentals.

NOTE: If using a Launchpad or VCU REV0, make sure to select TMS570LS1224PGE_FREERTOS in Halcogen. If using a VCU REV1 or above, the MCU is a TMS570LS1227PGE which does NOT have a freeRTOS version in Halcogen. This document needs to be followed to create the right Halcogen setup.

Logo_Underline_Purple

Clone this wiki locally