Texas Instruments TIVA CPU Support Package

This package contains project templates and system files for the Texas Instruments TIVA.

CrossWorks Version 3 Installation Instructions

To install this support package
  1. Click the Tools > Package Manager menu option to open the package manager window.
  2. Right click on the Texas Instruments TIVA CPU Support Package entry and select Install Selected Packages.
  3. Click Next to take you to the summary page.
  4. Click Next to install the package.
  5. Click Finish to close the package manager window.
  6. Click the Tools > Show Installed Packages.
  7. Click on the Texas Instruments TIVA CPU Support Package link to view the package and its contents.
To manually install this support package
  1. If you have not done so already, follow the CMSIS 3 Support Package and CrossWorks Tasking Library Package installation instructions.
  2. Download the file TIVA.hzq using your web browser.
  3. Click the Tools > Manually Install Packages menu option.
  4. Select the file you have just downloaded to install the package.
  5. Click the Tools > Show Installed Packages.
  6. Click on the Texas Instruments TIVA CPU Support Package link to view the package and its contents.

Release Notes

1.3

1.2

1.1

1.0

Documentation

Creating TIVA Projects

To create a new TIVA project
To build and debug an application the runs in Flash memory
To make the application startup from reset

TIVA Project Specifics

Target Processor

Once a project has been created you can select different target processors by right clicking on the project node in the project explorer and selecting the Target Processor entry.

Selecting the target processor will specify the memory map that is used for the build and debug. You can view the selected memory map by right clicking on the project node in the project explorer and selecting View Memory Map or View Memory Map (as text) .

Section Placement

CrossStudio for ARM supports TIVA projects running applications in a number of different memory configurations. You can select the memory configuration you require by right clicking on the project node in the project explorer and selecting the Placement entry.

For TIVA projects the set of placements are:

Stack and Heap Sizes

The stack and heap sizes are set to be 256 bytes by default when a project is created. This enables projects to run on the smallest of the TIVA processors. It is likely that you will need to change these values when developing applications to run on the larger of the TIVA processors.

Target Startup Code

The startup code TIVA_Startup.s is common to all TIVA processors. There are a set of preprocessor defines that configure the startup code and are documented in the startup file itself. The startup code calls out to a weak symbol SystemInit with the stack pointer set to the top of RAM. The SystemInit function can be used to set the CPU clock or configure any external memories prior to the C initialisation code as such it cannot access initialised static data.

The startup code declares weak symbols for each interrupt service routine for example the PWM_Fault_ISR function will be called when this interrupt occurs. If you are porting code that has application specific interrupt service routine names then you can use the preprocessor definitions to rename the symbol for example PWM_Fault_ISR=MyPWMFaultISR .

Target Reset Script

The reset script TIVA_Target.js is used by the debugger to reset the target board.

TIVA Internal Flash Loader

The flash loader for the internal Flash of TIVA is provided.

Memory Simulator

An TIVA memory simulator is provided that simulates the memories of the various TIVA devices. The memory simulation parameter (which is set by the Target Processor selection) specifies the size of the Flash and the RAM memories.

Header Files

TI TIVA CMSIS Header files are supplied. The TIVA project setup adds the appropriate directory to the User Include Directories project property.

CTL support

The file TIVA_ctl.c implements the CTL system timer using the Cortex-M3 SysTick timer. The timer is configured to interrupt at a 10 millisecond rate and increment the CTL system timer by 10 to give a millisecond timer. The implementation uses the CMSIS SystemFrequency global variable to determine the CPU clock frequency. The CTL samples that are provided in this package have board specific files that implement this variable.

The CTL interrupt support functions ctl_set_isr , ctl_set_priority , ctl_unmask_isr and ctl_mask_isr are implemented in this file.

When you create a new CTL executable project the file TIVA_ctl_board.c is copied to the project - you will need to modify this file to work on the CPU/board you are using.