
Hello, Happy hacking in U-Boot, let's start quickly! Here' s porting information below: 1. Porting arm926ejs SoC to our new SoC call "AVT2210" 2. Sdram base address: 0x40000000, size: 0x2000000(32M) 3. No flash now. 4. UART: Common 16550 5. U-Boot version: u-boot-2010.12-rc2 6. Linux OS 7. ELDK arm-linux-gcc toolchain
Here's code modified below: 1. #define CONFIG_SYS_TEXT_BASE 0x401E0000 2. #define CONFIG_SYS_INIT_SP_ADDR 0x401F0000 3. UART: use ns16550 serail driver.
After previous, U-Boot running on the target, I can see "U-Boot> ", I typed "hlep"but problem when "find_cmd" function, I got "Unknow command 'help' try 'help'".
I found errors in "&__u_boot_cmd_end - &__u_boot_cmd_start". in the ${TOPDIR}/common/main.c: main_loop function: if (len == -1) puts ("<INTERRUPT>\n"); else rc = run_command (lastcommand, flag); gdb, 's' command to run_command then 's' to find_command function as below: cmd_tbl_t *find_cmd (const char *cmd) { int len = &__u_boot_cmd_end - &__u_boot_cmd_start; return find_cmd_tbl(cmd, &__u_boot_cmd_start, len); } I 'p len', len is 0x00 !!!!! ' p &__u_boot_cmd_end - &__u_boot_cmd_start' is 30 &__u_boot_cmd_end is: 0x41e25bfc &__u_boot_cmd_start is: 0x41e258b3 Oh, I God! then call find_cmd_tbl function, as below: cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len) { ... ... &table is also: 0x00 I have no idea!!!
I found __u_boot_cmd_end, __u_boot_cmd_start in ${TOPDIR}/arch/arm/cpu/arm926ejs/u-boot.lds code as below: . = .; __u_boot_cmd_start = .; .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .; . = ALIGN(4);
Help! Help! Thanks a lot.
Abraham Yu.