AnsweredAssumed Answered

Cannot disable BF706 code cache

Question asked by selportion on Jun 30, 2017
Latest reply on Jul 18, 2017 by Kader.M

Hello,

 

Using BF706, I try linking my project with:

"C:\Analog Devices\CrossCore Embedded Studio 2.6.0\ccblkfn.exe" -proc ADSP-BF706 -si-revision 1.1 -no-mem -no-utility-rom  -flags-link -MDCORE0 -add-debug-libpaths -map project.map.xml -o output_target.dxe [objects.doj] -flags-link -od,_build/high-dbg/

and I see on the project.map.xml

MemoryStart addressEnd addressQualifierWidthUsed wordsUnused words
MEM_L1_DATA_C0x11b000000x11b01fffRAM0x80x20000x0
MEM_L1_CODE_CACHE0x11a0c0000x11a0ffffRAM0x80x00x4000
MEM_L1_CODE0x11a000000x11a0bfffRAM0x80xbfe40x1c
MEM_L1_DATA_B0x119000000x11907fffRAM0x80x24380x5bc8
MEM_L1_DATA_A0x118000000x11807fffRAM0x80x80000x0
MEM_L2_SCRATCH0x80000000x8001fffRAM0x80x00x2000
MEM_L2_SRAM0x80020000x80effffRAM0x80x81e0xed7e2
MEM_L2_SRAM_UNCACHED0x80f00000x80fffffRAM0x80xae0xff52
MEM_L2_ROM0x40100000x407ffffROM0x80x00x70000
MEM_SPI_FLASH0x400000000x403fffffRAM0x80x00x400000

although I thought that in "CrossCore Embedded Studio 2.6.0 Linker and Utilities Manual", page 4-4

The default configuration specifies that only internal memory is available and caching is disabled. Thus, no
code or data is mapped to SDRAM unless explicitly placed there, and all of the available L1 space is used for
code or data.

When linking with

-flags-link -MDUSE_SDRAM,-MDCORE0

I get the same xml map. Am I passing some incorrect flag?

 

How can I disable the MEM_L1_CODE_CACHE and merge this area with the regular MEM_L1_CODE?

(I am using a custom makefile and not system.svc. Also I want to use the app_ADSP-BF706.ldf but I simplified the example above to show where the problem is. I have tried to explicitly define the memory areas in the ldf file but then my application does not boot properly)

 

Thank you for the support

 

Patroklos

Outcomes