文章目录
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的配置。
修改uart1节点,修改后变为
首先修改的是reg属性,e0001000为uart1的基地址寄存器,需要改为uart0的基地址寄存器e0000000,然后修改interrupts属性,uart1的中断号是82,uart0的中断号是59。
2.2添加调试打印组件
为了不混淆uart0和uart1,最后将节点名改成uart0,接下来ReBuild VIP工程。
3.选择uboot来启动VxWorks内核
vip工程编译完成后,生成VxWorks内核镜像,启动内核就需要bootloader,这里用的是uboot启动,关于uboot的制作过程可以参考原子哥的领航者开发教程,这里不做详述,直接拿来使用即可
4.尝试在开发板上启动内核
4.1 拷贝镜像和设备树至SD卡
VIP工程编译完,在default目录下找到uVxWorks和zynq-zc702.dtb文件,拷贝至SD卡。
保证你的SD卡里存在下图三个文件,其中BOOT.bin是uboot、fsbl、bitstream文件的集合。
4.2开发板上电
4.2.1 uboot成功启动
4.2.2 启动VxWorks
在uboot命令行下输入如下命令,加载内核和设备树,然后启动
fatload mmc 0:1 05000000 uVxWorks;fatload mmc 0:1 04000000 zynq-zc702.dtb;bootm 0x05000000 - 0x04000000
启动成功后,键盘输入没有反应,这是因为没有添加shell和cmd组件。