Post Go back to editing

some issue aboutL1 L2 memory

Category: Datasheet/Specs

Question 1 How do I estimate how much memory is left in L1 and L2 by file(XXX.map.xml)

Question 2 What is the difference between unused words and reserved size in words? 

Question 3 If some data(dlb file and so on)that is stored in L1(like dxe_block1_sw_code_prio2),how should i do that move the data (stored in L1) into L2? please give me some hits

Question 4 IN ADI21525, what data or code stored in mem_L2_bw_SS4G_Code and mem_L2_bw_SS4G Data, is SIGEAMSTUDIO SS Buffer 1 and SS Buffer 5?

Question 5 What is the relationship between the size of _Block0_L1_space_length and the size of SS Buffer 1

Thread Notes

  • Hi ZClavin,

    Question 1: How do I estimate how much memory is left in L1 and L2 by file(XXX.map.xml)

    By referring to the SYSTEM MEMORY MAP section in the target specific datasheet, one can understand how the L1, L2 memory is being divided into several blocks of definite size. Opening the SS_App_Core1.map.xml file, the Used words and Un-used words column shows the memory being used and what is left in each block of L1 and L2 memory.

    Question 2: What is the difference between unused words and reserved size in words?

    “Unused words” show the memory that is left in a particular block that can be used by the user.

    By using the RESERVE() command in LDF, the user can reserve certain amount of memory in an allocated address space.

    That is being mentioned under “Reserved size in words”.

    For more details, please refer to RESERVE() command usage in app.ldf of any example project present in the default installation path (C:\Analog Devices\SoftwareModules\SigmaStudioForSHARC-SH-Rel4.7.0\Target\Examples\Demo\xxxxxxxx\xxxxxxx\SS_App_Core1\system\startup_ldf) & in cces-LinkerUtilities-manual.pdf (analog.com).

    Question 3: If some data (dlb file and so on) that is stored in L1 (like dxe_block1_sw_code_prio2, how should i do that move the data (stored in L1) into L2? please give me some hits

    User can mention in the app.ldf file (under the intended block eg: dxe_block1_sw_code_prio2), INPUT_SECTIONS() command to direct certain parts of the program to certain memory/blocks in the final executable file. The input label used with INPUT_SECTIONS() can be used in application code (with attributes) to direct that particular piece of code or data to that specific block in memory.

    Consider the below set of lines of code as an example, where the user is mentioning a particular input label (say L1_Code) along with the INPUT_SECTIONS() command inside a particular block of L1 memory.

          dxe_block0_sw_code_prio0 SW

          {

             // Highest priority SW code for block 0.

             INPUT_SECTION_ALIGN (2)        

             FILL(0x1) // fill gaps in memory with NOPs

             INPUT_SECTIONS ($OBJS_LIBS(L1_code)) // Added by User

          } > mem_block0_bw

    In the application code, the user can define a MACRO with that input label name and use that MACRO wherever required in-order to direct that piece of code or data to that particular memory/block.

    /*In Application code area*/

    #define L1_CODE              __attribute__ ((section ("L1_code")))

     

    L1_Code

    Data/Code

    /***********************/

    If the user wishes to move this above-mentioned data/code to another memory block, they can add a similar section with input label (as done with L1_Code) in the desired block/memory and follow the same steps.

    For more details, please refer to INPUT_SECTIONS() command usage in app.ldf of any example project present in the default installation path (C:\Analog Devices\SoftwareModules\SigmaStudioForSHARC-SH-Rel4.7.0\Target\Examples\Demo\xxxxxxxx\xxxxxxx\SS_App_Core1\system\startup_ldf) & in cces-LinkerUtilities-manual.pdf (analog.com).     

    Question 4: IN ADI21525, what data or code stored in mem_L2_bw_SS4G_Code and mem_L2_bw_SS4G Data, is SIGEAMSTUDIO SS Buffer 1 and SS Buffer 5?

    mem_L2_bw_SS4G_Code  is used for storing SigmaStudio Code B related information and

    mem_L2_bw_SS4G_Data for storing SigmaStudio Data C/State C related information from the schematic.

    If the user wishes to change the block to which code/data from schematic is to be stored, they can find and change them under

    Hardware Configuration -> IC-1 (or IC-2) ->Memory Sections in SigmaStudio.

    Question 5: What is the relationship between the size of _Block0_L1_space_length and the size of SS Buffer 1

    _Block0_L1_space_length is the total size of SS Buffer 1 or we can say as the total memory size available for Sigma Studio Host from L1 Block 0.

    Please refer to the AE_42_SS4G_IntegrationGuide document present in the default installation path of SigmaStudio (C:\Analog Devices\SoftwareModules\SigmaStudioForSHARC-SH-Rel4.7.0\Docs) for more details.

    Hope this clarifies your queries.

    Thanks.