The ARM Cortex™-M microcontroller Family
The TI TM4C1294 is an evolutioned microcontroller of the ARM family of Tiva C series. Specifically, the TM4C1294NCPDT with a lot of interesting features including floating point processing unit. Notably, the ARM Cortex is Hardvard Architecture, that is, the storage and signal paths are separated from data and instruction.
The Tiva C is an ARM Cortex™-M4F (the F is te suffix of floating point arithmetic capability). Below is the block diagram of this microcontroller, see how complex is:
Basically, as you view above the full microcontroller is divided in:
- The ARM Cortex M
- The System Peripherals (note it supports DMA, that’s a nice feature)
- Serial Peripherals
- Analog Peripherals
- Motion Control Peripherals
More detailed, there is the ARM Cortex-M processor:
We will focus only on the five (5) buses that compound the ARM Cortex™-M microcontroller:
- ICode Bus: compounds the bus that seeks information from flash ROM.
- DCode Bus: seeks information for data or debugging from flash ROM.
- System Bus: performs flow of read and write data from RAM to I/O ports.
- Private Peripheral Bus (internal bus): As it says, makes access for controlling peripherals like the Memory Protection Unit (MPU) and the Nested Vectored Interrupt Controller (NVIC)
- Advanced Peripheral Bus: communicate with high speed buses like an Ethernet controller and USB.
Why is recommended to use an ARM Cortex™-M microcontroller?
Well, you could use anything what you want MIPS, ARM, or any other architecture. But since a few years back some vendors are standarizing their cores to be “market familiar”, that’s why is very convenient to use ARM.
Some vendors that are standarizing their cores are:
- NXP Semiconductors
- Texas Instruments
- Freescale Semiconductors
- Nordic Semiconductors ASA
- And others
The advantages of knowing only one architecture and different partners is that with minimal or none change of the code you could migrate your software to the new platform minimizing the prototyping and production time.
Tiva C Connected LaunchPad
Now that we know some esoteric information about the ARM Cortex-M family, lets view the Connected LaunchPad
It comes with a preloaded IoT demo that will introduce you with Exosite, a very used IoT Service like Xively. The Connected LaunchPad Evaluation Kit costs between USD 19.99 and contains the following items:
- Tiva™ C Series TM4C1294 Evaluation Board (EK-TM4C1294XL)
- Retractable Ethernet cable
- USB Micro-B plug to USB-A plug cable
- README First document
The software tools for use the TI Connected LaunchPad are:
- Energia (TI like tool as Processing/Wiring in Arduino, i don’t like it)
- Code Composer Studio™ IDE
- Thrid Party Tools:
- Keil uVision (recommended, very good)
- Mentor Embedded
- IAR Systems
It is highly recommended to install TivaWare that has all the peripheral functions to start developing in the TI Tiva C Series. You could also use an RTOS from Keil (RTX) if you want to “play” it seriously.
To use the first time LaunchPad, follow the let’s get started instructions of “the out of the box demo”. Below is an application window of my TI Launchpad
When you are done with the demo, connect your LaunchPad to the PC and then install the drivers of the board. If you have windows 8, there is a problem installing unsigned drivers.
Follow this procedure to install the unsigned drivers in windows 8 or above.
Finally install Keil uVision. I am using version 4.74, but there is a new MDK version 5 that you could use.
Find more demos on the TI website of the LaunchPad and enjoy the new ARM world. Hope this helps to start convincing you follow up the ARM world.
Finally, here is a video of the TI Connected LaunchPad Demo.