NOTICE: The Processors Wiki will End-of-Life in December of 2020. 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.

Creating Dynamic Objects and Threads in BIOS

From Texas Instruments Wiki
Jump to: navigation, search

Introduction[edit]

Functions such as SEM_create(), TSK_create() and SWI_create() are used in DSP/BIOS for dynamically creating objects/threads. All of these *_create() functions ultimately depend on dynamic memory allocation. It is critical that you properly configure dynamic memory allocation in your tcf file in order for these functions to work.

Procedure[edit]

Allow Heaps[edit]

  • Open your tcf file in the configuration tool.
  • Right click on Memory Section Manager and go to Properties.
  • Uncheck the "No Dynamic Heaps" box if it is not already unchecked. Click OK to exit the dialog.

<syntaxhighlight lang='javascript'> bios.MEM.NOMEMORYHEAPS = 0; </syntaxhighlight>

BIOS Dynamic1.png




Create one or more heaps[edit]

  • Right-click on the memory section where you would like to create a heap, e.g. DDR2 and go to Properties.
  • Click the "Create a heap in this memory" box and enter the size. Click OK to exit the dialog.

<syntaxhighlight lang='javascript'> bios.MEM.instance("DDR2").createHeap = 1; </syntaxhighlight>

BIOS Dynamic2.png




Specify placement of DSP/BIOS objects[edit]

  • Right-click once again on Memory Section Manager and set the "Segment for DSP/BIOS Objects" to a valid section.

<syntaxhighlight lang='javascript'> bios.MEM.BIOSOBJSEG = prog.get("DDR2"); bios.MEM.MALLOCSEG = prog.get("DDR2"); </syntaxhighlight>

BIOS Dynamic3.png




Specify placement of dynamic tasks[edit]

  • Expand the Scheduling section, right click on "TSK - Task Manager" and select Properties. Select a valid heap for the option "Stack segment for dynamic tasks"

syntaxhighlight lang='javascript'> bios.TSK.STACKSEG = prog.get("DDR"); </syntaxhighlight>

BIOS Dynamic4.png
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 Creating Dynamic Objects and Threads in BIOS 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 Creating Dynamic Objects and Threads in BIOS here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Creating Dynamic Objects and Threads in BIOS 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