This section shows how to create and debug projects using the two versions of BIOS shipped with CCSv4: DSP/BIOS 5 and BIOS 6. The sentences marked as Tutorial: show specific steps to create and debug a project with BIOS 6 in a hardware target (a DSK6455 is used as an example). The hardware target allows to better explore the functionality of the BIOS debug tools, therefore a simulator is not used in this section.
To create a project with BIOS, follow the steps 1 through 5 in the GSG:Creating projects section. In step 5, select one of the two options in the Target content section: Use DSP/BIOS v5.xx or Enable RTSC Support.
Note: to date there is no way to add BIOS support to an existing non-BIOS project.
Tutorial: create a project named BIOS6_stairstep, set the Project Type to C6000, Device Variant to Generic C64x+ Device, Runtime Support Library to rts64plus.lib, select Enable RTSC Support and skip to the section BIOS6_Support below.
DSP/BIOS 5 Support
1. Selecting Use DSP/BIOS v5.xx enables the project to support DSP/BIOS 5 and creates a blank project. Click Finish.
2. A blank project will be shown in the C/C++ Projects tab.
- To use DSP/BIOS 5, a configuration file (.TCF) must be created or added to the project, as well as any source file.
3. Several example files are installed with CCSv4. Go to menu Project --> Add Files to Active Project... and then browse to the BIOS5 examples directory typically located at:
- C:\Program Files\Texas Instruments\bios_5_4x_xx_xx\packages\ti\bios\examples\
- This directory has the C source files for some examples.
4. Highlight the desired C or CPP source file (<bigtime.cpp>, <semaphore.c>, etc.) to add it to the project. Click Open.
5. Repeat step 3. This time open the subdirectory that corresponds to the target used (evmOMAPL138, dsk5510, ezdsp2812, etc.).
6. Inside this subdirectory highlight the .TCF file that has the same name as the source file chosen in step 3 (<bigtime.tcf>, <semaphore.tcf>, etc.)
- Each subdirectory has a board BIOS5 configuration file (.tcf) for each example.
7. Once each file is added the project is ready to build. Go to menu Project --> Build Active Project to compile everything.
Note: Proper mode for RTDX needs to be setup to match the type of target (Simulator or Target Hardware) during debug. If " Not a valid RTDX program: RTDX protocol (JTAG) does not match CCS setup (SIMULATOR)" message occurs while using a simulator, Double click on the .tcf file in your project to open it in the editor Expand Input/Output, Select RTDX, right click and select properties, you can then change the RTDX mode to simulator.
1. Selecting Enable RTSC Support requires additional project configuration steps. Click Next.
2. This screen will enable you to use an existing RTSC configuration project in the workspace or allow to create one from scratch.
- Select the option Create a new RTSC Configuration project , as initially there are no projects in the workspace. Click Next.
- Optional. The option Reference an existing RTSC Configuration project allows to select an existing RTSC configuration project in the workspace. All the RTSC projects will be shown in the box.
Tutorial: simply click Next.
3. This next screen allows choosing the name of the configuration project - the default name chosen is usually a good idea. Click Next.
Tutorial: same thing as before. Simply click Next.
4. The next screen requires choosing the target configuration for BIOS6.
- Select the target from the box RTSC Platform box. It takes a while for CCSv4 to scan all available platforms that match the device selected.
- Select the RTSC Build-Profile box. Four options are available: whole_program_debug, debug, release, whole_program.
- Click Next
Tutorial: select ti.platforms.dsk6455 in RTSC Platform and debug in RTSC Build-Profile. Click Next.
5. A project template can be selected in the next screen. Select Create a project using one of the templates and choose between the templates available. Click Finish.
- The use of project templates is a very good helper to start using BIOS6.
Tutorial: enable Create a project using one of the templates and select the template RTA Example. Click Finish.
6. The project will be created and shown in the C/C++ Projects tab. Opening the BIOS 6 configuration file shows the BIOS Graphical Configurator XGCONF.
- the Available Packages view shows all the BIOS modules that can be added to the configuration
- the Outline view shows all the BIOS modules being used by the configuration project
- the window at the center shows the settings for the module selected in the Outline view.
BIOS debug tools
One of the main advantages of BIOS is the real-time debugging tools that allow inspecting the system operation with minimal impact on real-time performance.
Most of the BIOS debug tools can be accessed through the menu Target --> RTA.
Tutorial: to debug the stairstep example project in a hardware board follow the steps below.
- create a target configuration for your hardware board. In this case a DSK6455 was used: Connection is set to Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator and Device to DSK6455. See GSG:Debugging_projects#Creating_a_Target_Configuration_File section for details.
- Build the project and start a debugger session: menu Target --> Debug Active Project.
One of the most basic and powerful real-time debug tools is the Printf Logs accessible via menu Tools --> RTA --> Printf Logs. It enables real-time printing user-defined messages through the BIOS Log APIs, as well as system-wide warnings and errors.
Tutorial: the screen above shows the messages after executing the stairstep example for approximately 30 seconds.
Exec Graph and Exec Graph Data
The Exec Graph shows the execution of threads in a time-based graph, giving a good idea about thread execution order, priorities and possible conflicts between all the different threads in the system. The Exec Graph Data displays the numeric values together with additional thread information and can also be easily exported to data files.
Tutorial: the screen above shows the Exec graph of the stairstep example ranging from approximately 32.946 to 33.016 seconds.
CPU Load Graph and CPU Load Data
CPU Load shows graphically the ratio between the amount of time the CPU spends executing threads and the idle loop. The CPU Load Data displays the numeric values together with additional thread information which can be easily exported to data files.
Tutorial: the screen above shows the CPU load of the stairstep example ranging from approximately 10 to 31 seconds.
The Thread Load displays the CPU load of each different type of thread (HWIs, SWIs, Idle loop, etc.). This allows additional analysis of the CPU usage on the system.
Tutorial: the screen above shows the Thread load of the stairstep example with the same timespan of the CPU Load Graph.
Now that you have finished adding BIOS support to your new project, you can check other Advanced Topics of the CCSv4 Getting Started Guide.