正点原子领航者7020开发版VxWorks6.9移植记录(一)
开发工具准备
- VxWorks 6.9 + Workbench3.3
- SD卡
- 网线
- 正点原子领航者7020开发板
- Xilinx Vivado2018.3开发工具
创建FSBL
参考正点原子SDK教程,创建vivado工程并使能串口(UART0),网口(ENET0),SD0,以及QSPI,如下图:
生成硬件设计并导出至SDK中,然后创建FSBL工程,编译生成fsbl.elf文件。如果想要查看FSBL的启动log,可以在fsbl_debug.h中定义以下宏定义,并重新编译。
创建Vxworks Bootloader
创建适配领航者开发板的BSP包
- 进入VxWorks安装目录后,进入vxworks-6.9\target\config目录
- 在该目录中复制一份xlnx_zynq7k至同级目录并改名为xlnx_zynq7020如下
- 使用vscode打开xlnx_zynq7020目录修改一下几个文件
config.h
hwconf.c
xlnx_zynq7k.h
- config.h修改
找到#define DEFAULT_BOOT_LINE的宏定义修改网口的地址,该地址主要用于bootrom的启动参数
#define DEFAULT_BOOT_LINE \
"gem(0,0)host:vxWorks h=192.168.1.119 e=192.168.1.142:fffffe00 \
g=192.168.155.1 u=z7 pw=z7 f=0x0 tn=xlnx_zynq7k"
h:代表主机的IP地址,主要用于从该主机通过FTP下载vxWorks内核镜像
e:代表开发板的地址以及开发板的MAC地址
g:代表网关的地址
u:代表ftp服务的用户名
pw:代表ftp服务的密码
tn:targetname,保持默认即可
以上bootRom的启动参数默认通过网口FTP加载内核镜像,如果需要通过SD卡加载内核镜像则需要在config.h中找到 #undef DRV_STORAGE_SDHC删除后,并定义以下宏定义:
#define INCLUDE_BOOT_FILESYSTEMS
#define DRV_STORAGE_SDHC
#define INCLUDE_FS_EVENT_UTIL
#define INCLUDE_ERF
#define INCLUDE_XBD
#define INCLUDE_XBD_BLKDEV