硬件环境p2020,操作系统VxWorks6.9
板卡状态:可以启动uboot,启动不了bootrom。
前期板卡启动bootrom无果,可能是遇到了版型适配的问题。
解决无果,只能另寻他路。从uboot去引导VxWorks。
网上看了一堆相关uboot启动VxWorks的方法。
主要思路为:(1)烧写uboot;(2)设置uboot环境变量;(3)配置引导vx;
(1)烧写uboot就不赘述了,这一步没完成,就别想其他了。
(2)uboot环境变量配置:
第一步:
->setenv bootaddr
bootaddr的值在VxWorks的bsp中有体现:
The default value is
* (LOCAL_MEM_LOCAL_ADRS + BOOT_LINE_OFFSET) as defined by
* VxWorks BSP. For example, on PowerPC it defaults to 0x4200.
第二步,->setenv bootargs
若第二步没定义
->setenv bootdev
->setenv bootfile
->setenv ipaddr
->setenv serverip
->setenv gatewayip
->setenv hostname
->setenv othbootargs
- vxWorks boot parameters:
bootvx constructs a valid bootline using the following
environments variables: bootdev, bootfile, ipaddr, netmask,
serverip, gatewayip, hostname, othbootargs.
It loads the vxWorks image pointed bootfile.
Note: If a "bootargs" environment is defined, it will overwride
the defaults discussed just above.
至此,uboot环境变量设置完毕。
(3)配置vx;
目前还不清楚需不需要修改vx镜像配置内容,网上有提及VxWorks的law与uboot适配的问题,还有关于uboot的MMU打开的问题。还有关于ubootccsbar配置问题。
至此,所有的配置工作完成。
下面开始启动vx操作:
第一步,通过tftp将VxWorks镜像拷贝到0x1000000地址处。
tftp 0x1000000 vxWorks
第二步,启动vx。
=> bootvx
打印输出如下:
## Ethernet MAC address not copied to NV RAM
## Using bootline (@ 0x4200): motetsec(0,0)host:vxWorks h=10.0.1.230 e=10.0.1.88 u=vxworks pw=vxworks f=0x0host:vxWorks e=10.0.1.88:ff000000 h=10.0.1.230 g=10.0.1.1 tn=unknown
## Starting vxWorks at 0x00100000 ...
目前的调试工作到这步卡住了,问题可能出在两个地方,一个是环境变量修改,这个好解决。另一个是关于uboot和vx镜像不适配的问题。