ZynqMP Vivado2021.1 bit文件格式解析

前言:

在裸机下运行的需手动加载不同的代码到PL执行。

PS的xilfpga库支持Vivado生成的bit和bin文件及bootgen生成的boot.bin到PL上运行。

Vivado的bit文件是在bin文件头部多了一些描述信息,头部信息长度不固定

描述信息可以使用file命令查看

 其中我个人最关心的是data length,这个数据长度表示bin文件的长度。

1、准备:

1、创建一个Platform工程。

2、由Vivado生成的1s闪烁LED的PL代码的bit 文件。

Vivado生成bin文件流程 : 点击Tools -->> Settings... -->>Project Settings -->> Bitstream

怎么解析bit文件头部信息获取bin文件长度,主要参考下面这个网址bit文件格式说明。

### Vivado 2021.1 Zynq-7100 配置教程 #### 一、准备工作 为了顺利配置 Vivado 2021.1 版本并支持 Zynq-7100 系列 FPGA,需先完成必要的前期工作。 ##### 软硬件环境搭建 确保拥有合适的软硬件条件是成功安装和使用 Vivado 的基础。具体而言: - **硬件平台**:Xilinx ZYNQ-7000 开发板[^4]。 - **操作系统**:推荐 Ubuntu 18.04 或 Windows 10;Linux 平台下还需设置好虚拟机(如 VMware Workstation),以便于后续操作。 ##### 工具链获取 前往 Xilinx 官方网站下载适用于目标系统的 Vivado 2021.1 安装包以及相关补丁文件。注意检查所选版本是否兼容当前使用的 OS 类型及架构。 #### 二、Vivado 安装流程 按照官方文档指示逐步执行安装过程中的各项指令,特别关注以下几点: - 执行命令 `source /tools/Xilinx/Vivado/2021.1/settings64.sh` 来初始化环境变量,使终端能够识别新安装的工具集[^2]。 - 使用图形界面引导式向导简化初次接触者的上手难度,期间可根据个人需求自定义组件选项[^1]。 #### 三、项目创建与基本设置 启动应用程序后,在新建工程对话框内指定器件型号为 Zynq-7100,并选取恰当的设计模式——例如 HLS (High-Level Synthesis),用于加速算法移植至硬件描述语言的过程[^3]。 ```bash # 初始化环境变量 source /tools/Xilinx/Vivado/2021.1/settings64.sh ``` #### 四、PL端实现LED流水灯功能 针对 PL(可编程逻辑)部分的应用场景设计,这里给出一个简单的例子来展示如何控制外部 LED 发光管形成流动效果。 ```verilog module led_blink ( input wire clk, // 输入时钟信号 output reg [3:0] leds// 输出给四个led的状态位宽 ); always @(posedge clk) begin static int cnt; if(cnt >= 99_999_999)begin cnt <= 0; // 计数器清零 leds <= {leds[2:0],leds[3]};// 循环移位显示 end else begin cnt <= cnt + 1'b1; end end endmodule ``` 此段 Verilog 代码实现了每秒钟更新一次 LED 显示状态的效果,通过调整内部计数值大小可以改变闪烁频率。 #### 五、PS端裸机程序编写 对于 PS(处理系统)侧的任务,则可通过 C/C++ 编写底层驱动函数访问外设资源,比如利用 UART 进行字符传输输出调试信息到串口监视窗口中去。 ```c #include <stdio.h> int main(){ while(1){ printf("Hello from Zynq!\r\n"); usleep(1e6); // 延迟一秒再发送下一帧数据 } } ``` 上述实例展示了最基础的消息循环机制,实际应用当中可能涉及到更复杂的业务逻辑处理。 #### 六、生成 BOOT.BIN 文件 最后一步就是把之前编译好的比特流映像同其他必要组成部分打包成单一镜像文件供烧录加载之用。这通常借助 SDK 提供的相关工具完成。 ```shell bootgen -image system_wrapper.bif -arch zynq -o BOOT.bin ``` 以上即完成了整个基于 Vivado 2021.1 对应 Zynq-7100 平台的基础入门指导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值