您的位置

U-boot引导VxWorks系统 更新于2010-05-03 23:18:44 文章出处:嵌入式开发

  保证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内核并启动。