NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

SYS/BIOS for the TMS320F2837X ROM

From Texas Instruments Wiki
Jump to: navigation, search


Sysbios image.png

Frequently used SYS/BIOS modules have been flashed into the RevB ROM of TMS320F2837X devices. It is now possible to build a SYS/BIOS application against the RevB ROM. One of the benefits of using SYS/BIOS in ROM is that it helps reduce the flash requirements of the SYS/BIOS kernel thus allowing more flash availability for the end application. By default, a SYS/BIOS application will be built to run from FLASH. A special module needs to be included in the application's cfg script to build against the ROM. The details are covered in the below sections.

Configuring a SYS/BIOS app to build against the ROM[edit]

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: <syntaxhighlight lang="javascript">

var ROM = xdc.useModule('ti.sysbios.rom.c28.Soprano');

</syntaxhighlight>

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.
XDC Profile Change F2837X.PNG

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[edit]

- 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[edit]

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.

Section Start Length
SYSBIOS_ROM 0x3f8002 0x1d6c
RESERVED_FLASH 0x82000 0x824
RESERVED_RAM 0x780 0x68

The above table is valid for RevB of TMS320F2837X.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SYS/BIOS for the TMS320F2837X ROM here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SYS/BIOS for the TMS320F2837X ROM here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article SYS/BIOS for the TMS320F2837X ROM here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity