
Dear Reinhard,
Dear Marcel,
Is there any example that boots from NOR ?
looking at the defines below, you are not really booting u-boot from NOR...
#define CONFIG_SKIP_LOWLEVEL_INIT
If you do that, you must have an initial boot code before u-boot. See below...
#define CONFIG_SKIP_RELOCATE_UBOOT
Not used anymore.
/* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1 #define PHYS_SDRAM 0x70000000 #define PHYS_SDRAM_SIZE 0x08000000 /* 128 megs */
Those defines have had their names changed.
These I have changed already. I think they are fine.
#define CONFIG_SYS_GBL_DATA_SIZE 128
This constant is wrong, use the auto-generated value.
OK
/*
- Size of malloc() pool
*/
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
This constant is wrong, use the auto-generated value.
OK
Forgot to mention a few items :
I flash the NOR at address 0x10020000 TEXT_BASE is 0x10020000
That really implies you have another boot program running before u-boot. Proably AT91 bootstrap? Is it configured to jumo to 0x1002000, or does it copy u-boot to some SDRAM address and jumps there?
Yes I run AT91 bootstrap. Is there a way to skip this ?
That's a good question if at91bootstrap jumps to the right address. How can I tell ? (maybe I find out myself, at least your question got me thinking ! ) Let's say it does copy u-boot to SDRAM, do I need to set that address as TEXT_BASE ?
I tried setting TEXT_BASE to 0x10020000 or 0x73f00000 If I use another address, AT91bootstrap doesn't do anything, but at both of these addresses it behaves the same.
Have a look at the current implementation for top9000 in u-boot-arm/master and compare your files to it. Any differences to your code that are not board and/or SoC specific probably have to be fixed in your board code or you should be able to reason why it must be different for your board.
Thanks a lot for your reply. I have a few new things to try and read (bootstrap)
, Marcel