Creating a project for internal memory and external flash
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
What I should add to my project
Audio Signal Processors
dsp
flash
Blackfin Embedded Processors
blackfin
adsp-bf522
Show More
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
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.
Please log in to reply.