Texas Instruments OMAP4 CPU Support Package

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

CrossWorks Version 3 Installation Instructions

This package can only be installed if you have the following CrossWorks license bolt-ons:

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 OMAP4 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 OMAP4 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 CrossWorks Tasking Library Package installation instructions.
  2. Download the file OMAP4.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 OMAP4 CPU Support Package link to view the package and its contents.
To install this support package using other versions

Release Notes

1.1

1.0

Documentation

Creating OMAP4 Projects

To create a new OMAP4 project
To build and debug an application the runs in OCM RAM

OMAP4 Project Specifics

Target Processor

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

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 Edit Memory Map. In the memory map files the memory segments defining the names, sizes and access types of the external memories are specified using macros which can be set using the Memory Map Macros project property.

Section Placement

CrossStudio for ARM supports OMAP4 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 property.

For OMAP4 projects the set of placements are:

Note that a CPU1 project must be run as a debug dependent project of a CPU0 project.

Target Startup Code

In the startup code OMAP4_Startup.s there are a set of preprocessor defines that configure the startup code and are documented in the startup file itself.

Target Reset Script

The reset script OMAP4_Target.js resets the target using the icepick and stops it in the bootloader. You should always ensure that the board enters the bootloader after reset.

Memory Simulator

An OMAP4 memory simulator is provided that simulates the memories of the various OMAP4 devices. The memory simulation parameter (which is set by the Target Processor selection) contains macros that determine the sizes of the simulated memories and can be specified using the Memory Simulation Parameter Macros property.

CTL support

The file OMAP4_ctl.c implements the ctl_set_isr, ctl_unmask_isr and ctl_mask_isr functions by programming the GIC register groups.

If the vector parameter passed to these functions is greater than or equal to 32 it corresponds to the interrupt line number plus 32 as defined in the OMAP4 reference manual. If the vector is less than 32 then it corresponds to the interrupt sources defined in the CA9 reference manual.

The priority parameter to the ctl_set_isr is the GIC priority i.e. lower numbers have higher priorities. If nested interrupts are enabled for the irq_handler then the priority is a pre-emption priority i.e. interrupt handlers can be interrupted by higher priority interrupt handlers. The startup code OMAP4_Startup.s implements the irq_handler exception handler.

The file OMAP4_ctl.c also implements the ctl_start_timer function using the CPU core private timer.