FLASH存放uboot及VxWorks并引导自启动

文摘   科技   2024-02-01 17:18   天津  


欢迎点击蓝字关注我

回复“加群”或扫二维码加入飞腾爱好者交流群


本文使用飞腾E2000Q miniITX开发板,验证在E2000启动用的qspi flash中同时写入uboot固件和vxWorks镜像,并测试开机自动引导启动。

一、环境准备:

1.1 硬件环境:

1.E2000Q miniITX行业开发板一块

2.U盘一个

3.TTL调试串口线一条

1.2 软件环境:

1.做好的vxWorks.bin(公众号发送“E2000VX”获取仓库链接。如何制作vxWorks.bin不在本教程范围内)

2.uboot固件(版本:uboot V2.07+ 打包工具 v1.08),这里需要注意,需要配合vx将启动核改为0x200核。

否则在后面步骤中会出现问题:

二、操作步骤

2.1 vx文件接入

将vxWorks.bin放到U盘中,并将U盘插到miniITX的USB口中。

2.2 串口接入

根据miniITX的手册,将TTL转USB串口线接入,引出板卡调试串口。

2.3 验证vx镜像

加电启动uboot,首先通过下面的命令,验证U盘中的vx镜像是否可以正常启动:

  1. //启动usb

  2. #usb start

  3. //从U盘中加载vx镜像到0x80100000内存

  4. #fatload usb 0:1 80100000 vxWorks.bin

  5. //从0x80100000内存地址启动

  6. #go 80100000

如果vx能正常进入,就会显示如下打印了。

2.4 将vx镜像写入flash

断电再次加电启动uboot,通过下面的命令将vx镜像写入flash中:

  1. //启动usb

  2. #usb start

  3. //将vxWorks.bin加载到0x80100000的内存地址

  4. #fatload usb 0 0x80100000 vxWorks.bin

  5. //擦除flash从0x600000地址开始,大小0xa00000的空间

  6. #flashe 0x600000 0xa00000

  7. //将内存0x80100000起始的内容写到flash 0x600000地址起始的空间中

  8. #flashw 0x80100000 0x600000 0xa00000

  9. //对比写入flash的文件的正确性

  10. #cmp.b 0x600000 0x80100000 0xa00000

2.5 修改环境变量

使用print显示当前环境变量,主要对bootcmd进行更改,将flash的vx镜像加载到内存中,并启动。

  1. //设置从flash 0x600000地址读取0xa00000的空间,加载到0x80100000的内存中,之后跳转0x80100000内存地址

  2. #setenv bootcmd 'cp.b 0x600000 0x80100000 0xa00000; go 0x80100000'

  3. //保存环境变量

  4. #saveenv

2.6 测试

将U盘拔掉,板子断电再上电,看uboot是否可以自动引导vxWorks镜像实现自启动。

调试视频



欢迎点击“点赞、收藏、在看”,分享给更多人看到

回复“加群”或扫二维码加入飞腾爱好者交流群


往期文章

交流群:
PSPA:
硬件:
固件:
调试:

欢迎飞腾爱好者加入微信交流群。 群内大家可以在群内交流遇到的问题,分享自己的调试心得。 希望大家共建飞腾友谊!

乌拉大喵喵
建立了飞腾爱好者技术交流群,公众号文章扫码进群,或私信加vx进群。
 最新文章