cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
245 Views
Registered: ‎03-24-2020

fatload addresses in zynqmp - zcu106

I've been able to boot my Linux on the zcu106 as well as the QEMUs.

I'm using the Legacy U-Boot approach of fatload'ing the uImage, initramfs.ub and dtd and then use mboot.

Our userspace is read-only and so we never switchroot to any mounted fs.

However, I have two questions:

(1) I had to use memory addresses from existing on-line examples without understanding why those addresses are chosen.  I reviewed the User Guide but I couldn't find anything that showed why a starting address for the kernel of 0x80000 works but 0x0 does not.  I'm assuming that there is reserved space in the lower addresses for I/O space or something.  I ended up using the Start addresses below.  Can someone point me at a table which explains why most examples use 0x80000?

                         Size (dec) Size (hex) Start      End
uImage                   17,941,056 0x0111C240 0x00080000 0x0111C240
initramfs.ub            279,628,288 0x10AACA00 0x02000000 0x12AACA00
zynqmp-zcu106-revA.dtb       35,905 0x00008C41 0x20000000 0x20008C41

(2) I'm not clear on how the kernel knows what free address range is available for userspace programs to use (heap, stack, etc.).  Is that from the dtb?

Thanks.

0 Kudos
0 Replies