基于zynq7000平台的vxWorks6.9移植(上)

1 致谢

编写本文档的目的在于指导用户如何移植基于z7平台的vxWorks6.9系统。移植之前首先感谢西安迅尔电子嵌入式工程师庞国强,本次是基于前者总结资料的基础上进行的完善,帮助新手可以以更少的指导掌握z7平台关于vxWorks的BSP移植。

2.FPGA硬件平台搭建

需要提前准备Vivado 和xilink SDK开发环境,任一款z7系列设计的板卡,板卡原理图,目的在于获得fsbl.elf和bitstream文件,为Bootrom移植做好准备。

2.1建立工程

step1:创建 Vivado 工程

打开 Vivado,进入 Vivado 界面后,点击“Quick Start”栏的 “Create Project”。然后在弹出的创建Vivado 工程向导界面,点击“Next”。 如下图所示:
在这里插入图片描述
在这里插入图片描述
进入工程命名界面。设置工程名为“hello_world”,设置工程路径
确认已经勾选“Create project subdirectory” ,点击“Next”, 如下图所示:
在这里插入图片描述
进入图 1.3.4 所示的界面,在此界面设置工程类型。此处我们
选择 “RTL Project”
。本次实验不需要添加源文件和约束文件,所以勾选“Do not specify sources at this time”
在这里插入图片描述
根据自己的板卡选择器件型号。

step2:使用 IP Integrator 创建 Processing System

在左侧导航栏==(Flow Navigator)中,单击 IP Integrator 下的 Create Block Design。然后在弹出的对话框中指定所创建的 Block Design 的名称,在 Design name 栏中输入“system”==。
在这里插入图片描述
打开 IP 目录后,在搜索栏中键入“zynq”,找到并双击“ZYNQ7 Processing System”
在这里插入图片描述
添加完成后, ZYNQ7 Processing System 模块出现在 Diagram 中,如下图所示:
在这里插入图片描述
PS-PL Configuration 页面能够配置 PS-PL 接口,包括 AXI、 HP 和 ACP 总线接口。
Peripheral IO Pins 页面可以为不同的 I/O 外设选择 MIO/EMIO 配置。
MIO Configuration 页面可以为不同的 I/O 外设具体配置 MIO/EMIO。
Clock Configuration 页面用来配置 PS 输入时钟、外设时钟,以及 DDR 和 CPU 时钟等。
DDR Configuration 页面用于设置 DDR 控制器配置信息。
SMC Timing Calculation 页面用于执行 SMC 时序计算。
Interrupts 页面用于配置 PS-PL 中断端口。

2.2 硬件配置

1. UART

首先查原理,明白uart 0/uart 1,是zynq上的MIO的那几个管脚,以及波特率多少
点击左侧的 MIO Configuration 页面,在右侧展开 I/O Peripherals > UART0*,可以看到更具体的引脚配置信息。
点击左侧的 PS-PL Configuration页面,我们可以在这里设置 UART0 串口通信的波特率。

2. DDR

主要进行DDR的选型,查看原理图找到板卡DDR的型号, 在DDR Configuration 页面,在右侧 DDR Controller Configuration 下的==“Memory Part”==一栏选择参数接近的DDR 的器件

3. PS时钟频率

查看原理的时钟频率,可先尝试搜素"ps_clk" / "ps时钟"等关键词
点击左侧的 Clock Configuration 页面,该界面主要是配置 ZYNQ PS 中的时钟频率。比如输入时钟默认是 33.33333Mhz,这与我们板卡上的 PS 端输入时钟频率相同。对于 CPU 的时钟、 DDR 的时钟以及其它外设的时钟, 我们直接保持默认设置即可

4. SD卡

主要看原理图是sd0 / sd1, 引脚是多少,电平多少(接到bank500 / bank501上)
在这里插入图片描述

5. 网口

主要查看哪个引脚, 电平多少,PHY芯片型号, PHY地址多少
在这里插入图片描述
在这里插入图片描述

7.QSPI

在左侧导航栏中选择 “Peripheral I/O Pins”,然后在右侧勾选“Quad SPI Flash”并选择“Single SS 4bit IO”模式。“Single SS 4bit IO”指的是单个从器件模式,其中“SS”为“Slave Select”的缩写。
在这里插入图片描述

3. 导出硬件平台

在这里插入图片描述

们点击上图中箭头所指示的位置 “Run Block Automation”,会弹出如下图所示的对话框
在这里插入图片描述
不需要添加其它 IP,直接按快捷键 Ctrl+S 保存当前设计。接下来点击下图箭头所指示的按钮,验证当前设计。验证完成后弹出对话框提示没有错误或者关键警告, 点击“OK”

3.1 生成顶层 HDL 模块

在 Sources 窗口中,选中 Design Sources 下的 sysetm.bd, 这就是我们刚刚完成的 Block Design 设计。右键点击 sysetm.bd,在弹出的菜单栏中选择“Generate Output Products”
在这里插入图片描述
弹出“Generate Output Products”对话框, 如下图所示
在这里插入图片描述
在“Hierarchy”标签页再次右键点击 system.bd,然后选择“Create HDL Wrapper”。
在这里插入图片描述
在弹出的对话框中确认勾选“Let Vivado manage wrapper and auto-update”, 然后点击“OK”。
在这里插入图片描述

3.2 生成 Bitstream 文件并导出到 SDK

3.2.1生成bitstream文件

在这里插入图片描述

3.2.2 导出硬件

在菜单栏选择 File > Export > Export hardware。
在这里插入图片描述
在弹出的对话框中,如果没有生成 bitstream 文件,所以无需勾选“Include bitstream”,直接点击“OK”,生成的需要勾选
硬件导出完成后,在菜单栏中选择 File > Launch SDK,启动 SDK 开发环境

4.生成FSBL

接下来在 BSP 工程上右击,然后在菜单中选择“Board Support Package Settings”,在弹出的 BSP 设置界面中,勾选“xilffs”,以使用 FAT 文件系统。
在这里插入图片描述
BSP 设置完成后我们就可以生成一个 FSBL 用来加载应用程序并配置 PL。SDK 已经提供了一个 FSBL 的示例。在菜单栏中选择“File->New->Application Project”
在这里插入图片描述
来点击 Next, 并在示例工程中选择“Zynq FSBL”,最后点击“Finish”,FSBL 工程创建完成之后, SDK 软件会自动执行编译过程,生成== FSBL.elf 文件==
注:后续请见移植下篇

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值