用于启动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

VxWorks7 AM57xx VxBL

2.创建VxBL工程,输入make project CPU=ARMARCH7 BSP=ti_sitara_a15 TOOL=llvm FORCE=1

VxWorks7 AM57xx VxBL

3.编译完成后,在D:\WindRiver4.0_SR0640\vxworks-7\workspace路径下生成VxBL的工程

VxWorks7 AM57xx VxBL

4.cmd进入目录D:\WindRiver4.0_SR0640\vxworks7\workspace\vxbl_arm_llvm_ti_sitara_a15

VxWorks7 AM57xx VxBL

5.make编译VxBL

VxWorks7 AM57xx VxBL

6.生成MLO

VxWorks7 AM57xx VxBL

拷贝MLO至SD卡,上电运行

VxWorks7 AM57xx VxBL

将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

VxWorks7 AM57xx VxBL

加载启动VxWorks


load /fat0/am572x_idk_a15.dtb 0x87c00000
load /fat0/uVxWorks 0x85000000
boot 0x85000000 - 0x87c00000

VxWorks7 AM57xx VxBL

VxWorks系统启动成功,但系统启动后并没有进入控制台。添加控制台shell组件后重新编译即可。请参考“VxWorks 7:添加shell组件