AnsweredAssumed Answered

L1 Code Size

Question asked by tamirci on Feb 23, 2015
Latest reply on Mar 10, 2015 by jobo23

Hi,

 

I have been developing with BF537 which has 64 KB of L1 instraction memory in total. When i go to ldf file i m seeing them as seperatly as MEM_L1_CODE (48K) and MEM_L1_CODE_CACHE (16K).

 

Unfortunelty i got following error after my final code addition:

 

[Error li1040] "..\system\startup_ldf\app.ldf":271 Out of memory in output section 'L1_code' in processor 'p0'

        Total of 0x222 word(s) were not mapped.

For more details, see 'linker_log.xml' in the output directory.

 

 

Linker finished with 1 error

cc3089: fatal error: Link failed

make: *** [RadNET.dxe] Error 1

 

 

**** Build Finished ****

 

I think this error indicates code size is bigger than L1 code size.

 

First of all i would like to learn how can i see my total code size?

 

Second, I need to be sure the meaning of error: doe is complaint about 48K overflow or whole 64K is filled?

 

The error comes from following code part:

 

      L1_code DEF_SECTION_QUAL

      {

         INPUT_SECTION_ALIGN(4)

        

         /*$VDSG<insert-input-sections-at-the-start-of-l1_code>  */

         /* Text inserted between these $VDSG comments will be preserved */

         /*$VDSG<insert-input-sections-at-the-start-of-l1_code>  */

        

         INPUT_SECTIONS($OBJS_LIBS(L1_code cplb_code cplb noncache_code))

         INPUT_SECTIONS($OBJS_LIBS_INTERNAL(program))

         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(program))

         INPUT_SECTIONS($OBJS_LIBS(program))

        

         /*$VDSG<insert-input-sections-at-the-end-of-l1_code>   */

         /* Text inserted between these $VDSG comments will be preserved */

         /*$VDSG<insert-input-sections-at-the-end-of-l1_code>   */

        

      } > MEM_L1_CODE

 

so i really wonder if MEM_L1_CODE_CACHE is used or not. if not how i can use this memory area to overcome this issue.

 

Finally;

 

i have 2MB flash on AMS0 and have boot option as 000 and 001. So i may also run code from flash directly. But i wonder if i can run some part of code from flash and some part of it from L1 code area.

 

Furthermore; i also have 64MB of SDRAM connected to the SMS. Can i use this area to load code and debug? or can i indicate loading some part of code into SDRAM instead of L1 during boot?

 

what is the meaning of Memory usage fields? Currently Internal SRAM only is chosen.Do i need to chose one of other oprions?

 

I really need your immediate direction on this topic.

 

Best regards,

Outcomes