TMS320TCI6486
Chip Support Library User Guide
Contents
|
Read This First
About this Manual
This document
describes how to install and work with Texas Instruments' TMS320TCI6486 Chip
Support Library (CSL). In this context, the document contains instructions to:
- Install the release
- Build the sources
contained in the release
- Updated and changed APIs
Installation
System Requirements
Hardware Requirements:
·
TMS320TCI6486
Software
Requirements:
·
This version of CSL has been compiled with TI Codegen
tools version c6000 7.0.3.
·
Code Composer Studio version 4.2.0.10012 for running CCSv4
example projects
Package Contents
The delivery packages from Texas Instruments
include four zip files for each package as shown below:
|
File name |
Contents |
Product Zip |
csl_c6486_03_00_07_01.zip |
v All header files. v CSL libraries in big endian and little endian mode. v Release example - Each device has its own example folders. v User Guide and API Reference Guide for CSL are provided. v ReleaseNotes_TCI6486_03_00_07_01.html v SoftwareManifest_TCI6486.pdf v Gel file |
Interrupt Controller (INTC) module zip |
csl_c64xplus_intc_03_00_07_01.zip |
v INTC module header files. v INTC module library file in big endian and little endian mode. v Release examples for INTC. This module is provided as separate library to facilitate use of CSL with an operating system. This module should not be used with an embedded OS with interrupt controller support, such as DSP/BIOS. Please refer to the API Reference Guide for more information on the INTC module. |
CSL Source zip file |
csl_c6486_src_03_00_07_01.zip |
v All TCI6486 CSL source files. v All header files. v Build script batch file v Makefiles to build the library |
INTC Source zip file |
csl_c64xplus_intc_src_03_00_07_01.zip |
v All INTC CSL source files. v All INTC CSL header files. v Build script batch file v Makefiles to build the library |
Installation Guidelines and Directory Structures
The steps to
be followed for installation of the release package are as follows:
1. Download the release zip files.
2. Unzip the files with command “unzip
<zip file name>” at the command prompt. Alternatively, use the WinZip
wizard to extract the files.
The directory structure
of the package is as shown below:
Installation Package
|
|_____csl_c6486
|
|_____csl_c6486_src
|
|_____csl_c64xplus_intc
|
|_____csl_c64xplus_intc_src
The
directory structure of the product zip package release is as shown below:
csl_c6486
|_____doc -> contains the User Guide and
API Reference Guide
|
|
|_____example
| |
| |_____bwmngmt
| |
| |_____cache
| |
| |_____chip
| |
| |_____dat
| |
| |_____ddr2
| |
| |_____edma
| |
| |_____idma
| |
| .
| .
| |_____utopia2
|
|_____inc CSL module header files
|
|_____lib
| |_____csl_c6486.lib
(little endian CSL library)
| |
| |_____csl_c6486e.lib
(big endian CSL library)
|
|
|_____ evmtci6486.gel (gel file for
core 0 to run examples)
|
|_____ evmtci6486-MemoryMap.gel (gel
file for core 1-5 to run examples)
|
|_____ ReleaseNotes_TCI6486_03_00_07_01.html
(Release notes document)
|
|_____ SoftwareManifest_TCI6486.pdf (Software
manifest document)
The
directory structure of the source zip package is as shown below:
csl_c6486_src
|
|_____batch files (to build the library)
|
|_____makefiles to build the library
|
|_____inc ALL Header files
|
|_____src
|_____bwmngmt
|
|_____cache
|
|_____cfg
.
.
.
|_____utopia2
The
directory structure of the INTC zip package release is as shown below:
csl_C64xplus_intc
|_____ example
| |
| c64xplus
| |
| intc
| |___intc_example1
| |
| .
| .
| |
| |___intc_example6
|
|_____inc INTC module Header files
|
|_____lib
|___csl_c64xplus_intc.lib (little endian INTC
CSL library)
|
|___csl_c64xplus_intce.lib (big endian INTC
CSL library)
The
directory structure of the INTC CSL source zip package is as shown below:
csl_c64xplus_intc_src
|
|_____batch files (to build the INTC library)
|
|_____makefiles to build the library
|
|_____inc INTC Header files
|
|_____src
|_____common
|
|_____intc
Supported Modules
This release of CSL for TMS320TCI6486 contains functional and register-level APIs for the modules listed in the table below to program the peripherals. This set of APIs provides peripheral abstraction that can be used by higher layers of software.
Module |
Register Layer Provided? (Yes/No) |
Functional Layer Provided?
(Yes/No) |
Example Provided? (Yes/No) |
Example
Tested on? (NotTested/
Sim/ /QuickTurn/VDB/EVM) |
Remarks |
BWMNGMT |
Yes |
Yes |
Yes |
EVM |
|
CACHE |
Yes |
Yes |
Yes |
EVM |
|
CFG |
Yes |
Yes |
Yes |
EVM |
|
CHIP |
Yes |
Yes |
Yes |
EVM |
|
DAT |
Yes |
Yes |
Yes |
EVM |
|
DDR2 |
Yes |
Yes |
Yes |
EVM |
|
DTF |
Yes |
Yes |
NA |
NA |
Example for
this module is covered in other module example |
DEV |
Yes |
NA |
NA |
NA |
Only
Register layer is provided |
ECTL |
Yes |
Yes |
NA |
NA |
Example
for this module is covered in other module example
|
EDC |
Yes |
Yes |
Yes |
EVM |
|
EDMA |
Yes |
Yes |
Yes |
EVM |
|
EMAC |
Yes |
Yes |
Yes |
EVM |
|
ETB |
Yes |
Yes |
Yes |
EVM |
|
GPIO |
Yes |
Yes |
Yes |
EVM |
|
HPI |
Yes |
Yes |
NA |
Not Tested |
Known issue |
I2C |
Yes |
Yes |
Yes |
EVM |
|
IDMA |
Yes |
Yes |
Yes |
EVM |
|
INTC |
Yes |
Yes |
Yes |
EVM |
1.
Example for INTC module is available only in 2.
INTC module is available as separate library, and should generally
not be used with an embedded operating system with interrupt controller
support, such as DSP/BIOS. Please refer to the API Reference Guide for more
information on the INTC module. Modules
using INTC should use “csl_c64xplus_intc.lib” (little endian) and
“csl_c64xplus_intce.lib” (big endian). |
INTGEN |
Yes |
NA |
NA |
NA |
Only
Register layer is provided |
MDIO |
Yes |
Yes |
NA |
NA |
Examples
are not provided |
MEMPROT |
Yes |
Yes |
Yes |
EVM |
|
PDMA |
No |
Yes |
NA |
NA |
Example
for this module is covered in other module example
|
PLLC |
Yes |
Yes |
Yes |
EVM |
|
PSC |
Yes |
Yes |
NA |
NA |
Example
for this module is covered in other module example
|
POWERDOWN |
Yes |
Yes |
Yes |
EVM |
|
SEC |
Yes |
NA |
NA |
NA |
Only
Register layer is provided |
SMC |
Yes |
Yes |
Yes |
EVM |
|
SMCP |
Yes |
Yes |
NA |
NA |
Example
for this module is covered in other module example
|
SRIO |
Yes |
Yes |
Yes |
EVM |
|
TIMER |
Yes |
Yes |
Yes |
EVM |
|
TSC |
Yes |
Yes |
Yes |
EVM |
|
TSIP |
Yes |
Yes |
Yes |
EVM |
|
UTOPIA2 |
Yes |
Yes |
NA |
Not Tested |
Known issue |
Prerequisites
to Run Examples
- Make sure that EVM has been set up properly, so that CCS can be used for running examples.
- Load corresponding GEL files before running
example projects.
Gel
file |
Location |
evmtci6486.gel for core
0 evmtci6486-MemoryMap.gel
for core 1-5 |
Unzip product zip, and the gel files can be found at
csl_c6486 directory |
- Configure PLLs if required such as when running
EMAC example projects with a boot mode other than I2C and EMAC boot. When
the gel files above are loaded and target core 0 is connected, PLL2 and
PLL3 are enabled while PLL1 is configured to get CPU clock of 500MHz. PLL1
multiplier can also be changed through running evmtci6486.gel - PLL
Controller Functions - PLL1_Controller_Setup.
- Although PLL configuration is provided in the
above GEL files, PLL APIs in the CSL package should to be used instead in
applications to configure PLLs.
- For running EMAC dual_emac example, connect
both EMACs to a hub or use "enet config single" to establish the
physical links of the EMACs.
- Additional gel file
(example\emac\emac_core_restart\core_restart.gel) is provided for running
EMAC core restart example. Detailed instructions for how to run this
example can be found from example\emac\emac_core_restart\readme.txt.
Build Guidelines
Environmental Variable
Settings
1.
Make sure the
path to the gmake executable is in the DOS PATH environment variable.
If gmake path is not
set, then set path for ‘gmake’ as below if XDC tools are installed under
“C:\Program Files\Texas Instruments\xdctools_3_20_03_63”.
set
path=C:\Program Files\Texas Instruments\xdctools_3_20_03_63
2.
Make sure the path
to the compiler executable, cl6x.exe is in the DOS PATH environment variable.
If not, then set
path as below if CGT 7.0.3 is installed to “C:\Program Files\Texas
Instruments\C6000 Code Generation Tools 7.0.3”.
set
path=%path%;C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.0.3\bin
Compiling CSL Libraries
The steps
to be followed to build the CSL libraries from the release source package are
as follows:
1.
Download
the release source zip file: “csl_c6486_src_03_00_07_01.zip”.
2.
Unzip
the files with command “unzip <zip file name>” at the command prompt.
Alternatively, use the WinZip wizard to extract the files.
3.
Go
to the command prompt and change the current directory to <Zip folder
path>\<csl_src_folder> e.g., cd C:\csl_c6486_src.
4.
Setup the
target name at command prompt using the following command:
set
TARGET=c6486
5.
Set
the environment variable “set CSL3X_ROOT_DIR=<Zip folder path>” at
command prompt of the system. Compile the code with the batch file given.
Different batch files for creating libraries for the device are listed below.
Batch files will be found in the following path csl_c6486_src.
Library |
Batch file to be invoked |
Library name |
TCI6486 CSL |
build_csl (little endian) |
csl_c6486.lib |
build_csle (big endian) |
csl_c6486e.lib |
6.
To
clean the built object files, invoke the corresponding batch file with the
argument ‘cleanall’: .\build_csl.bat cleanall.
Note: Each time
while building the library, use the ‘cleanall’ option with the build script and
then build the library.
Compiling INTC CSL
Libraries
The steps
to be followed to build the INTC CSL library from the release are as follows:
1.
Download
the release zip file, “csl_c64xplus_intc_src_03_00_07_01.zip”.
2.
Unzip
the files with the command “unzip <zip file name>” at the command prompt.
Alternatively, use the WinZip wizard to extract the files.
3.
Go
to the command prompt and change the current directory to <Zip folder
path>\<csl_intc_src_folder> e.g., cd C:\ csl_c64xplus_intc_src.
4.
Set
the environment variable “set CSL3X_ROOT_DIR=<Zip folder path>” at
command prompt of the system. Compile the code with the batch file given.
Different batch files for creating libraries for the device are listed below.
It will be found in the following path csl_c64xplus_intc_src\.
Library |
Batch file to be invoked |
Library name |
INTC CSL |
build_c64xplus_intc (little
endian) |
csl_c64xplus_intc.lib |
build_c64xplus_intce (big endian) |
csl_c64xplus_intce.lib |
5.
To
clean the built object files, invoke the corresponding batch file with the
argument ‘cleanall’: .\build_c64xplus_intc.bat cleanall.
Note: Each time while building the library, use
the ‘cleanall’ option with the build script and then build the library.
Updated
and Changed APIs
Table below provides information on updated
and changed APIs in this release.
File |
API |
Change Description |
Any changes required
in applications |
Notes |
csl_cache.h |
CACHE_disableCaching() |
A new function is added |
NO |
This function disables caching for a specific memory region. |
csl_emac.h |
EMAC_Common_Config |
MdioPhyAddr is added |
NO |
This is added along with the MDIO flag MDIO_MODEFLG_SPECPHYADDR for applications
to specify a PHY address to be monitored by MDIO. No changes are required in
applications if the newly added MDIO_MODEFLG_SPECPHYADDR flag is not used. |
csl_emac.h |
EMAC_Core |
A new structure is added |
YES |
This EMAC Core Instance structure is introduced to include core
specific information which is updated run-time. In multi-core scenarios, it
is desirable to place it in local memory to avoid run-time cache
writeback/invalidation. Please refer to EMAC core restart, dual emac, and
local loopback examples provided. |
csl_emac.h |
EMAC_Device |
Removed: hApplication[], RxCh[], TxCh[] Added: pEMACCore[] |
NO |
hApplication[], RxCh[], TxCh[]
are now placed in EMAC_Core. Pointers to EMAC_Core are then stored in
EMAC_Device. |
csl_emac.h |
EMAC_Device |
hMDIO (MDIO handle) is replaced with MdioDev (MDIO device) |
NO |
This is due to MDIO API change |
csl_emac.h |
EMAC_open() |
hCore (EMAC_Core handle) is added as a new argument |
YES |
This is due to the EMAC_Core addition. Applications need to initialize EMAC
Core Instance and then pass the handle when calling EMAC_open().
Please refer to EMAC local loopback example provided. |
csl_emac.h |
EMAC_coreInit() |
hCore (EMAC_Core handle) is added as a new argument |
YES |
This is due to the EMAC_Core addition. Applications need to initialize EMAC
Core Instance and then pass the handle when calling EMAC_coreInit().
Please refer to EMAC core restart example provided. |
csl_i2c.h |
CSL_I2C_CLEAR_ALL |
A new Macro is added |
NO |
This macro clears all status bits |
csl_i2cAux.h |
CSL_i2cClearStatus() |
arg is added as a new argument |
YES |
This newly added argument is used to specify the bit to clear |
csl_mdio.h |
MDIO_MODEFLG_SPECPHYADDR |
A new Macro is added |
NO |
This flag is added to enable applications to specify a PHY address to
be monitored by MDIO |
csl_mdio.h |
MDIO_ERROR_INVALID |
A new Macro is added |
NO |
This error code is added to report invalid f unction or calling parameter to MDIO |
csl_mdio.h |
MDIO_Device |
regId is added |
NO |
This is added for specifying the set of MDIO User Access and PHY Select
Registers used to modify a PHY |
csl_mdio.h |
MDIO_open() |
Input arguments are added: instance number, PHY address to be monitored,
handle to MDIO device Return value: MDIO handle is replaced with success/error code |
YES |
MDIO_open() is modified to support simultaneous monitoring of two PHY
address and also enable applications to specify a PHY address for monitoring.
When MDIO_MODEFLG_SPECPHYADDR flag is not set, MDIO has the same behavior as
before and instance number and PHY address will not be used. Please refer to
EMAC module for how the updated MDIO is used. |
csl_srio.h |
CSL_SrioControlSetup |
logicalLayerDisable is added |
YES |
This is added to configure LOG_TGT_ID_DIS in SRIO PER_SET_CNTL
register. Please refer to the SRIO example provided. |
Last updated: October 22, 2010