- 博客(18)
- 收藏
- 关注
原创 ynq axi_dma ip核 ,S_AXIS_S2MM,M_AXIS_MM2S,M_AXI_MM2S和M_AXI_MM2S详解
在 Zynq 平台中,AXI DMA(Direct Memory Access)IP 核用于通过 AXI4 总线实现。其核心功能是减轻 CPU 负担,通过 DMA 直接搬运数据。
2025-05-05 10:31:38
454
原创 zynq sdk lwip 当目标缓冲区 `total_data` 的大小无法提前确定时,处理链式 `pbuf` 数据
当目标缓冲区total_data的大小无法提前确定时,处理链式pbuf数据的策略需要更加灵活。
2025-04-30 09:48:46
311
原创 **`total_len`** 变量如何与链式 `pbuf` 数据结构结合的详细解释
以下是关于 total_len变量如何与链式pbuftotal_lentotal_len是用户自定义的,主要用于在与pbuf链式结构交互时,记录已处理的累计数据长度,并确保数据完整性和安全性。
2025-04-30 09:29:58
578
原创 对 `struct pbuf *current = p;` 的详细解释,及其在 **lwIP 协议栈** 中的实际应用背景
对 `struct pbuf *current = p;` 的详细解释,及其在 **lwIP 协议栈** 中的实际应用背景
2025-04-30 09:14:37
383
原创 在嵌入式系统中使用 lwIP 协议栈的 `tcp_write` 函数时,其核心逻辑和注意事项
需要平衡实时性、内存效率和数据可靠性,建议结合 lwIP 的状态机和回调机制进行设计。▶ 小数据包可能被暂时缓存(Nagle算法),等待后续数据合并或超时发送。是 lwIP 协议栈中用于将数据写入 TCP 发送缓冲区的函数,但。标志时,lwIP 会拷贝数据到内部缓冲区,内存安全但增加开销。数据滞留在缓冲区,需主动调用或依赖协议栈超时发送(效率低)。丢弃重要数据或进入死循环,应实现重试机制或流控。的可用空间会导致数据丢失,需自行分片处理。提示后续还有数据,延迟发送以合并报文。,需确保数据在发送前不被修改。
2025-04-29 10:40:48
282
原创 在 Vivado SDK(或任何调试环境)中,变量在调试时出现 **有时可读、有时不可读** 的现象,通常由以下原因导致。以下是可能的原因及解决方案:
在 Vivado SDK(或任何调试环境)中,变量在调试时出现。的现象,通常由以下原因导致。
2025-04-25 11:19:41
336
原创 XSpiPs_PolledTransfer 和 XSpiPs_Transfer的区别
和是 Xilinx SPI 驱动中两个关键的数据传输函数,它们的核心区别体现在和上。
2025-04-23 10:47:52
282
原创 SPI(Serial Peripheral Interface)协议的四种模式
通过配置CPOL和CPHA,SPI可以灵活适配不同外设的时序要求。
2025-04-21 19:40:24
564
原创 【编译时提示 conflicting types for 错误的解决办法】
在 C/C++ 编译过程中出现 “conflicting types for” 错误通常是由于类型声明不一致导致的。
2025-04-19 10:21:16
1116
原创 在 Xilinx SDK(Vivado 2018.3)中,`XSpiPs_Transfer` 和 `XSpiPs_PolledTransfer`的区别
轮询模式会独占 CPU,中断/DMA 模式需注意共享资源的同步(如缓冲区访问)。适用于简单场景(如初始化配置、低速单次传输),代码简单但会阻塞 CPU。使用,适合高性能、多任务系统(如实时操作系统 FreeRTOS)。在 Xilinx SDK(Vivado 2018.3)中,启用中断或 DMA,并注册中断处理函数。的两个不同函数,主要区别在于。或错误码),确保传输完成状态。若有其他问题,欢迎继续提问!
2025-04-15 10:24:10
273
原创 vavado中,有些信号没法指定管教,报错咋办
但是工程中有些信号暂时没法指定管脚,这种情况可以使用一句脚本语言来暂时忽略该限制。只需要创建一个tcl脚本,在脚本中输入下述内容即可。
2025-04-14 09:28:41
177
原创 C语言中,“堆栈“详细解释
内存管理:理解堆和栈的区别是避免内存错误的关键。数据结构:栈的LIFO特性使其在算法中非常高效。实际开发中,优先使用栈内存(安全、高效),需要动态分配时再使用堆内存。
2025-04-07 14:38:40
431
原创 【大端(Big-Endian)和小端(Little-Endian)详解】
大端(Big-Endian)和小端(Little-Endian)是两种不同的字节序(Byte Order),用于描述多字节数据(如整数、浮点数)在内存或网络传输中的存储顺序。它们的区别直接影响数据的解析方式,是计算机领域的基础概念。
2025-04-01 10:10:48
1031
原创 在AXI DMA传输过程中,刷新缓存(Flush)和失效缓存(Invalidate) 是为了解决CPU缓存与DDR内存数据不一致的问题
刷新缓存(Flush)和失效缓存(Invalidate)
2025-03-18 16:22:29
521
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人