[U-Boot] AT91SAM9M10 Custom Board U-boot reboot after Wrong Image Format

Bo Shen voice.shen at gmail.com
Sat Mar 16 01:02:40 CET 2013


Hi Marcio,

于 2013/3/16 2:46, marcio at netopen.com.br 写道:
>
>
> Hi B.
>
> Thanks for your attention!
>
>> Bad Data CRC don't help.
> Because, many possible issue will cause this issue.
>
> I will provide the
> log.
>
>> Consider you use 16bit NAND flash. Have you define
>
>> CONFIG_SYS_NAND_DBW_16 in board configuration header?
>
> Yes I did
> that. Before I include this definition the board did not even try to
> boot the kernel.
>
>> BTW, which bootstrap version do you use? (As I
> suspect the bootstrap has
>> enabled for supporting 16bit NAND, so it
> read u-boot OK)
>
> The At91bootstrap indeed loads U-boot OK. The problem
> is afterward.
>
> U-Boot 2012.10-00075-g0362411-dirty (Mar 15 2013 -
> 11:33:53)
>
> U-Boot code: 73F00000 -> 73F370C0 BSS: -> 73F79654
> CPU:
> AT91SAM9G45
> Crystal frequency: 12 MHz
> CPU clock : 400 MHz
> Master clock :
> 133.333 MHz
> dram_init
> dram_init tam_ram=67108864
> testa_ram_readonly:
> Inicio
> testa_ram_readonly: Fim
> monitor len: 00079654
> ramsize:
> 04000000
> TLB table at: 73ff0000
> Top of RAM usable for U-Boot at:
> 73ff0000
> Reserving 485k for U-Boot at: 73f76000
> Reserving 640k for
> malloc() at: 73ed6000
> Reserving 32 Bytes for Board Info at:
> 73ed5fe0
> Reserving 144 Bytes for Global Data at: 73ed5f50
> New Stack
> Pointer is: 73ed5f40
> comeca a configurar a DRAM
> Display
> DRAM
> display_dram_config:
> DRAM: 64 MiB
> reloca e perde o controle
> 00000000
>
> relocation Offset is: 00076000
> board_init_r:
> gd=73ed5f50
> WARNING: Caches not enabled
> monitor flash len: 0003C950
> Now
> running in RAM - U-Boot at: 73f76000
> NAND: 256 MiB
> board_init_r:
> Initialize Environmet
> env_relocate: Inicio gd=73ed5f50
> gd->env_valid=0
> Using default environment
>
> env_relocate:
> Fim
> board_init_r: jumptable
> board_init_r: jumptable sai
> In: serial
> Out:
> serial
> Err: serial
> board_init_r:interrupts
> board_init_r:
> initialize
> board_init_r: main loop
> ### main_loop entered: bootdelay=3
>
>
> ### main_loop: bootcmd="nand read 0x70000000 0x200000 0x300000;bootm
> 0x70000000"
>
> Hit any key to stop autoboot: 0
>
> NAND read: device 0
> offset 0x200000, size 0x300000
>   3145728 bytes read: OK
> * kernel: cmdline
> image address = 0x70000000
> ## Booting kernel from Legacy Image at
> 70000000 ...
>   Image Name: Linux-2.6.39.4
>   Image Type: ARM Linux Kernel
> Image (uncompressed)
>   Data Size: 3630052 Bytes = 3.5 MiB
>   Load Address:
> 70008000
>   Entry Point: 70008000
>   Verifying Checksum ... Bad Data
> CRC
> ERROR: can't get kernel image!

I see you read only 3MiB, however, the kernel size is 3.5 MiB (Data 
Size: 3630052 Bytes = 3.5 MiB). So, you only read partial kernel, this 
cause CRC error.

Best Regards,
Bo Shen



More information about the U-Boot mailing list