用于启动VxWorks7的VxBL生成与移植
VxWorks 7内核也可以通过uboot来启动,但风河还是提供了自己的Bootloader,名为VxBL,和QNX的IPL一样,也许只是为了简化一些行业领域的认证工作,毕竟uboot的代码量太大了。
生成AM57xx的VxBL
编译VxBL
1.cmd进入目录 D:\WindRiver4.0_SR0640\vxworks-7\pkgs_v2\boot\vxbl-2.0.1.1
2.创建VxBL工程,输入make project CPU=ARMARCH7 BSP=ti_sitara_a15 TOOL=llvm FORCE=1
3.编译完成后,在D:\WindRiver4.0_SR0640\vxworks-7\workspace路径下生成VxBL的工程
4.cmd进入目录D:\WindRiver4.0_SR0640\vxworks7\workspace\vxbl_arm_llvm_ti_sitara_a15
5.make编译VxBL
6.生成MLO
拷贝MLO至SD卡,上电运行
将MLO拷贝至SD卡,插入我们自己的板卡(并非官方开发板)启动失败,程序进入数据异常。但是将SD卡插到官方开发板上是能正常启动的,并没有数据异常,这说明硬件上是有区别的。
开发板使用EMIF0和EMIF1接口,配置2G内存,每个EMIF总线连接2个512M的DDR芯片,而我们的板卡只使用了EMIF0,并未使用EMIF1,且EMIF0连接了2个1G的DDR芯片,也实现了2G内存的大小
需要修改代码
D:\WindRiver4.0_SR0640\vxworks-7\pkgs_v2\os\board\ti\ti_sitara_a15-2.0.4.0_bootloader\vxbl\ti_am572x.h
加载启动VxWorks
load /fat0/am572x_idk_a15.dtb 0x87c00000
load /fat0/uVxWorks 0x85000000
boot 0x85000000 - 0x87c00000
VxWorks系统启动成功,但系统启动后并没有进入控制台。添加控制台shell组件后重新编译即可。请参考“VxWorks 7:添加shell组件”