VxWorks驱动开发:编译并启动AM57xx的VxBL

用于启动VxWorks的VxBL生成与移植

VxWorks内核也可以通过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系统启动成功,但系统启动后并没有进入控制台。

Guess you like

Origin blog.csdn.net/weixin_42314225/article/details/120918480