- 博客(24)
- 收藏
- 关注
原创 Vitis platform构建bug解决: “ninja: error
Ninja 检测到 build.ninja(构建清单文件)在构建过程中持续被修改(“dirty”),超过 100 次重试后仍无法稳定,最常见诱因是系统时间异常(如时区错误、时间戳不匹配),其次是文件权限 / 锁、路径含特殊字符、Ninja 版本兼容、磁盘 IO 延迟等。问题出现在使用vitis 2024.2版本构建platform平台后,对platform或app编译(Build)出现platform报错,报错内容如下。检查系统的时间是否正确,重新开启自动同步时间即可。
2025-12-10 23:51:15
90
原创 使用VScode添加Vitis_HLS目录,消除#include红色波浪线
本文介绍了在VSCode中配置C++开发环境并解决#include红色波浪线问题的方法。主要内容包括:1)安装MinGW和C/C++扩展;2)通过修改c_cpp_properties.json添加包含路径消除错误提示;3)配置tasks.json集成Vitis HLS和自定义头文件路径;4)示例程序演示了自定义头文件和Vitis HLS库的使用。配置完成后,系统能正确识别Vitis HLS的ap_int等数据类型并成功编译运行测试程序。
2025-10-24 11:11:40
470
原创 IIC协议详解
IIC由Philips公司开发的一种通用数据总线,只需两根通信线:SCL、SDA,特点:同步通信、半双工(可以双向传输但不能同时)通信模式可为一主多从、多主多从;
2025-08-14 11:19:21
726
原创 STM32中USART、SPI、IIC的数据发送和移位寄存器的区别
摘要:USART、IIC和SPI外设在数据寄存器和移位寄存器的设计上存在差异。全双工的USART和SPI采用分离的数据寄存器,而半双工的IIC则共用;同步通信的SPI和IIC共用移位寄存器,因其时钟同步。这些设计差异反映了不同通信协议对全双工/半双工及同步/异步的需求,体现了外设架构与通信特性的匹配关系。
2025-08-07 16:44:50
175
原创 SPI通信详解 + STM32 SPI外设
SPI(串行外设接口)是一种高速同步串行通信协议,采用一主多从架构,具有全双工特性。其核心引脚包括MOSI、MISO、SS和SCK,通过片选信号(SS)实现多从机选择。SPI支持4种工作模式(0-3),由CPOL(时钟极性)和CPHA(时钟相位)配置决定。通信时主从机通过移位寄存器交换数据,即使只需单向传输也需完成完整收发过程。STM32的SPI外设提供独立收发寄存器,支持高速全双工传输,通过配置波特率分频器、时钟极性和相位等参数实现灵活通信。开发者需根据应用需求选择连续或非连续传输模式,根据时钟速率选择
2025-08-07 16:35:30
1213
原创 STM32 内核寄存器与存储器映射
ARM Cortex-M3内核包含16个寄存器(R0-R15),其中R0-R12为通用寄存器(R0-R3用于子程序参数传递,R4-R11保存局部变量),R13-R15与系统执行相关。STM32F103C8T6具有20KB SRAM(RAM)和64KB Flash(ROM),程序存储在Flash的0x0800_0000,BootLoader位于0x1FFF_F000。系统启动时从0x0000_0000执行,通过BOOT引脚选择从Flash或System Memory启动。外设寄存器映射在0x4000_0000
2025-08-03 16:09:52
395
原创 STM32 GPIO的输出模式:推挽、开漏模式
TTL肖基特触发器应为施密特触发器,通过设置高低电平的区间,将输入信号转换为稳定的数字信号接收。输出数据寄存器写0时,N-MOS导通,引脚连接至VSS(GND)输出数据寄存器写0时,N-MOS导通,引脚连接至VSS(GND)输出数据寄存器写1时,P-MOS导通,引脚输出高电平。输出数据寄存器写1时,输出为高阻模式,无驱动能力。推挽模式下输出有较强驱动能力,又叫强推输出模式。该模式下,N-MOS有效, P-MOS无效。该模式下,P-MOS和N-MOS均有效。两个MOS均无效,端口电平由外部控制。
2025-07-30 16:51:37
359
转载 FPGA笔记 EEPROM
ROM:出厂内置数据,不可更改PROM:出厂无数据,由用户写入,只能写入一次数据EPROM:可由用户反复写入擦除数据,但需要专用编辑器(下载器)EEPROM:可由用户反复写入擦除数据,使用标准协议即可,支持字节级的读写与flash区别:需按块(页)擦除写入。
2025-05-27 23:17:27
216
转载 FPGA笔记之FIFO
FIFO用于缓存数据,特点是先进先出,当需要访问随机地址时,采用RAM作为存储器,当不需要随机访问,只需顺序读取时则可采用FIFO作为存储器。FIFO可分为同步FIFO和异步FIFO同步FIFO:读时钟和写时钟为同一个时钟,在时钟沿来临时,同时发生读操作;异步FIFO:读时钟和写时钟为不一致,读写时钟是相互独立的。将空标志:almost_empty,FIFO即将被读空。
2025-05-25 21:43:53
272
转载 FPGA 双端口RAM读写
本文介绍了如何使用Xilinx BMG IP核配置一个同步的伪双端口RAM,并对其进行读写操作。文章详细描述了双端口RAM的设计要点,包括如何避免读写冲突和写写冲突,以及如何通过控制信号实现数据的写入和读取。文中还提供了顶层模块图和波形图,展示了写模块和读模块的具体实现方式。写模块负责向RAM写入数据,并在写入32个数据后启动读模块;读模块则从RAM中读取数据。通过仿真代码,验证了设计的正确性。
2025-05-16 17:39:49
301
转载 FPGA笔记---单端口RAM读写
【正点原子FPGA连载】第十四章 IP核之RAM实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0_xilinx的bram的primitives output register-优快云博客
2025-05-16 09:49:18
136
转载 UART 通信 正点原子笔记
bit位发送由低至高,图中数据为 0101_0101=0x55起始位start 拉低,结束位stop拉高扩展:数据位宽可以是5-8位,在最后一个数据位和停止位之间还可插入校验位,校验位包括:奇校验;偶校验;1校验;0校验;停止位时间长度可为1;1.5;2;常使用8位数据,无校验位波特率定义码元是单个数据位或起始位或停止位,非单纯的指有效数据当baud为9600时,单个码元所占用时间为1/9600s,串口发送模块。
2025-05-15 21:12:08
101
原创 Zynq 利用AXI4-lite联合AXI4-full对PS端DDR发起读写
在HLS中通过对函数进行接口设置生成的IP核能够利用axi-lite在sdk中进行配置并启动,在RTL设计中利用axi4总线实现该功能;
2025-03-13 16:31:09
1328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1