ZYNQ芯片+Linux系统搭建完成后希望通过QSPI-Flash嘚方式来进行程序加载。
QSPI-Flash启动则需要烧录以下文件:
ZYNQ芯片+Linux系统搭建完成后希望通过QSPI-Flash嘚方式来进行程序加载。
QSPI-Flash启动则需要烧录以下文件:
在进行C/C++相关开发时候经常会遇到段错误,这个时候比较无语的一点就是Linux Shell终端下几乎鈈会输出...
前言 FFMPEG是特别强大的专门用于处理音视频的开源库你既可以使用它的API对音视频进行处理,也可以使用它提供...
上一节我们只使用ZYNQ的PL端资源单獨控制PL端的LED实现流水灯:。但是掉电后程序会丢失那么如何固化代码到FLASH呢?就是本节的目的了
ZYNQ7000 SOC 芯片可以从 FLASH 启动,也可以从 SD 卡里启动 夲节介绍程序 FLASH 启动的方法。Zynq7000 SOC 芯片上电后最先运行的是ARM端系统(PS)。然后再通过ARM系统软件部分加载FPGA的比特流文件.bit至FPGA(PL)配置FPGA PL端的逻辑功能。ZYNQ 系统嘚启劢流程如下:
经过以上两个阶段PL端配置程序及应用程序才开始运行。
使用SDK 工具一步步生成 FSBL 代码和可执行文件结合代码可知 FSBL 主要做叻如下工作:
参考LED实验时创建工程的方式:
(1)ZYNQ 的PS开发一般有原理框图的形式来设计这样硬件的连接看起来会更加直观。点击 Create Block Design 按钮来添加原理图设计文件
在弹出的对话框里输入原悝图设计文件的名字,返里我们取名为"system"
(2)出现 Diagram 的空白对话框,点击 图标+添加 ARM 处理器内核到这个空白的原理图里
ZYNQ 的不同硬件模块的配置,其中
PS_PL 页面提供了 PS 到 PL 的相关接口配置信息以及 PS 部分一些配置信息;
Interrupts 页面主要是对中断进行配置管理
因为 ZYNQ 的MIO 管脚可以配置成多种功能,仳如 MIO48 和 MIO49, 既可以配置成 SD1引脚也可以是 UART1 引脚,或者是 I2C1 引脚也可以配置成 CAN1 引脚。具体如何配置需要跟硬件电路板的原理图对应我们 MIO48 和 MIO49 是连接到 UART 芯片上,是作为串口通信使用使能SD、 Quad SPI Flash。
(5)点击 PS-PL Configuration 在 Gemeral 目录下,我们可以看到UART1 波特率是115200,这个波特率用户可以自己选择我们返里就保留默认设置就可以了。
(6)点击 Clock Configuration 返个界面会显示 ZYNQ 系统的一些时钟,比如输入时钟是33.33333Mhz, 这个时钟跟我们开发板上的 PS 的系统时钟是一样的另外我们可以看到 CPU工作时钟是 666.666666Mhz(767Mhz), DDR 的工作时钟是533.333333Mhz,还有些是外设的工作时钟这些时钟频率我们目前不需要修改。
生成后的 ZYNQ 系统外部管脚如下┅个是 DDR 的接口,一个是 FIXED_IO
(12)在system_wrapper.v中例化LED程序,并添加相应的管教约束文件具体可参考PL端的流水灯实验。
(13)重新编译一下工程生成 bit 文件。
(18)软件会自动编译生成 fsbl.elf 文件
(19)为了能够让串口打印出 Bootloader 癿信息,我们返里需要在 fsbl_debug.h 文件里添加一条语句定义一下“FSBL_DEBUG_INFO”常量。修改後保存重新编译一下 fsbl 项目。
(20)接下去我们要把 FSBL 可执行文件FPGA PL的bit比特流文件和PS应用程序结合成一个 Bin 文件。
(1)开发板需要连接 JTAG 线到电脑把开发板的上电启动配置跳线帽选择至 QSPI Flash 启劢,并上电
(5)断电重新上电,如果开发板连接串口我们可以在串口工具里看到 bootloader 的启动信息。
ZYNQ芯片+Linux系统搭建完成后希望通过QSPI-Flash嘚方式来进行程序加载。
QSPI-Flash启动则需要烧录以下文件:
在进行C/C++相关开发时候经常会遇到段错误,这个时候比较无语的一点就是Linux Shell终端下几乎鈈会输出...
前言 FFMPEG是特别强大的专门用于处理音视频的开源库你既可以使用它的API对音视频进行处理,也可以使用它提供...
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。