U-boot 引导 VxWorks系统
保证CONFIG_COMMANDS包括CFG_CMD_ELF。
就是在板子的configs(board_name).h, 加入#define CONFIG_CMD_ELF
重新编译,现在有bootvx命令了。
准备vxworks映像,我喜欢bin格式,xxx-objcopy -O binary vxworks vxworks.bin
vxworks必须装载到config.h里设定的地址,比如0x100000,如果通过网络下载:tftp 100000 vxworks.bin
setenv loadaddr 100000
设置启动参数,比如MPC8xx,setenv bootargs cpm(0, 0)
bootvx
下面是bootrom的启动参数:
boot device : motfcc
unit number : 0
processor number : 0
host name : stw8248
file name : vxWorks
inet on ethernet (e) : 192.168.12.233:ffffff00
host inet (h) : 192.168.12.234
user (u) : vxprod
ftp password (pw) : vxworks
flags (f) : 0x8
target name (tn) : stw8248
other (o) : net
把这些参数设置到bootargs中:
setenv bootargs motfcc(0,0)stw8248:vxWorks e=192.168.12.233:ffffff00 h=192.168.12.234
g=192.168.12.1 u=vxprod pw=vxworks f=0x08 tn=stw8248 o=net
1)在引导内核之前必须设置一些相关的环境变量,如下:
setenv bootdelay 3 (设置引导内核之前的等待时间)
setenv bootaddr 20000700 (启动参数存放地址)
setenv loadaddr 22000000 (内核加载地址)
setenv bootargs zlh(0,0)sei:vxWorks e=10.10.150.1:0xffffff00 h=10.10.150.232 g=0.0.0.0 u=imct pw=imct f=0x00 tn=imct
setenv bootcmd tftp 22000000 vxWorks;bootvx
设置完上述参数后,可以将他们保存在FLASH中,步骤如下:
protect off 10060000 1007ffff
erase 10060000 1007ffff
saveenv
这样重新启动后,板子就可以自动通过TFTP协议从主机下载vxWorks内核并启动。