Hi everyone,
I work with the Qoriq T2080RDB Board, i don't have the Codewarrior Tap for debugging (I expected to be delivered) and neither the CodeWarrior development suite.
I just want to understand the boot sequence of Uboot in the Qoriq T2080rdb with the NOR Flash and the addressing mode (Physical or virtual address).
Her we have the Flash memory Map of Qoriq T2080RDB Board :
128M NOR Flash memory Map
-------------------------
Start Address End Address Definition Max size
0xEFF40000 0xEFFFFFFF u-boot (current bank) 768KB
0xEFF20000 0xEFF3FFFF u-boot env (current bank) 128KB
0xEFF00000 0xEFF1FFFF FMAN Ucode (current bank) 128KB
0xEFE00000 0xEFE3FFFF PHY CS4315 firmware 256KB
0xED300000 0xEFEFFFFF rootfs (alt bank) 44MB
0xEC800000 0xEC8FFFFF Hardware device tree (alt bank) 1MB
0xEC020000 0xEC7FFFFF Linux.uImage (alt bank) 7MB + 875KB
0xEC000000 0xEC01FFFF RCW (alt bank) 128KB
0xEBF40000 0xEBFFFFFF u-boot (alt bank) 768KB
0xEBF20000 0xEBF3FFFF u-boot env (alt bank) 128KB
0xEBF00000 0xEBF1FFFF FMAN ucode (alt bank) 128KB
0xEBE00000 0xEBE3FFFF PHY CS4315 firmware (alt bank) 256KB
0xE9300000 0xEBEFFFFF rootfs (current bank) 44MB
0xE8800000 0xE88FFFFF Hardware device tree (cur bank) 1MB
0xE8020000 0xE86FFFFF Linux.uImage (current bank) 7MB + 875KB
0xE8000000 0xE801FFFF RCW (current bank) 128KB
We can see that U-boot is mapped at 0xEFF40000-0xEFFFFFFF and 0xEBF40000-0xEBFFFFFF in the NOR Flash memory. Why do we have 2 versions of uboot "current bank" and "alternative bank"?
According to the datasheet of the Processor E6500, at the power-up the CPU0 begin to execute his first instruction at the address 0xFFFF_FFFC that correspond at the Reset address.
But in Uboot the Reset vector is mapped at 0xEFFF_FFFC and not at 0xFFFF_FFFC, why is that? Do we use Physical address or Virtual address?
According to the dissembler code of U-boot, after the reset vector at 0xEFFF_FFFC, Uboot jump at the address 0xEFFF_0000 that correspond to the entry point "_start_e500" where he clear some register, setup the interrupt vector table, etc. After he finish the initialisation phase, U-boot jump to the address 0xEFF40000.
I want to know where the code of U-boot is executed in the NOR flash memory or in the DDR3 SDRAM memory?
When i use the command "md 0x00000100" in U-boot, do we visualise the NOR Flash memory or the DDR3 SDRAM memory? It's physical or Virtual address that we visualise?
When i use the command "bdinfo" in U-boot i have:
=> bdinfo
memstart = 0x00000000
memsize = 0x100000000
flashstart = 0xE8000000
flashsize = 0x08000000
flashoffset = 0x00000000
sramstart = 0x00000000
sramsize = 0x00000000
immr_base = 0xFE000000
bootflags = 0x00000000
intfreq = 1799.820 MHz
busfreq = 599.940 MHz
addressing = 36-bit
ethaddr = 00:0D:DD:DD:DD:DD
IP addr = 192.168.1.3
baudrate = 115200 bps
relocaddr = 0x7FEF0000
In " addressing" we have 36 bits, this corresponds to what?
Does u-boot relocate himself at the address 0x7FEF0000? if yes, for what purpose?
Best Regards
Zied