SPRUI04F july 2015 – april 2023
Before you can run a C/C++ program, you must create the C/C++ run-time environment. The C/C++ boot routine performs this task using a function called c_int00 (or _c_int00). The run-time-support source library, rts.src, contains the source to this routine in a module named boot.c (or boot.asm).
To begin running the system, the c_int00 function can be branched to or called, but it is usually vectored to by reset hardware. You must link the c_int00 function with the other object files. This occurs automatically when you use the --rom_model or --ram_model link option and include a standard run-time-support library as one of the linker input files.
When C/C++ programs are linked, the linker sets the entry point value in the executable output file to the symbol c_int00. This does not, however, set the hardware to automatically vector to c_int00 at reset (see the TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide, the TMS320C6740 CPU and Instruction Set Reference Guide, or the TMS320C66x+ DSP CPU and Instruction Set Reference Guide).
The c_int00 function performs the following tasks to initialize the environment:
You can replace or modify the boot routine to meet your system requirements. However, the boot routine must perform the operations listed above to correctly initialize the C/C++ environment.