BIOS MCSDK 1.0 Getting Started Guide
The software found on this site is available for download, but is no longer being actively developed. This wiki is in maintenance mode and the software is supported on C64x Multi-core E2E forum
BIOS Multicore Software Development Kit
Getting Started Guide
Last updated: 05/08/2016
- 1 Introduction
- 2 Getting Started
- 3 Demo Application Overview
- 4 Technical Support and Product Updates
The BIOS Multicore Software Development Kit (MCSDK) provides the core foundational building blocks that facilitate application software development on TI's high performance and multicore DSPs. The foundational components include:
- SYS/BIOS which is a light-weight real-time embedded operating system for TI devices
- Chip support libraries, drivers, and basic platform utilities
- Interprocessor communication for communication across cores and devices
- Basic networking stack and protocols
- Optimized application-specific and application non-specific algorithm libraries
- Debug and instrumentation
- Bootloaders and boot utilities
- Demonstrations and examples
Specifically, this Getting Started Guide provides information on installing and using the BIOS Multicore Software Development Kit and EVM out-of-box demonstration application. It is expected the user has gone through the EVM Quick Start Guide provided with their EVM and have booted the out-of-box demonstration application flashed on the device.
By the end of this Getting Started Guide the user should have :
- Installed CCS
- Installed the MCSDK Software
- Connected to the EVM via CCS/JTAG
- Loaded the out-of-box demonstration application onto the device
- Executed the out-of-box demonstration application
After completing the material in this Getting Started Guide, it is recommended the user continue on to the BIOS MCSDK User’s Guide for additional information on the MCSDK software elements and to get started with development on the TI DSP using the MCSDK.
- C6472: This release supports the Texas Instruments TMS320C6472 high performance DSP; the EVM supported by the software is TMDSEVM6472.
- C6457: This release supports the Texas Instruments TMS320C6457 high performance DSP; the EVM supported by the software is TMDSEVM6457L.
- C6474: This release supports the Texas Instruments TMS320C6474 high performance DSP; the EVM supported by the software is TMDSEVM6474L.
What's in this Kit?
The kit contains:
- EVM Board: This board contains a Multicore System-on-Chip.
- Universal Power Supply: Both U.S. and European power specifications are supported.
- Cables: USB, Serial, and Ethernet cables are included to allow for host development.
- Software DVD
- EVM Quick Start Guide
The Multicore EVM kit Software DVD includes:
- Multicore Software Development Kit installer
- Code Composer Studio v4 (CCSv4)
Acronyms and Definitions
The following acronyms are used throughout this document.
|AMC||Advanced Mezzanine Card|
|CCS||Texas Instruments Code Composer Studio|
|CSL||Texas Instruments Chip Support Library|
|DDR||Double Data Rate|
|DHCP||Dynamic Host Configuration Protocol|
|DSP||Digital Signal Processor|
|EDMA||Enhanced Direct Memory Access|
|EEPROM||Electrically Erasable Programmable Read-Only Memory|
|EVM||Evaluation Module, hardware platform containing the Texas Instruments DSP|
|HUA||High Performance Digital Signal Processor Utility Application|
|HTTP||HyperText Transfer Protocol|
|IPC||Texas Instruments Inter-Processor Communication Development Kit|
|JTAG||Joint Test Action Group|
|MCSDK||Texas Instruments Multi-Core Software Development Kit|
|NDK||Texas Instruments Network Development Kit (IP Stack)|
|NIMU||Network Interface Management Unit|
|PDK||Texas Instruments Programmers Development Kit|
|RAM||Random Access Memory|
|RTSC||Eclipse Real-Time Software Components|
|SRIO||Serial Rapid IO|
|TCP||Transmission Control Protocol|
|UART||Universal Asynchronous Receiver/Transmitter|
|UDP||User Datagram Protocol|
|USB||Universal Serial Bus|
Note: We use the abbreviation TMS when referring to a specific TI device (processor) and the abbreviation TMD when referring to a specific platform that the processor is on. For example, TMS320C6457 refers to the C6457 DSP processor and TMDSEVM6457L refers to the actual hardware EVM that the processor is on.
This section will walk you through installing and using the BIOS Multicore Software Development Kit, including how to flash and run the out-of-box demonstration application, HUA. It is expected that you have gone through the EVM Quick Start Guide for your EVM and have booted the demonstration application flashed on the device.
The overall steps are:
- Make sure your EVM hardware is set up
- Install Code Composer Studio 4.2
- Install the BIOS-MCSDK 1.0
- Use JTAG to load the application
- Run the application
- Use the application to write itself to Flash
1. Hardware Setup
Follow instructions in one of the links below that correspond to the EVM that you are using
2. Installing Code Composer Studio
The BIOS-MCSDK uses CCS 4.2. To install CCS please refer to the instructions provided in the CCSv4 Getting Started Guide.
Note: When installing Code Composer Studio you can choose to control what is installed. For example, you may not want support for particular devices and ISA's. If you choose to do a custom installation, the following components must be installed to support the MCSDK:
- SYS/BIOS 6
- All C6* DSP
3. Installing the Multicore Software Development Kit
To install MCSDK on your PC run the MCSDK installer (bios_mcsdk_<version>-Setup.exe). The MCSDK installer allows you to choose the installation directory. The MCSDK install includes several sub-components and all of the components will be installed in the same location. It is recommended that you either keep the default installation paths for CCS and the other components (e.g., "C:\Program Files\Texas Instruments") or make sure that CCS and the other components are installed along the same path. This allows CCS to auto discover the components and generally makes things simpler.
Once the installation is complete all the MCSDK components will be installed in the specified installation directory (e.g., C:\Program Files\Texas Instruments\). Each of the directories will be of following format <component_name>_<component version>. Please refer to individual components release notes for detailed information on the components or package.
Each software component comes as an eclipse plug-in. CCSv4 should recognize each of the plug-ins when it starts up (assuming you installed CCS and the MCSDK along the same path). In CCSv4 window, Help->Help Contents will list all the available docs and user can browse the docs from the help window.
4. Installing Target configuration files in CCS
In order to use CCS with the EVM you need to add board configuration files so the JTAG interface will work. These board configuration files are called Target Configurations and end with the extension ".ccxml". The MCSDK comes with the board configuration files for the supported platforms. The configuration files need to be copied to the appropriate CCSv4 directory so that it will recognize them.
The following assume a typical installation directory of "C:\Program Files\Texas Instruments". If needed, change as appropriate for where you installed the components.
Copy Target Configuration Database Files
copy the targetdb directory
"C:\Program Files\Texas Instruments\mcsdk_<version>\packages\ti\platform\evm<platform>"
"C:\Program Files\Texas Instruments\ccsv4\common" (platform will be 6472, 6474L or 6457L)
Note: A targetdb directory will already exist in the destination folder, so ignore the warning message while copying.
Copy gel files if they are present.
copy the gel directory
"C:\Program Files\Texas Instruments\mcsdk_<version>\packages\ti\platform\evm<platform>"
"C:\Program Files\Texas Instruments\ccsv4\emulation\boards\evmc<platform>"
5. Use JTAG to Load the Application
The following steps will guide you through connecting the JTAG to the EVM.
- First time CCSv4 users needs to follow the steps described in CCSv4_Running_for_the_first_time page.
- The above procedure will open up the CCSv4 GUI.
- Create a New Target Configuration, by selecting the tab Target and clicking New Target Configuration.
- Enter a configuration file name (say "evm6457l_xds100v1.ccxml") in the file name field and hit finish button (the procedure assumes you are using On-board XDS100-class USB emulation).
- Select the connection type as "Texas Instruments XDS100v1 USB emulator" in the drop down list and enter device number in the Device search filed. Select the EVM device as specified in the Target Config figure and save the file by clicking Save button.
- Click View->Target configurations to list the available target configurations. The configuration file (evm6457l_xds100v1.ccxml) created above will be under "User Defined" section
- Right click on the configuration file and select Launch Selected Configuration. This will launch the configuration and open the debug view.
- Right click on core0 and select Connect Target to connect to the target CPU. This step will require the board is powered up and the PC is connected to the board using USB.
- Most of the development and debugging will require CCSv4. For more information on CCSv4 see the CCSv4 Getting Started Guide page.
6. Running the Demonstration Application
To run the application, enter the CCS debug view, select Target->Load Program. The Program File field browse to C:\Program Files\Texas Instruments\mcsdk_<version>\demos\evmc<platform>\hpdspua\Debug and select hpdspua.out (this assumes you have installed the MCSDK components in default location). It will load the program in the selected core. Click on Taget->Run to run the demo on the target.
Note: Make sure all your cables are connected (Ethernet and Serial) and the DIP switch settings are configured for the board operation you want. Refer to the section on hardware setup.
Note: The HUA demo runs in Static IP mode if User Switch 1 is OFF else if it is ON then it runs in DHCP mode. See the Hardware Setup section for the location of User Switch 1.
Note: The application will write messages simultaneously to the CCS console and the UART. Therefore you can use either the CCS Console or a serial port program to see them. When using DHCP this is the only way to get the IP address that was assigned to the unit (it will be displayed as Network Added: If-1 someip).
Settings for the serial port are
|Hardware Flow Control||None|
After the application starts up you should see text similar to the following in the CCSv4 console and/or UART program window:
Start BIOS 6 HPDSP Utility version 1.00.00.07 alpha Configuring DHCP client emac_init: core 0, port 0, total number of channels/MAC addresses: 1/1 MAC addresses configured for channel 0: 00-24-BA-7B-C6-6F SGMII reset successful........ SGMII config successful........ emac_open core 0 port 0 successfully Registration of the EMAC Successful, waiting for link up .. Service Status: DHCPC : Enabled : : 000 Service Status: THTTP : Enabled : : 000 Service Status: DHCPC : Enabled : Running : 000 Port 0 Link Status: 1000Mb/s Full Duplex on PHY 1 Network Added: If-1:10.218.112.167 Service Status: DHCPC : Enabled : Running : 017
The IP address received through DHCP in this case is 10.218.112.167. You can now open a web browser and in the address bar enter the IP address obtained. It will open up the HUA demo page.
Demo Application Overview
Access to the demo application is done through a PC web browser. The welcome page provides a starting point with links to more information on TI multicore DSPs and support forums.
In addition at the top of the web page are a number of tabs which implement basic functionality including:
- Information: Generates a page displaying a collection of information related to the platform and its operation such as system up time, platform settings, device type, number of cores, core speeds, software element versions, and network stack information. All this information is collected using API calls to the various MCSDK software elements.
- Statistics: Generates a page reporting standard Ethernet statistics from the networking stack.
- Task List: generates a page reporting the current active SYS/BIOS tasks on the device including information such as Task Priority, Task State, Stack Size Allocated, and Stack Size Used for each task.
- Benchmarks: Takes the user to a web page with a list of supported benchmarks that a the user can run on the platform.
- Diagnostics: Takes the user to a web page that allows the user to execute a range of platform diagnostics tests.
- Flash: Takes the user to a web page that display flash hardware information and allows the user to read and write the flash on the platform.
- EEPROM: Takes the user to a web page that allows the user to read the EEPROM.
The Benchmark tab takes the user to a page with a list of supported benchmarks that the user can run on the platform. Currently there is only one supported benchmark for release 1.0.
- Network Throughput Test/Benchmark: Allows the user to configure and execute a network throughput test between the PC and the EVM. The user can configure direction (Transmit or Receive); Protocol (UDP, TCP); and amount of data to send. Upon completion test results will be displayed, e.g., data loss, test time, and effective throughput.
The Diagnostics tab allows the user to execute a range of platform diagnostics tests. These are diagnostics provided as part of the platform library.
The diagnostic tests supported include:
- External RAM Test: Tests a defined section of external RAM through a process of writing and reading back a series of patterns. The diagnostic will display a PASS/FAIL indication after the test executes.
- Processor Internal Memory Test: Test the internal memory associated with a user specified processing core through a process of writing and reading back a series of patterns. The diagnostic will display a PASS/FAIL indication after the test executes. This diagnostic can only be executed for processing cores other than 0 and is not applicable to single core devices.
- Flash LED: Allows the user to turn ON and OFF specified platform LEDs
- UART Test: Allows the user to send a text message to the UART port. For this test the user must have a PC connected to the UART port on the platform.
The Flash page displays information related to the Flash hardware and allows the user to read and write to the flash. For reading, the user can specify a block to read from flash and then page through the data. For writing the user can either write an arbitrary file (binary blob) or a bootable image. The bootable image option allows you to write an image the EEPROM boot loader can load and execute.
The EEPROM page allows a user to read the EEPROM paging through the data in 1K blocks.
Technical Support and Product Updates
For technical discussions and issues, please visit
- C64x Multicore forum: http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/439.aspx
- BIOS Embedded Software forum: http://e2e.ti.com/support/embedded/f/355.aspx
- Embedded Processors wiki: http://processors.wiki.ti.com
Note: When asking for help in the forum you should tag your posts in the Subject with “MCSDK”, the part number (e.g. “C6472”) and additionally the component (e.g. “NDK”).
For product updates, please visit
- Multicore Software Development Kits: http://focus.ti.com/docs/toolsw/folders/print/bioslinuxmcsdk.html
Note: The EVM comes with disks containing the MCSDK software and CCS. You can start with these or go to the MCSDK software download site listed above to check for the latest updates and version. The BIOS-MCSDK release download will also have pointers to applicable CCS and compiler release versions as well. Please review the release notes and software manifest before downloading and/or installing the software.