ΣSigmaStudio Ask AI Русский Log in

Creating a project for internal memory and external flash

Processors & DSP KamalovMG Oct 10, 2018 00:00 2 replies Original on forum ↗
Subscribe
KamalovMG Question
Oct 10, 2018 00:00

I'm using a Blackfin Processor ADSP-BF522 and S29AL008J70 external flash memory. I'm trying to load a part of my code into L1 SRAM and part of code into Flash memory. For those I have used command #pragma section("FLASH_code"). Also in *.LDF file replace MEM_ASYNC1 { TYPE(ASYNC0_MEMTYPE) START(0x20000000) END(0x200FFFFF) WIDTH(8) } with

MEM_FLASH_BOOT { TYPE(ASYNC0_MEMTYPE) START(0x20000000) END(0x200EFFFF) WIDTH(8) }
MEM_FLASH { TYPE(ASYNC0_MEMTYPE) START(0x200F0000) END(0x200FFFFF) WIDTH(8) }

When I'm trying to build project Linker write message:

[Warning li2060] The following input section(s) that contain program code
and/or data have not been placed into the executable for processor 'p0'
as there are no relevant commands specified in the LDF:

.\Debug\density.doj(FLASH_code)

[Error li1060] The following symbols are referenced, but not mapped:
'_gas_density' referenced from .\Debug\params.doj(program)
'_overheated_steam_density2' referenced from .\Debug\params.doj(program)
'_saturated_steam_density_X2' referenced from .\Debug\params.doj(program)
'_water_density2' referenced from .\Debug\params.doj(program)

I use these instructions: https://ez.analog.com/dsp/software-and-development-tools/visualdsp/w/documents/9564/faq-adsp-bf506f-flash-tutorial

https://ez.analog.com/dsp/blackfin-processors/w/documents/4997/booting-an-application-from-internal-flash-in-bf50xf-processors

What I should add to my project

Audio Signal Processors

dsp

flash

Blackfin Embedded Processors

blackfin

adsp-bf522

Show More

KamalovMG Reply
Oct 18, 2018 00:00

Update: added input sections into *.ldf file inside block sections.

flash
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(flash_code) $LIBRARIES(flash_code))
} > MEM_FLASH

Also added directive #pragma section("flash_code") before the function. Now the project has been successfully built. The Linker expert tool has shown that the object file functions (*.doj) is located at the address 0x200F0000. But during the debugging process, when the program goes to a function located in flash memory, the processor freezes

ADIApproved Reply
Nov 19, 2018 00:00

Sorry for the delayed response. Were you able to get going? If not please let me know whether you are using VisualDSP++ or CCES. So that I can move this thread to concerned community.