uCrouter project forum
RE: Change to uCOS-II, still use U-boot, just change "bootcmd" variable in autoboot?
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:
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 :-)
ARM®и Thumb® зарегистрированные торговые марки ARM Limited.
Linux® зарегистрированная торговая марка Linus Torvalds.
µClinux и uClinux торговые марки Arcturus Networks Inc.