[U-Boot] Integrate AT91 Boot func into U-boot, under A91RM9200 board
Johnson Yu
johnson.yn83 at yahoo.co.uk
Fri Jul 10 12:53:39 CEST 2009
Hi,
Simply put, my question is:
To port U-boot-2009.06 into an AT91RM9200-based self-produced board, all
the modifications have successfully been done and this latest U-boot
runs on my board, named ceiboard. Normal procedure is, downloading
loader.bin then U-boot.bin and running on RAM, after that loading
boot.bin to FLASH 0x10000000 followed by U-boot.gz on FLASH too, and
then set BMS to boot from external memory--FLASH. So, boot.bin runs
first and it uncompresses U-boot.gz to RAM and jump to that address on RAM.
Now, I don't want this boot.bin thing as a separate file and want it as
part of U-boot.bin, how should I do it??
My solution is:
1) copy entry.S, crt0.S, initboot.c, AT91RM9200.h to
/board/geari/ceiboard/(which is my board location); and change the jump
instruction in crt0.S---not to call the uncompress function, boot(), in
AT91RM9200BOOT/main.c, but to call _start in /cpu/arm920t/start.S ---
and, of course, to not confuse the compiler, I changed _start of start.S
to uboot_start and kept _start in AT91RM9200BOOT/entry.S as the unique
entry point of the program. like below:
b boot ===> b uboot_start (in crt0.S)
2) modify linker script /board/geari/ceiboard/u-boot.lds to:
..text :
{
board/geari/ceiboard/entry.o (.text)
board/geari/ceiboard/crt0.o (.text)
cpu/arm920t/start.o (.text)
*(.text)
}
and with rest of u-boot.lds intact.
then I started compiling, and got some errors:
/home/johnson-yn/GEARI/u-boot-ceiboard/include/asm/arch/AT91RM9200.h:103:
error: expected identifier or ‘(’ before numeric constant
/home/johnson-yn/GEARI/u-boot-ceiboard/include/asm/arch/AT91RM9200.h:104:
error: expected ‘;’ before ‘AT91_REG’
make[1]: *** [mkimage.o] Error 1
make[1]: Leaving directory `/home/johnson-yn/GEARI/u-boot-ceiboard/tools'
make: *** [tools] Error 2
any suggestions????
Regards,
Johnson. Yu
Detlev Zundel wrote:
> Hi,
>
>
>> I met this compiling error, any idea?
>>
>> /common/env_flash.c:312: undefined reference to `flash_sect_protect'
>> /common/env_flash.c:316: undefined reference to `flash_sect_erase'
>> /common/env_flash.c:329: undefined reference to `flash_sect_protect'
>> make: *** [u-boot] Error 1
>>
>
> Sure you are missing the definition of those functions. Maybe you'd
> care to give us information so we can reproduce this? Is this a
> standard configuration? What version of U-Boot?
>
> Thanks
> Detlev
>
>
___________________________________________________________
All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine
http://uk.docs.yahoo.com/nowyoucan.html
More information about the U-Boot
mailing list