Skip to content
字数
692 字
阅读时间
3 分钟

嵌入式开发流程

硬件部分:step1-step4,Vivado 软件部分:step5,SDK 功能验证:step6

ZYNQ嵌入式最小系统构成: (1)ARM Cortex-A9 为核心 (2)DDR3 为内存 (3)UART 串口传输信息

任务:使用串口打印“Hello World”

硬件设计:step1:创建工程(略)step2:使用 IP Integrator 创建 Processing System 创建block design 添加PS(ZYNQ7 Processing System) 配置ZYNQ7 Processing System模块,关掉不需要的接口和功能 打开UART0 查看UART0的MIO引脚信息 配置UART0波特率(默认) 配置 PS 的 DDR3 控制器 配置PS的时钟 移除PS 中与 PL 端交互的接口(搭建最小系统) 移除Clock_Reset和AXI接口 观察PS模块接口减少了4个接口,点击Run Block Automation生成具体引脚 验证当前设计 step3:生成顶层 HDL 模块 Create HDL Wrapper,使用 Verilog HDL 对设计进行封装, 主要完成了对 block design 的例化 勾选了“ Let Vivado manage wrapper and auto-update”, 这样我们在修改了 Block Design 之后就不需要再重新生成顶层模块, Vivado 工具会自动更新该文件。 step4:生成 Bitstream 文件并导出到 SDK 为用到PL部分无需生成 Bitstream 文件,只需将硬件导出到 SDK 即可。 导出硬件 无需比特流 后缀名.hdf 的文件即硬件定义文件。 打开SDK 进入到软件部分

软件设计

硬件描述文件system.hdf的标签页显示了整个 PS 系统的地址映射信息。 step5:在 SDK 中创建应用工程 新建一个 SDK 应用工程 应用工程:hello_world 板级支持包(BSP)工程:hello_world_bsp 工具会自动编译生成elf文件和.mss(微处理器软件说明)文件 微处理器软件说明.mss包含 BSP 的操作系统信息、 硬件设计中各个外设的软件驱动等信息。 源码共3句话 函数init_platform:使能caches和初始化uart 函数cleanup_platform :取消使能caches 这俩函数无效果,但因平台的通用性和可移植性保留这两个函数 函数printf():“ xil_printf.h”中Xilinx 定义的一个用于打印字符串的函数 程序保存后会自动编译 点击“ Build All”或Ctrl+B可主动编译工程

下载验证 在SDK终端中添加板子端口 下载程序后可看到hello world的打印信息

贡献者

The avatar of contributor named as dz13718198068 dz13718198068

文件历史

撰写