Data Size: 459216 Bytes = 448.5 kB
Load Address: 00900000
Entry Point: 00970000
Where did you get that entry point from? It is inside the the image, but hardly. (459216 equals 0x701d0). For u-boot I'd expect the entry point to be the same as the load address.
No the entry point isn't the same as load address.
You can derive it from the makefile where the doimage command is used to build the image for flash or uart, you will seet the difference between the option for load address and execution address.
You can also derive it from the System.map and look where jumpStart is located
Below some snippits from the System.map from this u-boot image
Beginning (notice the address 0x6000000, thats where u-boot will load itself)
Code: Select all
06000000 T _start
06000020 t _undefined_instruction
06000024 t _software_interrupt
06000028 t _prefetch_abort
0600002c t _data_abort
the location of jumpStart (notice the offset 0x70000 compared to start address of the the binary)
Code: Select all
06056f38 D __u_boot_cmd_end
06070000 t jumpStart
0607003c t romBoot
0607009c t device_5281
060700dc t device_5281_D0
060700dc t device_5281_D1
060700dc t device_5281_D2
06070100 t device_5281_C0
06070124 t device_5281_B0
06070148 t device_5281_A0
06070148 t device_cont
06070180 t not619X
06070188 t __start
0607018c T dramBoot
06070190 t _jumpStart
What the uImage contains the u-boot image itself and a 64 bytes header that instructs the bootm command to copy the u-boot image inside the uImage to address 0x900000 and starts execution at 0x970000. u-boot will copy itself to address 0x6000000 and starts execution at 0x6070000
The fact that this u-boot runs on a nwsp2 indicates that either we use the wrong config for this 2big2 or mainline u-boot can not handle the higher memory regions where u-boot copies itself.
You can try if mainline u-boot can read/write there by uploading the uImage not to 0x1000000 but to for example 0xa000000
I saw similar behavior on a 6082 board which has only 16MB of ram but two chips, u-boot was not able to use memory above 8 MB properly. Had to to do with DRAM setup. So if mainline u-boot has a bug this could explain it.
What I can do beside compiling 1.3.9 is compile this u-boot but for loading it for example at address 0x200000 just for testing
But that will be this evening, need to go shopping now, sorry to keep you waiting