- 博客(44)
- 收藏
- 关注
原创 zynq设计PL多中断触发ps代码模板
/ 4. 设置新的触发类型(TriggerType:00=高电平,01=上升沿,10=下降沿)// 配置DA5676(通道0)为上升沿触发(TriggerType=01=0x01)// 配置AD4696(通道1)为高电平触发(TriggerType=00=0x00)// 1. 计算该通道在ITR寄存器中的位偏移(每个通道占2位)// 3. 清除该通道原有的触发类型配置(先清零2位)// 通道对应的位偏移。// 中断类型寄存器(ITR)的偏移地址。// 配置AXI INTC通道的触发类型。
2025-10-30 09:54:11
385
原创 嵌软面试汇总
软件需要在其计数超时(减到零)前,定期执行“喂狗”(重置计数器)操作。:需要在一個特定的“时间窗口”内喂狗,过早或过晚都会触发复位,用于检测软件流程是否按预期顺序执行。:返回地址被破坏,程序计数器跳转到非法地址,引发硬件错误(如HardFault)。:通常由独立的低速时钟驱动,即使在主时钟发生故障时也能工作,用于检测硬件故障。:覆盖其他函数的局部变量、返回地址、寄存器等关键数据,导致逻辑错误。),在栈中插入“金丝雀值(Canary)”并在函数返回前校验。,小的放在后面,可以减少填充字节,节省内存。
2025-09-01 17:42:59
261
原创 ZYNQ面试问题整理
AXI-Stream接口需根据数据突发量配置FIFO深度(如1024x64bit),并利用空/满信号控制数据流;AXI-MM接口需限制突发长度以避免亚稳态,同步控制信号推荐使用两级寄存器或专用IP。DMA突发长度需与存储器特性匹配:DDR页大小通常为1KB,64位数据位宽时建议突发长度设为16(1KB/8B)。双向传输需启用独立DMA通道(MM2S+S2MM),避免通道复用引发阻塞。使缓存失效,确保CPU读取最新数据。PS侧CPU通过缓存访问数据,而PL侧DMA直接操作物理内存,可能导致数据不一致。
2025-08-25 13:39:16
662
原创 AD9852配置笔记
AD9852能够生成高稳定度的正弦波或方波信号,支持编程设置输出频率、相位和幅度参数,具备微秒级的快速频率切换能力。其输出频率范围从DC到数百MHz(具体取决于时钟频率),特别适合需要精确频率控制的场景。AD9852是Analog Devices公司推出的高性能直接数字频率合成器(DDS)芯片,采用数字方式生成精确可编程的频率信号,广泛应用于通信系统、雷达和测试仪器等领域。
2025-07-18 16:11:43
209
原创 三次握手四次挥手流程简述
服务器确认客户端的SYN后,回复SYN+ACK报文(SYN=1, ACK=1),携带自身初始序列号(ISN_s)及确认号(ISN_c+1),状态变为SYN-RCVD。客户端确认服务器的SYN+ACK后,回复ACK报文(ACK=1),确认号为ISN_s+1。客户端发送SYN报文(SYN=1),携带随机初始序列号(ISN_c),状态变为SYN-SENT。主动关闭方发送FIN报文(FIN=1),表示无数据发送,状态变为FIN-WAIT-1。被动方数据发送完成后发送FIN(FIN=1),状态变为LAST-ACK。
2025-07-08 15:52:42
274
原创 PL端软核FIFO读写
设计复位信号时,建议使用同步复位电路,确保复位信号与时钟域同步。复位信号的产生和释放需通过计数器控制,确保满足最小持续时间(≥3周期)和释放后等待时间(≥30周期)。复位信号的撤销(拉高)后,必须等待至少60个时钟周期才能对FIFO进行读写操作。在仿真中需重点检查复位信号的时序,确保其满足最小有效周期和释放后等待周期。在复位释放后,使用计数器或状态机延迟读写使能信号,确保满足三十周期的等待时间。在综合和布局布线阶段,需检查复位信号的扇出和布线延迟,避免复位信号因物理延迟导致不同逻辑单元复位时间不一致。
2025-06-19 16:52:18
624
1
原创 TMC260 电机控制配置参数详解(step/dir模式)
TMC260是一款由德国TRINAMIC公司生产的步进电机驱动芯片,具有高性能和低功耗的特点。驱动芯片分为spi和step/dir两种模式,这里只介绍step/dir模式的配置内容。在DIR/STEP模式下,TMC260可以通过方向(DIR)和步进(STEP)信号来控制步进电机的运动。为了正确地使用TMC260,需要对其进行初始化设置。
2024-12-18 17:11:41
1185
原创 keil5移植freeRTOS中出现的erro,无法识别_asm
../FreeRTOS/FreeRTOS_port/include\portmacro.h(219): error: expected 'volatile', 'inline', 'goto', or '('
2024-09-10 23:07:13
763
原创 keil 5不能识别__forceinline,移植FreeRTOS过程中一直报错误
移植FreeRTOS编译后portmacro.h文件大量error
2024-09-08 11:36:13
1267
原创 STM32程序debug后卡死原因及解决方法
原因:只配置了中断,但没有编写,对应的中断服务函数,开启中断后找不到中断服务函数入口,标志位无法清除,程序处于死循环状态。问题:编写串口通信时,配置usart中断,但debug过程中发现每次都会在USART_ITConfig();解决方法:加入中断服务函数,
2024-08-20 23:08:14
550
原创 Verilog语法笔记
(reg)寄存器:表示存储单元,表示数据原有的值,直到被改写。实数(real):可用十进制或者科学计数法表示,实数声明不能带有范围,默认值为0,整数(integer):声明不用指明位宽,位宽和编译器有关,一般为32bit,(将一个实数赋值给一个整数,只有实数的整数部分会赋值给整数。向量域选择:[bit+:width]从bit位开始递增,位宽为width。时间(time):特殊时间寄存器time型变量,位宽一般为64bit。向量:当位宽大于1时,wire和reg即可声明为向量形式。
2023-07-25 17:17:06
469
原创 ADC模块笔记
ADC分辨率(Resolution)是指ADC能够分辨量化的最小信号的能力,用二进制位数表示。比如:一个10位的ADC,其所能分辨的最小量化电平为参考电平(满量程)的2的10次方分之一。
2023-06-16 11:35:51
130
原创 stm32英文缩写对应全称(F4)
RCC--------------------Reset and clock control—复位和时钟控制。HSI------------High Speed Internal oscillator—高速内部时钟。ADC--------Analog-to-Digital Converter—模/数转换器,模数转换器。HSE-----------High Speed External oscillator—高速外部时钟。
2023-05-19 09:52:11
2051
原创 stm32M4_USART相关寄存器配置
TXE(transmit data empty):发送数据寄存器为空(判断什么时候可以发送数据)TC(transmit complete):传输数据是否完成。0:数据未传输到移位寄存器。1:数据传输到移位寄存器。
2023-05-04 19:31:19
165
原创 STM32笔记
BOOT引脚:选择下载方式为FLASH,RAM,系统存储器。(系统存储器不能直接访问,必须通过flash或SRAM):字节(8位),半字(16位),字(32位)置位复位操作:置位写1 复位写0 (SRAM内存大小192+4=196。其他端口:0x0000 0000。端口A:0xA800 0000。端口B:0x0000 0280。时钟引脚:提供稳定的时钟信号。复位引脚:RESET引脚。GPIO引脚:输入输出。电源引脚:给芯片供能。
2023-04-24 14:17:10
262
原创 C语言存储空间
堆区:用malloc,remalloc等函数开辟的存储空间,申请和释放都需要手动操作。.data:存放已初始化的全局变量和static修饰的已初始化的全局变量和局部变量。.bss:存放未初始化的全局变量和static修饰的未初始化的全局变量和局部变量。栈区:函数名,函数参数,函数内部变量,操作空间自动申请和释放。.ro(常量区):const修饰的全局变量。.text:存放代码块。
2023-04-12 16:14:56
199
原创 C语言函数的封装
函数声明可以多次声明,但函数定义只能定义一次,为定义的函数声明也不会报错;函数返回值类型可以缺省,缺省后默认返回值类型为int型。函数调用时形参才会占用空间,函数结束空间自动释放。1.给函数分配入口地址,给形参开辟存储空间。函数三要素:功能,参数,返回值;2.要有结束条件即边界条件。2.实参值传递给形参。
2023-04-04 10:50:45
900
原创 c语言函数
/break这里跳出了for循环,不是if循环。eg: goto 标签:会跳转到标签位置。fabs(double)求double类型数据绝对值。for循环嵌套使用注意,循环次数执行少的放在外层循环。不能用于单个if语句,每次跳出的是最内层循环。if语句,switch语句都不可以使用。abs(int)求整型数据的绝对值。语句,只能用于同一个函数内部。
2023-04-03 14:34:38
51
原创 笔记3.30
switch语句中default可以放在任意位置,但最后才会执行。贪婪法则:从左向右结合,直到不符合语法规则断开。不是变量(所以i++不能在等号左侧)无论前置++还是后置返回的都是一个。
2023-03-31 09:28:57
167
原创 笔记3.29
4.当有新的输入输出函数要使用缓冲区时则缓冲区会刷新。大端序:高字节存放在低地址,低字节放在高地址。小端序:高字节放在高地址,低字节放在低地址。1.缓冲区满(达到1024个字节缓冲区。有符号遇到无符号时,转换为无符号计算。printf刷新缓冲区的条件。3.遇到“\n”刷新缓冲区。2.程序结束刷新缓冲区。如何判断大小端:1.
2023-03-30 09:36:37
87
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅