Forum Discussion
Altera_Forum
Honored Contributor
21 years ago> When I use 0x1000000(which is the SDRAM base adr) the loader simply dies.
... snip ... > What am I doing wrong .... It looks like you may be corrupting your loader code during the kernel copy process. Based on the kernel sections: Section Size Start End -------------------------------------------- .text 00158108 01000000 01188108 .data 0002FEF0 01158110 01188000 .init 0000C390 01188000 01194390 The kernel binary is copied to the range [0x01000000 .. 0x01194390]. If you loader starts at 0x1100000 (as indicated in an earlier post), the kernel .text section alone extends half a Meg into your loader ... which is probably enough to blow the entire loader away. When you copy the kernel to high memory, your loader can successfully complete the copy (without corrupting itself) and call the kernel. Since the kernel copies itself to the proper location, you can store it at an arbitrary address. You may want to just stuff the kernel binary in flash and have your loader jump into flash without any copying at all. Regards, --Scott