uboot引导vxworks6.9(T4240) 启动

简介: uboot引导vxworks6.9(T4240) 启动

U-boot全称UniversalBootLoader, 即通用bootloader.


它是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, UBoot不仅仅支持嵌入式Linux系统的引导, 它还支持NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。UBoot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器


uboot版本: U-Boot 2015.01+SDKv1.9


使用nxp官网提供的sdk编译出uboot源码。


1、使用codewarrior将uboot先下载到flash里。

2、vxworks6.9配置


vxworks内核配置下搜索RAM_LOW_ADRS, 值为0x0100000, 是vxworks下载启动的地址,uboot启动时会指定从该地址去启动vxworks镜像。


微信图片_20230117224653.png


vxworks内核配置为build-in 符号表,将操作系统符号表编译进vxworks.bin文件内,这样启动的时候只需要vxworks.bin这一个文件就可以了。如果不是build in模式,启动的时候可能会启动到一半停下来


微信图片_20230117224726.png


uboot下flash基地址为0xe000000,这个根据t2080芯片手册可以确定地址,确保地址是一致的。


微信图片_20230117224755.png


vxworks下flash基地址为 0xff000000, 将vx下的地址修改为0xe0000000,和uboot下地址一致,去uboot下的law.c配置文件可以看到law地址配置值,确保和vxworks下配置的地址是一致的,否则启动会出问题。这个根据t2080芯片手册可以确定地址,确保地址是一致的。


微信图片_20230117224822.png


vxworks6.9 t4240用的是32地址空间,uboot下用的是64位地址空间,去uboot下修改law物理地址空间为32位。

修改完毕这些后

uboot下执行:

tftpboot 100000 vxworks.bin

go 100000

能启动的话打印如下


微信图片_20230117224842.png

目录
相关文章
|
3月前
|
安全 Linux Android开发
【ATF】bootloader与安全相关启动分析
【ATF】bootloader与安全相关启动分析
46 0
|
3月前
|
Linux 编译器 Go
Linux内核学习(四):Bootloader的特种兵-Uboot(二)
Linux内核学习(四):Bootloader的特种兵-Uboot(二)
431 0
|
3月前
|
存储 运维 Linux
Linux内核学习(三):Bootloader的特种兵-Uboot(一)
Linux内核学习(三):Bootloader的特种兵-Uboot(一)
38 0
uboot引导vxworks--t2080调试记录
uboot引导vxworks--t2080调试记录
372 0
uboot引导vxworks--t2080调试记录
|
Linux 内存技术
uboot设置bootargs启动根文件系统
uboot设置bootargs启动根文件系统
|
Linux
16.8 Linux启动引导程序加载内核
在刚刚的启动过程中,我们已经知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核是不能被加载的。
186 0
16.8 Linux启动引导程序加载内核