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.

Codec Engine StackMemIds

From Texas Instruments Wiki
Jump to: navigation, search

Codec Engine Stack Mem IDs


Note that algs.threadAttrs in a Server.algs[] array has a .stackMemId config param assignable in the server integrator's .cfg script. This id corresponds to the memory/heap segment where DSP/BIOS is to allocate the task (TSK) stack for the task running a specific codec instance. It is also commonly referred to as a memory id or heap id.

How do I determine the correspondence between a heap and its id

To determine the id for a given heap, there are two possibilities:

1. If you are familiar with connecting to the DSP using JTAG, you can run the application, bring up CCS and look at the Kernel Object View to find out the heap id associated with each heap defined by the DSP/BIOS .tcf configuration file. This topic might help.

2. Another approach is to look at the autogenerated <executable_name>cfg.s62 file in the package\cfg\<platform>\ directory in the area where you build the DSP executable or server. Search for “MEM_Obj”. You will find a list of memory objects defined. BIOS goes through this list when assigning heap ids, using the following logic:

  • The heap used to allocate the DSP/BIOS objects (ie. the heap assigned to prog.module("MEM").BIOSOBJSEG in the DSP/BIOS configuration file) always has ID 0.
  • Look up all the memory objects (MEM_Obj) listed in the *cfg.s62 that has a heap defined. The first one in the list that has a heap defined has ID 1, the 2nd one has ID 2, etc. Ignore/Skip the one corresponding to the DSP/BIOS object segment which is already assigned ID 0.