uCrouter project forum


shuwn yuan,2006\03\08 02:26:04,2322 bytes

Answer

Forum

RE: Change to uCOS-II, still use U-boot, just change "bootcmd" variable in autoboot?

hi all,

Let me explain more about my case. I know that U-boot is OS-independant bootloader. If I change to uCOS-II instead of ARM-linux, I can still use U-boot as bootloader for AT91RM9200.
Am I right?
But I know some modification has to be done on the original U-boot for the ARM-linux version.

Address mapping (Flash & RAM) for my AT91RM9200 board
====================================
0x20000000 = RAM

0x10000000 = parallel flash
0x10000000 = Boot.bin
0x10010000 = u-boot.gz
0x10020000 = zImage (ARM-linux kernel)

0xc0000000 = serial flash
0xc0000000 = Ramdisk.gz (ARM-linux file system)

Currently, for my ARM-linux version, the "bootcmd" for auto-boot is set as follow:

"bootcmd=cp 10020000 20008000 e0000;cp c0000000 21000000 100000;go 20008000"

It copy kernel image "zImage" which store at 0x10020000 (size = 0xe0000) to 0x20008000 (RAM); copy file system image "Ramdisk.gz" which store at 0xc0000000 (size = 0x100000) to 0x21000000 (RAM); jump to RAM location 0x20008000

Now I change to uCOS-ii as OS, & reprogram parallel flash content as follow:

0x10000000 - Boot.bin
0x10010000 - u-boot.gz
0x10020000 - (uCOS-II + application) binary

For the U-boot, is it just change the environment variable "bootcmd" to this?

"bootcmd=cp 10020000 20008000 f818;go 20008000"

It means copy the (ucos-ii + application) binary (size = 0xf818) from 0x10020000 to 0x200080000 (RAM); go to RAM location 0x20008000.
Is this all I need to do?
But I try to change the "bootcmp" in U-boot prompt, using this cmd:

Uboot> setenv bootcmd cp 10020000 20008000 f818;go 20008000

But this seems not work. I can't set it successfully. It directly jump to RAM location 0x20008000 after this & I can't save the "bootcmd".
I expect it to be still in U-boot prompt after I type the above, & then I should type:

U-boot> saveenv

to save the "bootcmd" variable.

How to set the "bootcmd" in U-boot? How to put more than 1 action in "bootcmd" (eg: cp .....; go.....)? Does it not allow to type ";" ? What punctuation mark should I use?

Is changing the "bootcmd" enough if change to uCOS-II? Or I need to modify U-boot source code, recompile, & reprogram the u-boot.gz into parallel flash? Any reference link online suggested?

Please help. Thanks :-)

Register Forgot passwd Top

Answer

Name:
Passwd:
Subject:
Message:
Input number : 9067


ARM®и Thumb® зарегистрированные торговые марки ARM Limited.
Linux® зарегистрированная торговая марка Linus Torvalds.
µClinux и uClinux торговые марки Arcturus Networks Inc.