I have some project where I store my entire program in the external sdram (by redirecting every section in the linker script to the sdram). When I download the program to the board, it doesn't work. When I run the program in the debugger tool, it works. Does anybody know an answer to this problem ?
regards,
Tom
Didn't find your answer? Ask the community — no account required.
R
Ryan Laity
Hi Tom,
How are you populating the SDRAM with your .elf file when not using the debugger? Perhaps you're doing this properly, but you didn't mention it here so I have to ask. When downloading the .bit file via iMPACT, the only .elf data that you can possibly have is that in the Block RAM. If you're not moving the .elf into SDRAM then that's the problem; you will need a bootloader of some sort to move the data from a static location (Flash, etc.) into SDRAM.
If you are already loading the .elf into SDRAM, then use the XMD tool to check the validity of the .elf file in memory. What I typically do is run an object dump (either mb-objdump or powerpc-eabi-objdump) on the .elf file (I typically use the -S option) and pipe that out to a text file. Next, connect to the device via XMD (ppcconnect or mbconnect) and do mwr's from the base address of your SDRAM. If you do something like mwr 0xF0000000 20, it will dump the 20 addresses after 0xF0000000 (obviously change this to match your SDRAM base address) and you can check them against the .elf file. The boot section of the .elf is at the bottom of the file so look there to start. This will check that your bootloader is doing its job properly and that your system is able to read from the static location (Flash, etc.) properly (we already know that it can write to SDRAM properly because it works with the debugger).
I hope this information helps. If not, please post a follow up or open a case with Support.
Ryan Laity Xilinx Applications
Tom wrote:
T
Tom
Hi Ryan,
I tried to connect with ppcconnect to the board, and then i downloaded the program. Then I started the processor and the program worked.
ppcconnect dow ppc405_0/code/executable.elf con
Correct me if I am wrong, but is this what the bootloader should do ? Could you be more specific about the bootloader?
Thanks,
Tom
T
Tom
Of course I downloaded the program first with XPS, and then I downloaded it a second time with xmd.
I also checked the boot section:
f1000ca0 : f1000ca0: 3c 00 f1 00 lis r0,-3840 f1000ca4: 60 00 00 68 ori r0,r0,104 f1000ca8: 7c 08 03 a6 mtlr r0 f1000cac: 4e 80 00 20 blr Disassembly of section .boot:
f1000cb0 : f1000cb0: 4b ff ff f0 b f1000ca0
Tom
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.