Building an example is converting the source files of the application into a machine readable file.
Tool | Reference | Description |
---|---|---|
Compiler | TI CLANG Compiler Toolchain | Converts .c source code to machine readable code. |
Sysconfig | SysConfig | A GUI tool used for configuring pins, peripherals, software stacks, RTOS, clock tree, linker (see row below) and other components. |
Creating linker.cmd file | Memory Configurator | A GUI method of creating a linker file using Sysconfig tool. It generates a linker.cmd file along with other component files. |
.out to .rprc | Out2RPRC | Converts the application executable (.out) into custom TI RPRC (.rprc) image. |
.rprc to .appimage | Multi-core Image Gen | Converts the RPRC files created for each CPU into a single combined multicore application image that can be booted by the SBL. |
.out to .mcelf | MCELF Image Gen | Takes individual core .out files as input and combines them to create a single .mcelf ELF file which can be booted by the SBL. |
Signing tools | Signing Scripts | Collection of scripts needed to sign SBL and application images. |
makefile_ccs_bootimage_gen
that is included in every example and secondary bootloader (SBL) CCS project.makefile
in the example folder.Shown below are the different steps that are done to convert the compiler+linker generated application .out
into a format suitable for flashing and booting.
out2rpc
is used to convert the ELF .out to a binary file containing only the loadable sections. This is called a RPRC file.multiCoreGen
is then used to combine all the RPRC files per CPU into a single .appimage
file which is a concatenation of the individual CPU specific RPRC files..appimage
is then flashed to the board.
genimage.py
takes each individual core's .out file as input and combines them to form a .mcelf file..mcelf
file is then flashed to the board.
Image | HSFS | HSSE |
---|---|---|
SBL is signed | Yes | Yes |
Application is signed | No | Yes |
.out
file is first converted to a binary format .bin
using the TI ARM CLANG objcopy
tool..bin
file is then signed using the Signing Scripts to create the final .tiimage
bootable image..tiimage
file extension is kept to separate the SBL boot image from a normal application image.bin
file.tiimage
extension like so:sbl_xxx.release.tiimage
[No prefix before .tiimage
, plain image]sbl_xxx.release.hs.tiimage
[hs
prefix before .tiimage
]hs
it is meant for HS-SE device..tiimage
file can then be flashed or copied to a boot image using the Flashing Tools
Steps to build the hello world example from SDK is mentioned here Build a Hello World example
Go to Loading an Application