
vivado
文章平均质量分 84
披着假发的程序唐
嵌入式软件工程师,擅长linux开发、单片机开发、OTN光通信协议解析、卫星导航相关
展开
-
ZYNQ-Vitis(SDK)裸机开发之(八)PS端QSPI读写flash操作(包括SPI、Dual SPI、Qual SPI的配置使用)
SPI为标准通信协议,不仅可以操作flash,还可以与其他类型器件进行通信,但是由于SPI标准通信协议为全双工,且速度较慢,因此实际读写flash时,一般都使用其扩展协议,即Dual flash和Quad flash。Flash存储数据时,只能将1写为0,不能将0写为1,因此对flash进行擦除操作时,就是将flash对应区域全部置1,写数据时,就将对应bit置0即可。IO2(WP):写保护引脚,低电平时,flash无法被写入数据,在Quad SPI模式下复用为数据引脚。原创 2024-04-19 15:01:52 · 4922 阅读 · 1 评论 -
ZYNQ-Vitis(SDK)裸机开发之(七)PS私有定时器Timer的使用
在 ZYNQ 嵌入式系统中,定时器的资源是非常丰富的,每个 Cortex-A9 处理器都有各自独立的 32 位私有定时器和 32 位看门狗定时器,这两个 CPU 同时共享一个 64 位的全局定时器(Global Timer)。除此之外,PS 中还有一个 24 位的系统看门狗定时器(SWDT)和两个 TTC(Triple Timer Counters)。系统看门狗定时器可以在系统发生灾难性的故障时(如 PS 中的 PLL 工作异常)发出信号,使得系统程序重新启动,保证了系统安全可靠的运行。原创 2024-04-14 09:47:50 · 2085 阅读 · 0 评论 -
ZYNQ-Vitis(SDK)裸机开发之(六)Watchdog看门狗的使用
看门狗主要是实现程序在运行异常、崩溃卡死的状态下,使系统进行重启的功能,ZYNQ看门狗为PS核内置功能,因此无需对PS端进行特殊配置,也不需要增加PL端的任何IP核;测试看门狗是否正常运行时,可将喂狗操作去掉,观察ZYNQ的Done等,是否固定频率亮灭,如果是,则证明ZYNQ由于没有喂狗,在被一直复位重启。函数,在操作时间较长较复杂的位置,进行喂狗操作,防止狗咬系统复位;连接***********************************开发环境:Vivado2020.2,Vitis2020.2。原创 2024-04-14 09:26:39 · 1589 阅读 · 0 评论 -
ZYNQ-Vitis(SDK)裸机开发之(五)PL端AXI GPIO的使用
目前网上对于AXI GPIO的详细使用方法介绍的很少,基本都是一个通道一个IO,或者几个IO,统一进行配置,并没有对不同bit的不同操作进行深入的讲解,因此才写了本篇文章,也是希望大家学习过程中少走一些弯路,坑我都替你们踩过了。* 6.该代码实现AXI GPIO读取按键中断输出,然后打开蜂鸣器,按键一次,打开蜂鸣器,再按键一次,关闭蜂鸣器,蜂鸣器:channel1bit0,按键:channel1bit1。连接************************************原创 2024-04-14 09:19:09 · 2840 阅读 · 1 评论 -
ZYNQ-Vitis(SDK)裸机开发之(四)PS端MIO和EMIO的使用
以ZYNQ7020为例,GPIO总共118个,分为了4个bank(ZU+的GPIO和bank数量有所增加),其中MIO有两个bank,需要注意的是bank1的GPIO数量只有22个,其余三个都有32个。MIO和EMIO均为PS端的GPIO,由PS控制,其中MIO可直接配置复用成PS外设,而EMIO则可以连接到PL端,复用为PL端搭建的外设资源。原创 2024-04-14 09:08:11 · 2008 阅读 · 1 评论 -
ZYNQ-Vitis(SDK)裸机开发之(三)Vivado硬件设计(比特流(.xsa)文件)更新后,Vitis工程更新硬件依赖文件的方法,进行重编译
vitis工程中的板级支持包,都是根据vivado中设计硬件相关的,比如设计了一个PS串口,那么板级支持包中只包含PS串口操作的相关接口,不会包含PL串口操作的接口,因此如果Vivado工程更新后,如果vitis工程中不对xsa文件进行更新,vivado的修改不会生效;原创 2024-04-09 11:23:07 · 2529 阅读 · 0 评论 -
ZYNQ-Vitis(SDK)裸机开发之(二)程序固化方法,程序烧写到SD卡启动以及通过QSPI烧写到Flash中启动方法
然后将SD卡插入板卡的卡槽中,根据硬件原理图,将板卡启动模式开关,拨到SD卡启动模式,等待程序启动,如果zynq的done灯亮,且功能正常,则证明SD卡烧写启动成功。注意事项:建立vitis程序时,要勾选Generate boot components选项,这样会生成启动的引导文件fsbl,没有fsbl没办法进行程序烧写。Vitis工程编译完成后,在如下目录下会生成BOOT.BIN文件,去对应文件加中找到该文件,备用。程序烧写即将程序固化到存储器中,掉电不丢失,重新上电可以自动运行固化好的程序。原创 2024-04-09 10:56:12 · 2946 阅读 · 0 评论 -
ZYNQ-Vitis(SDK)裸机开发之(一)串口收发使用:PS串口+PL串口、多个串口使用方法
一些注意事项:PS和PL串口同时使用时,PL串口配置的中断优先级不能小于等于0xA0(即数值不能大于等于0xA0),目前代码中配置的PL串口中断优先级为0x98,如果数值大于等于0xA0时,单独使用PL串口收发没有问题,一旦使用了一次PS串口的收发,PL串口收发功能就失效了,具体原因我也不太清楚,还没深究,大家知道的话可以评论区说下~实例化PS、PL串口结构体对象,并新建数组,存放实例化后的对象指针,方便后续使用操作,这样后面的串口初始化配置等操作,只需要传入对应串口号即可操作响应的串口结构体;原创 2024-04-09 09:39:01 · 6769 阅读 · 3 评论 -
ZYNQ-Linux开发之(六)linux指令整理-全是linux开发中使用频率最高的shell指令,非常实用
3. 实时查看文档或日志的内容,例如调试日志在不停更新,可以使用该指令实时查看日志更新内容。7. 通过网口,远程将其他设备内数据拷贝传输出来,或者将本机数据传输到远端设备中。6. 远程登陆其他设备的系统-前提是两个设备的系统通过网口连接,可正常网络通信。14. 通过控制台启动程序,程序后台启动,并且控制台退出后程序不退出。19. 反编译设备树-反编译dtb设备树文件。18. 编译设备树-生成dtb设备树文件。24. 查看当前目录下的所有文件信息。21. 剪切文件-或重命名文件。8. 查看网口状态信息。原创 2023-07-09 17:18:45 · 505 阅读 · 0 评论 -
ZYNQ-Linux开发之(三)Vivado SDK使用,裸机开发调试,不带linux
单击Documention,可查看接口相关文档说明,单击Import Examples,可导入接口相关测试例程。,在弹出的窗口中,选中GDB Debugger using Debug Test.elf on Local,单击Run,正确情况下,SecureCRT窗口将输出“Hello World”。其他接口调试可在Peripheral Drivers中找到相应接口,点击Import Examples,再根据情况修改例程中的C/C++源代码(一般情况下不需要修改或这需要少量修改),按照以上步骤调试即可。原创 2023-07-02 11:08:25 · 6990 阅读 · 1 评论 -
ZYNQ-Linux开发之(二)Vivado工程搭建、Block Design设计搭建、PS、PL的IP核的使用配置
其他可能需要配置的是PL Fabric Clocks,根据之后添加PL的IP核所需的时钟确定,比如本工程的PL的IP核中有的需要100M时钟,有的需要200M时钟,有的需要125M时钟,还有的需要10M时钟,则可按下图设置,对于精度要求不高的IP核,还可以通过添加时钟的IP来进行时钟的倍频实现需要的时钟。4. SD有两个可选,一般设计中SD0为SD卡槽,SD1为EMMC,若为板卡存在EMMC芯片则SD0和SD1都需要勾选,无论是否有EMMC,SD0都是必须选择的。原创 2023-07-02 10:50:00 · 8199 阅读 · 5 评论 -
ZYNQ-Linux开发之(一)Vivado安装、SDK安装、License导入破解、Vivado无法正常启动等
点击Load License,再点击右侧的Copy License…,弹出对话框中找到License文件,选择打开后弹出License安装成功的对话框,点击确定完成vivado 2018.3安装。导入license,如果没有自动弹出可以打开软件后,单击Help菜单的Manage License…原创 2023-07-02 09:46:01 · 8640 阅读 · 2 评论 -
ZYNQ-Linux开发之(五)Vivado工程搭建,设备树修改方法,复旦微电子fmql开发、vivado联合procise、IAR的linux系统开发-保姆级教程-非常详细
不要在其余四个文件中修改设备树,即便修改了,编译后也不会生效,其余四个文件是通过DeviceTree文件夹以及.hdf文件编译后生成的,里面有vivado工程搭建的资源的设备树节点的描述,大家使用时,可以先不修改system-user.dtsi文件编译一次,这样其余四个文件中的设备树节点就根据你的DeviceTree文件夹以及.hdf文件进行了更新,然后再通过其余四个文件中的设备树节点的引用名字,在system-user.dtsi文件中通过引用添加新的设备树子节点信息。原创 2023-06-18 10:10:46 · 9640 阅读 · 16 评论 -
ZYNQ-Linux开发之(四)(Vivado - C2C使用)
ZYNQ-Linux开发之(一)(Vivado - C2C使用)原创 2023-06-10 17:48:04 · 1445 阅读 · 2 评论