Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.
SYS/BIOS for the TMS320F2837X ROM
Configuring a SYS/BIOS app to build against the ROM
In order to build a SYS/BIOS application against the ROM, the user is required to do the following two steps:
Step1: Include the following line in their cfg script:
var ROM = xdc.useModule('ti.sysbios.rom.c28.Soprano');
Step2: Change the XDC build profile to debug from project Properties->General setting's RTSC tab. This does not affect the build options used to build the application source files. It only affects the build options used to build the generated C file. When building against the ROM, the pre-built SYS/BIOS kernel library is used to link with the final application. The kernel library is pre-built built with optimization enabled and is not affected by XDC build profile.
Note: SYS/BIOS 6.37.02+ only supports RevB ROM. If a ROM based app built with SYS/BIOS 6.37.02+ is run on an earlier version of the TMS320F2837X silicon (i.e. RevA ROM), the SYS/BIOS validation check will fail and the kernel will loop forever in the ti_sysbios_rom_c28_Soprano_romVersionCheck() function.
Limitations when building a ROM based SYS/BIOS app
- BIOS.libType config param is not supported and will be ignored when building against the ROM.
- Asserts (BIOS.assertsEnabled) must be disabled when building against the ROM.
- Logging (BIOS.logsEnabled) must be disabled when building against the ROM.
- Tasks and Swis cannot be disabled i.e. BIOS.taskEnabled and BIOS.swiEnabled should be true when building against the ROM.
- Swi and Hwi hooks are not supported.
- Semahpore.supportEvents must be set to false.
- The number of Swi priorities cannot be changed. The default of 16 must be used.
- The Hwi module's auto nesting support cannot be disabled when building against the ROM.
- Memory policy -> STATIC_POLICY is not supported for ROM based apps.
- Zero latency interrupts are not supported.
SYS/BIOS ROM memory map
SYS/BIOS ROM code makes references to certain generated SYS/BIOS functions and data structures. These generated functions need to be placed at a fixed address in the FLASH and the global data structures need to placed at a fixed address in RAM. Sector B of the FLASH is reserved for these functions and a portion of RAMM1 is reserved for the referenced global data structures. For exact addresses, please see table below.
The above table is valid for RevB of TMS320F2837X.