Toshiba TX09 CPU Support Package
This package contains project templates and system files for the Toshiba TX09.
CrossWorks Version 1 Installation Instructions
- To install this support package
- Download the file TX09.hzq using your web browser.
- Click the Tools > Install Package menu option.
- Select the file you have just downloaded to install the package.
- To install this support package using other versions
- Initial Release.
Creating TX09 Projects
To create a new TX09 project
- Select the File > New > New Project menu item.
- Select Generic TX09 from the Project Type list.
- Select the required project template type from the Templates list.
- Set the required project name and location directory.
- Click OK.
This will create a project that will run in the internal RAM of an TX09 board.
To build and debug an application
- Select the project to work on by using the Project > Set Active Project menu option.
- Select the configuration you require by using the Build > Set Active Build Configuration menu option.
- Build the project by using the Build > Build Project menu option.
- Connect to the appropriate target in the target window.
- Download and start debugging the current project by using Debug > Start Debugging.
TX09 Project Specifics
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 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). 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.
CrossStudio for ARM supports TX09 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 TX09 projects the set of placements are:
- Internal RAM application runs in internal RAM.
- SDRAM application runs in external SDRAM.
- FLASH/Internal RAM application runs in external FLASH and internal RAM.
- FLASH/SDRAM application runs in external FLASH and external SDRAM.
- FLASH (copy to SDRAM) application boots from external FLASH and runs in external SDRAM.
When you create a TX09 project the fileis included in the project. This file is used to:
- implement monitor mode debug. This enables interrupts to occur when stopped on a breakpoint and memory to be examined without stopping the processor.
The project setup code creates a debug project property Debug Handler that enables you to choose additional (to JTAG) debug capabilities you require:
- None don't use the debug handler for breakpoints.
- Halt Mode use the debug handler but don't allow interrupts to execute on breakpoint.
- Monitor Mode Memory same as halt mode but memory access is done using the debug handler. To use this your application will have to periodically call the function dbg_poll()
- Monitor Mode full monitor mode debug.
Target Startup Code
The startup codeis common to all TX09 processors there are a set of preprocessor defines that configure the startup code and are documented in the startup file itself.
This file also implements the default irq_handler and fiq_handler exception handlers.
Target Reset Script
The reset scriptis used by the debugger to stop the processor.
An TX09 memory simulator is provided that simulates the memories of the various TX09 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.
The file TX09_ctl.c implements the ctl_set_isr, ctl_unmask_isr and ctl_mask_isr functions by programming the INTC register group. The number parameter to these functions corresponds to the interrupt source number as documented in the TX09 user manual. The priority parameter to the function ctl_set_isr is a number between 0 and 15 where 0 is the highest priority and 15 is the lowest priority. If nested interrupts are enabled on the irq_handler then the priority is a pre-emption priority i.e. interrupt handlers can be interrupted by higher priority interrupt handlers.
Header files are generated from the memory map files and can be included using the file TMPA910.h. The TX09 project setup adds the directory $(TargetsDir)/TX09 to the User Include Directories project property so that you can just include targets/TMPA910.h into your source code.