When I run the echo_server on the sdk, I am struggling on the memory mapping problem.
java.lang.RuntimeException: Failed to download ELF file
Unknown Error Occured
Section, 0x80000000-0x8002e173 Not Accessible from Processor I-Side Interface
at com.xilinx.sdk.targetmanager.internal.TM.downloadELF(TM.java:686)
at com.xilinx.sdk.debug.core.internal.AppRunner.run(AppRunner.java:129)
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.runApplication(XilinxAppLaunchConfigurationDelegate.java:609)
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.launch(XilinxAppLaunchConfigurationDelegate.java:296)
at com.xilinx.sdk.debug.ui.XilinxAppLaunchDelegateWrapper.launch(XilinxAppLaunchDelegateWrapper.java:31)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
at org.eclipse.debug.internal.ui.DebugUIPlugin$7.run(DebugUIPlugin.java:1104)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
I don't know what is the I-side interface of the processor. I verily linker script file for memory region mapping as suggested in the tutorial step 9.
9.1) In the linker script, take a look at theSection to Memory Region Mappingbox. If you did theMake DDR2 Externalstep then thetarget memory regioncolumnmustreadmig_7series_0.
9.2) Scroll down to check if this applies to all rows. If for any region it does not saymig_7series_0, then click on the row under theMemory Regioncolumn and selectmig_7series_0.
I am sure I didn't use the BRAM for mapping. So I don't think it is due the out of range memory.
And I try to enlarge the stack and heap size as someone suggest could solve this problem, but still got the error message.
Here is the message print out from the XMD console.
Downloading Program -- C:/FPGA_project/Tutorial/microblaze_tutorial/project_server_memory/project_server_memory.sdk/echo_server/Debug/echo_server.elf
section, .vectors.reset: 0x00000000-0x00000007
section, .vectors.sw_exception: 0x00000008-0x0000000f
section, .vectors.interrupt: 0x00000010-0x00000017
section, .vectors.hw_exception: 0x00000020-0x00000027 section, .text: 0x80000000-0x8002e177
section, .init: 0x8002e178-0x8002e1b3
section, .fini: 0x8002e1b4-0x8002e1d3
It seems the problem is mapping the .text into that range of memory.
Question
wintermayr
I am a beginner for the nexys4 DDR board, I follow the step to build the microblaze servers as the link https://reference.digilentinc.com/nexys4-ddr:gsmbs
When I run the echo_server on the sdk, I am struggling on the memory mapping problem.
java.lang.RuntimeException: Failed to download ELF file
Unknown Error Occured
Section, 0x80000000-0x8002e173 Not Accessible from Processor I-Side Interface
at com.xilinx.sdk.targetmanager.internal.TM.downloadELF(TM.java:686)
at com.xilinx.sdk.debug.core.internal.AppRunner.run(AppRunner.java:129)
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.runApplication(XilinxAppLaunchConfigurationDelegate.java:609)
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.launch(XilinxAppLaunchConfigurationDelegate.java:296)
at com.xilinx.sdk.debug.ui.XilinxAppLaunchDelegateWrapper.launch(XilinxAppLaunchDelegateWrapper.java:31)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
at org.eclipse.debug.internal.ui.DebugUIPlugin$7.run(DebugUIPlugin.java:1104)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
I don't know what is the I-side interface of the processor. I verily linker script file for memory region mapping as suggested in the tutorial step 9.
I am sure I didn't use the BRAM for mapping. So I don't think it is due the out of range memory.
And I try to enlarge the stack and heap size as someone suggest could solve this problem, but still got the error message.
Here is the message print out from the XMD console.
Downloading Program -- C:/FPGA_project/Tutorial/microblaze_tutorial/project_server_memory/project_server_memory.sdk/echo_server/Debug/echo_server.elf
section, .vectors.reset: 0x00000000-0x00000007
section, .vectors.sw_exception: 0x00000008-0x0000000f
section, .vectors.interrupt: 0x00000010-0x00000017
section, .vectors.hw_exception: 0x00000020-0x00000027
section, .text: 0x80000000-0x8002e177
section, .init: 0x8002e178-0x8002e1b3
section, .fini: 0x8002e1b4-0x8002e1d3
It seems the problem is mapping the .text into that range of memory.
attached is the lscript.ld
MEMORY
{
microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr : ORIGIN = 0x50, LENGTH = 0x1FB0
mig_7series_0 : ORIGIN = 0x80000000, LENGTH = 0xA000000
}
So can anyone explain why we got this problem? and how to solve this efficiently?
It seems that everyone got the same error message but have different solution get out.
lscript.ld
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.