ZYQN7000系列VxWorks驱动开发:VxWorks系统移植

ZYQN7000驱动开发:VxWorks系统移植

1.硬件环境

正点原子领航者开发板

2.编译vsb和vip工程

vsb和vip工程的编译过程可以参考之前的文章,https://blog.csdn.net/weixin_42314225/article/details/120918770

2.1修改设备树文件

​ 关于XILINX的ZYQN7000系列的开发板一共有两个版本,ZC702和ZC706,两个开发板都将uart1作为了串口终端,而正点原子的领航者开发板使用的是uart0作为串口。

​ 所以我们需要修改设备树中uart的设备节点,uart节点信息位于zynq-7000.dtsi文件中,下图为修改之前uart的配置。

image-20211127222904907

​ 修改uart1节点,修改后变为

image-20211127223218606

​ 首先修改的是reg属性,e0001000为uart1的基地址寄存器,需要改为uart0的基地址寄存器e0000000,然后修改interrupts属性,uart1的中断号是82,uart0的中断号是59。

2.2添加调试打印组件

image-20211127224112757

​ 为了不混淆uart0和uart1,最后将节点名改成uart0,接下来ReBuild VIP工程。

3.选择uboot来启动VxWorks内核

​ vip工程编译完成后,生成VxWorks内核镜像,启动内核就需要bootloader,这里用的是uboot启动,关于uboot的制作过程可以参考原子哥的领航者开发教程,这里不做详述,直接拿来使用即可

4.尝试在开发板上启动内核

4.1 拷贝镜像和设备树至SD卡

​ VIP工程编译完,在default目录下找到uVxWorks和zynq-zc702.dtb文件,拷贝至SD卡。

image-20211127224443611

​ 保证你的SD卡里存在下图三个文件,其中BOOT.bin是uboot、fsbl、bitstream文件的集合。

image-20211127224527830

4.2开发板上电

4.2.1 uboot成功启动

image-20211127224841485

4.2.2 启动VxWorks

​ 在uboot命令行下输入如下命令,加载内核和设备树,然后启动

fatload mmc 0:1 05000000 uVxWorks;fatload mmc 0:1 04000000 zynq-zc702.dtb;bootm 0x05000000 - 0x04000000

image-20211127225337512

​ 启动成功后,键盘输入没有反应,这是因为没有添加shell和cmd组件。

5.添加shell和cmd组件

image-20211127225551829

image-20211127225613555

猜你喜欢

转载自blog.csdn.net/weixin_42314225/article/details/121585270