[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