logo资料库

微嵌实验 Soc平台环境搭建.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
1.ZYNQ 7000中提供了哪几种实现GPIO的方式,这几种之间有什么区别与联系?
电子科技大学 实 验 报 告 课程名称 微嵌实验 实验名称 SoC 平台环境搭建 任课教师 赖小红 实验教师 阎波 姓名 学号 2 实验地点 211 楼 分组号 5 班 时间 2018 年 10 月 27 日 一、实验目的 1. 了解 SoC 平台环境搭建的具体操作流程 2. 学习 Xilinx Vivado&SDK 2017.3 工具的使用 3. 熟悉 SoC 平台环境搭建过程和工作原理 一、实验内容 以 PS 与 PL 协同设计实现 GPIO 为例,自行搭建 SoC 平台环境。 将 FPGA 当做一个 PS 处理器的外设,通过寄存器地址映射到 PS 的寻址空间。在处理器中使用 C 程序访问这 些寄存器,来实现软件和逻辑结合的协同设计的效果。 具体步骤是先在 VIVADO 中配置 ZYNQ 处理器,做好 FPGA 的外设,互联完成之后生成 BIT 流文件下载到板 子。在 SDK 环境下开发好软件之后,进行在线调试运行。
微处理器系统结构与嵌入式系统设计实验报告 三、实验步骤 1. 打开桌面 VIVADO 2017.3,点击 Create Project 创建新工程。为新工程命名,选择工程保存路径,点击 Next。选择芯片 xc7z020clg484-1,点击 Next → Finish。点击 Create Block Design,创建块设计,并命 名 2. 在右侧 Diagram 窗口空白处右击 → Add IP。搜索 zynq,双击 ZYNQ7 Processing System,添加 zynq 处理器,并点击 Run Block Automation,勾选处理器→ 点击 OK,会自动进行一些配置 3. 再添加两个 GPIO 核,在 Diagram 窗口空白处右击 → Add IP → 搜索 gpio → 双击。操作两次,添加两 个 AXI GPIO 核,点击 Run Connection Automation,勾选 All Automation,点击 OK,进行自动配置。 自动连接之后在空白处右击选择 Regenerate Layout,重新布局 4. 双击 ZYNQ 处理器核,进行配置,更改 DDR 型号为 MT41K256M16 RE-15E,将 Bank1 I/O 电平设为 1.8V,勾选 Uart1,用于通过串口查看程序打印信息 5. 将 GPIO IP 核的名字和端口名称修改为 LED 和 SW。双击 LED IP 核,配置 LED 为输出,GPIO Width 设置为 8,对应 8 个 LED 灯,点击 OK。双击 SW IP 核,配置 SW 为输入,GPIO Width 设置为 8,对 应 8 个拨码开关,点击 OK 6. 新建约束文件:右击 Constraints → Add Sources → 点击 Next---Create File,为文件命名,点击 OK → Finish。根据 EES331 用户手册中 LED 和 SW 的管脚约束表,在 PINS_SET.xdc 中添加引脚与电平约束并 保存 7. 生成顶层文件:先右击 system → Generate Output Products → Generate,再右击 system → Create HDL Wrapper → OK。Vivado 会为 IP 子系统生成一个顶层文件,以便对该系统进行综合、实现并生成 比特流 8. 工程配置完成,点击左下侧 Generate Bitstream 生成比特流,点击 Yes → OK,等待比特流生成。若没 有其他错误,比特流生成完成后直接关闭弹出的窗口或选择查看报告 9. 硬件工程设计好之后,可在以下窗口中看到系统分配给外设的地址。接下来将硬件工程导出到 SDK, 在 SDK 中进行软件编译与运行(注:不要单独打开 SDK,是在 VIVADO 中导出)。VIVADO -> File → Export Hardware Design to SDK,导出硬件到 SDK,打钩,包括比特流,点击 OK 10. 打开 SDK:File → Launch SDK → OK,进入 SDK 界面。在 SDK 中新建工程对 LED 和 SW 进行编程,实 现相应功能。为新工程命名,并产生相应的 BSP → 注意选 Next → 选择空工程 → Finish 11. 在新建的工程中添加源文件,新建 Source File 或者 Header File,为文件命名,注意要跟上文件类型.c 或.h,点击 Finish,在源文件中添加代码 12. 硬件和软件设计好之后,保存工程,接下来调试和运行程序,运行之前先把板子的上所有拨码开关拨 到下面。使用 USB 线连接 PC 机和开发板 J3 端口(JTAG/PS_UART),打开板子开关,在 Vivado 中点击 左下角 Open Hardware Manager → Open target → Auto Connection 若连接不上板子 1. 重启板子或电脑:开关断开或按下板子上的复位按钮(LED 和数码管旁边 S3/POR(B5)) 2. 杀进程:打开任务管理器——进程——hw_server.exe 13. 下载比特流:点击 Program device,在弹出的窗口中找到工程的比特流,比特流文件在工程中的路径 为:project_name/project_name.runs/impl_1/system_wrapper.bit,如下图,点击 Program 下载比特流 到板子。 14. 若运行程序,则右击工程——Run As ——Launch on Hardware(GDB) 若调试程序,则右击工程——Debug As——Launch on Hardware(GDB) 15. 查看串口打印:使用桌面串口工具 Putty,设置波特率和端口号。 端口号查看方式:右击桌面电脑/计算机 → 管理 → 设备管理器 → 端口 16. 若工程正确,可看到 8 个 LED 灯循环闪烁,向上拨动任意一个拨码开关时,流水灯运行到最后一个 LD7 时停止。
四、实验结果 1 . 8 个 LED 灯循环闪烁,向上拨动任意⼀一个拨码开关时,流⽔水灯运⾏行行到最后⼀一个 LD7 时停 ⽌止。 2 . Putty 窗⼝口显示 success ⼀一直在打印 六、实验总结 通过实验了解了 SoC 平台环境搭建的具体操作流程,并学习 Xilinx Vivado&SDK 2017.3 工具的使用, 熟悉 SoC 平台环境搭建过程和工作原理。 七、实验思考题 1.ZYNQ 7000 中提供了哪几种实现 GPIO 的方式,这几种之间有什么区别与联系? ZYNQ 中 GPIO 有四种,其中 PS 中 MIO/EMIO 两种,而 PL 中同样有两种情况,AXI_GPIO 和 AXI_LITE 自 定义的 GPIO; MIO 和 EMIO 方式使用 PS 部分的 GPIO 模块,其中 MIO 方式不占用 PL 部分资源,其输出管脚只能为固 定的 54 个(而且要在未被其它外设使用的情况下),EMIO 方式会占用 PL 的管脚资源,其管脚可在 PL 部分 任意选择(除特殊功能管脚),IP 方式除了占用 PL 部分管脚资源外还会占用 PL 部分逻辑资源,所以其 GPIO 功能在 PL 部分实现其调用函数也和前两种不同,最后 EMIO 和 IP 方式在 vivado 都需要绑定管脚。 2.Create Block Design 过 程 中 , 添 加 IP 核 之 后 不 点 击 Run Block Automation 和 Run Connection Automation,尝试自己连接线,理解其工作原理,并叙述。 进行 zynq 系统管脚与 FPGA 芯片管脚之间的绑定关系。软件自动根据开始选择 的开发板型号进行 FPGA 芯片的外设管脚与 Zynq 子系统定义个功能管脚进行连接。
分享到:
收藏