- 博客(47)
- 收藏
- 关注
原创 ICMP 协议分析
主要内容参照,整理出来自用。在 TCP/IP 协议栈中,ICMP 是保障网络通信可感知、可诊断的关键协议。它弥补了 IP 协议 “无连接、不可靠” 的缺陷,成为网络层故障排查与状态交互的核心工具。
2025-08-21 22:19:44
518
原创 瑞萨e2studio:HardwareDebug配置项详解
选此项,e2studio 会自动启动本地 GDB 服务器,作为调试器(如 E2 Lite)与开发环境的中间层,转发调试指令、处理芯片数据交互。表示芯片主时钟来自外部晶振,需与硬件电路(外部晶振频率、电路设计 )匹配,影响芯片运行频率、指令执行速度。,是 GDB 服务器监听的端口,确保无其他程序占用,保证调试指令、数据能通过该端口传输。:芯片实际运行的主频率,由时钟源、分频 / 倍频配置决定,影响代码执行速度、功耗。:定义外部晶振频率,芯片时钟树基于此计算系统时钟、外设时钟。
2025-08-19 22:59:38
668
原创 ethernet_input到应用层处理简单分析
环节核心函数 / 变量作用硬件中断eth_isr触发数据接收事件,通知驱动层驱动层数据读取(自定义)从硬件读取数据,构造pbuf协议栈入口指向,作为数据入口点以太网帧解析(LWIP 提供)解析以太网帧,分发到 IP/ARP 模块网络层处理ip4_input处理 IP 数据报,传递到传输层。
2025-08-16 18:02:25
328
原创 【Twincat3】IO的SCAN 不可选中,SCAN中后扫描不到设备
在默认的安装盘路径下找到C:\TwinCAT\Io\TcRteInstall.exe安装对应的网卡即可。用EEPROM能正常扫到设备说明链接没问题,查阅官方资料发现缺少EtherCAT驱动,3)确认切换至配置模式后,点击I/O,右击Device选择Scan即可。1)点击工具栏上的配置模式(蓝色图标),将控制器切换到配置模式。2)在弹出的窗口中选择确定。
2025-08-15 22:14:42
229
原创 EtherCAT概念介绍
EtherCAT(Ethernet Control Automation Technology)是一种工业以太网现场总线,它将计算机网络中的以太网技术应用于工业自动化领域,构成工业控制以太网(工业以太网、工业以太网现场总线)。其以太网数据帧的数据区由多个子报文组成,每个子报文都服务于一个特定的逻辑映像区。
2025-08-14 20:45:41
535
原创 uC/OS-III 与 FreeRTOS 信号量机制简单对比
信号量的本质是一种 "计数器 + 等待队列" 的组合结构,通过计数器控制资源访问权限,通过等待队列管理阻塞的任务。两款 RTOS 均支持(互斥 / 同步)和OS_SEMOS_SEMOS_MUTEXOS_MUTEXOS_MUTEXOS_SEM。
2025-08-13 20:12:15
938
原创 RTOS中LWIP协议栈启动逻辑梳理
LWIP协议栈启动流程主要分为三个关键步骤:首先是lwip_init()进行内存管理和核心协议模块初始化;接着netif_add()完成网络接口初始化,包括网卡驱动和硬件配置;最后tcpip_init()创建核心处理线程,负责协议数据处理、超时管理和线程间通信。
2025-08-11 20:44:02
597
原创 LwIP的内存管理(1)
主要内容参照,整理出来自用。LwIP 本质上是对数据的处理,而网络中的数据量通常非常庞大,因此 LwIP 对这些数据的处理必然会消耗系统资源。一套优秀的内存管理策略就显得至关重要,内存分配策略、分配效率等都是衡量系统性能的重要因素。
2025-08-10 22:16:28
924
转载 【转载】FreeRTOS-消息队列
消息队列/* 存储区域的起始地址 *//* 下一个写入的位置 */union} u;/* 等待发送列表 *//* 等待接收列表 *//* 非空闲队列项目的数量 *//* 队列长度 *//* 队列项目的大小 *//* 读取上锁计数器 *//* 写入上锁计数器 *//* 其他的一些条件编译 */} xQUEUE;AI写代码c运行123456789101112131415161718。
2025-08-09 19:32:15
17
原创 关于RTOS的状态切换和资源释放逻辑设计
理解抢断式RTOS的运作机制主要需要理解以下一句话:如果最高优先级的任务不主动挂起或者阻塞,意味着其他任务永远不会运行。。
2025-08-06 19:40:40
1042
原创 eclipse类IDE导入现有工程教程
基于 Eclipse 架构的 IDE 有很多,界面上大同小异,以下以MCUXpresso来介绍下如何导入现有工程,以及如何导入非本IDE编译器的工程(仅当做文本编辑器用)。
2025-08-05 21:00:51
394
原创 lwIP 代码解析:sys_arch.c
基于线性同余算法的伪随机数生成器,使用固定种子(12345u),保证了结果的可重现性,适合测试场景。用于调试阶段的断言检查,当条件不满足时打印消息并进入死循环,在非调试模式下可被优化掉。在裸机环境下,则通过 SysTick 中断维护一个全局时间变量。通过互斥锁实现对 TCP/IP 核心操作的保护,同时。函数用于断言检查当前上下文是否有权限执行特定操作,防止线程安全问题。在操作系统环境下,该函数通过。,提供毫秒级的时间戳。
2025-08-04 21:54:33
413
原创 Windows 下 fping 指令使用指南
fping 是 “fast pinger” 的缩写,它可以向一系列 IP 地址发送 ICMP 回声请求。与标准的 ping 程序不同,fping 能够以并行化的方式工作,在发送 ping 请求时无需等待每个请求的响应,而是以 “轮询” 的方式持续发送,直到所有请求发送完毕或达到设定的条件。这种异步操作模式使得 fping 在处理大量主机时,性能远远优于传统的 ping 命令,大大提高了网络检测的效率。
2025-08-02 20:09:34
504
原创 eclipse 类IDE报错: “Open Declaration“期间发生了内部错误。Cannot invokeorg.eclipse.cdt.core.dom.ast.
这个错误通常发生在 Eclipse CDT(C/C++ 开发工具)中,主要原因是 C/C++ 代码的语法分析或索引出现了问题,导致在尝试查看某个函数参数的声明时,Eclipse 无法正确获取参数信息(参数对象为 null)。
2025-08-01 20:48:48
258
原创 <RT1176系列13>LWIP Ping功能入门级应用和基础API解析
本文通过NXP官方SDK讲解如何移植LWIP Ping相关功能的驱动,面向刚入门的小白。官方IDE:MCUXpresso,SDK:MIMXRT1170-EVK。
2025-07-31 20:58:46
1097
原创 <RT1176系列13>LWIP概念介绍
LWIP 由瑞典计算机科学院(SICS)的 Adam Dunkels 等人开发,其设计目标明确,旨在为资源受限的嵌入式系统提供高效的 TCP/IP 协议实现。与传统的 TCP/IP 协议栈相比,LWIP 通过一系列的技术手段,极大地减少了对系统资源的占用。
2025-07-30 20:56:34
543
原创 <RT1176系列12>DMAMUX入门级应用和DMAMUX MAP表
之前在<RT1176系列5>LPUART入门级应用和基础API解析-CSDN博客文章中简要讲述如何引用DMA进行配置,这里继续这篇文章进行一些关于DMA源的配置点。
2025-07-29 20:24:16
959
原创 <RT1176系列11>DMAMUX解读
DMA(直接内存访问,DIrect Memory Access)工作原理:DMA控制器直接在内存和外设之间传输数据,而不需要CPU的干预。优点:极大地提高了数据传输效率,释放CPU资源。适合大批量数据传输,减少CPU负担。缺点:需要额外的硬件支持(DMA控制器)。实现复杂度较高,涉及内存管理和总线控制。RT1176配备两个 DMA 控制器,且相应地配有两个 DMAMUX(DMA 多路复用器)。EDMA(增强型 DMA)位于 CM7(Cortex-M7)域,与 CM7 协同工作;
2025-07-28 19:26:44
728
原创 FLASH 中的程序代码是否一定要搬到 RAM 中运行
这是因为 FLASH 被映射到处理器的地址空间中,与 RAM 一样可被 CPU 直接访问。若程序需要在运行时修改自身代码(如固件升级、动态补丁),而 FLASH 不支持 “边读边写”(多数 FLASH 写入时需暂停读取),则需先将修改代码的程序段搬至 RAM 运行,再通过 RAM 中的程序去更新 FLASH 中的内容。虽然 FLASH 的读取速度通常慢于 RAM,但对于多数低功耗、低主频的嵌入式设备(如传感器、小家电控制器),FLASH 的读取速度足以匹配 CPU 运行需求,无需额外迁移代码。
2025-07-27 15:37:24
317
转载 嵌入式以太网通信移植参考
Bsp 文件下新建一个 ETH 文件夹,将stm32f4x7_eth.h 和 stm32f4x7_eth.c 改为stm32f429_eth放入bsp/ETH中,再stm32f4x7_eth_bsp.c、 stm32f4x7_eth_bsp.h 和stm32f4x7_eth_conf.h 三个文件放入bsp/ETH中,stm32f4x7_eth_bsp改名为stm32f429_phy。TA 为状态转换域, 若为读操作, MAC 输出两个位高阻态,而 PHY 芯片则在第一位时输出高阻态,第二位时输出“0”。
2025-07-26 17:37:15
21
原创 <RT1176系列10>ENET入门级应用和基础API解析(ENET配置)
本文通过NXP官方SDK讲解如何移植ENET的驱动,面向刚入门的小白。官方IDE:MCUXpresso,SDK:MIMXRT1170-EVK。
2025-07-25 21:55:08
732
原创 <RT1176系列9>ENET入门级应用和基础API解析(PHY配置)
本文通过NXP官方SDK讲解如何移植ENET的驱动,面向刚入门的小白。官方IDEMDIO(Management Data Input/Output,管理数据输入 / 输出)是一种用于以太网物理层(PHY)和媒体访问控制层(MAC)之间进行管理通信的标准接口,广泛应用于嵌入式系统和网络设备中。它定义了一套简单的总线协议,让 MAC 能够读取和配置 PHY 的寄存器,从而实现对 PHY 工作状态的监控、模式设置(如速率、双工模式)、故障诊断等功能。1)复位PHY,通过芯片上的RESET管脚拉低拉高给复位信号。
2025-07-24 19:51:37
837
原创 <RT1176系列8>ENET 基础以太网模块解读(MAC与PHY,寄存器配置表)
是数据与物理网络(如网线、光纤)的直接接口。将 MAC 传来的数字信号转换为物理介质(如网线)可传输的电 / 光信号(发送时),或反之将接收的物理信号还原为数字信号(接收时),同时提供速率适配、信号调制解调等物理层功能。MAC 与 PHY 通过标准化接口(如 MII、RMII、RGMII)通信,接口定义了数据、时钟和控制信号(如发送使能、接收准备)。通过 MII 等接口与 PHY 交互,是数据链路层的核心。PHY 属于 OSI 模型的。(第二层),主要负责。(第一层),主要负责。
2025-07-23 21:55:19
975
原创 <RT1176系列7>ENET 基础以太网模块解读(基础通信协议)
IPv6 的头部在 IPv6 数据包的最开头,是按 32 位(4 个字节)一组来排的,长度是固定的,一共 10 组(也就是 40 个字节)。Next Header 字段标识紧跟在 IPv6 首部之后的首部类型,其定义类似 IPv4 中的协议标识符,但新增了用于标识扩展首部的定义。这些扩展首部可插入 IPv6 首部与协议首部之间,从而相应地改变协议首部的位置。首部的字节序遵循前文所述 IP 首部的约定。IP 首部后紧跟的数据,数据中可包含更多协议首部(例如,如协议字段值所指示的 TCP 或 UDP 首部)。
2025-07-22 21:11:20
644
原创 自己动手写从0到1写嵌入式操作系统 源代码学习笔记<5>
使用快速查表法查找效率很高,时间复杂度为O (1)。本文参考课程为李述铜老师的《自己动手写从0到1写。》,仅用作个人笔记复习和分享。
2025-07-20 21:16:42
167
原创 瑞萨e2 studio CC-RX工具链安装以及编译头文件包含报错问题解决(E0520005)
第一次用瑞萨IDE e2 studio,记录遇到的两个问题。
2025-07-19 16:43:38
262
原创 <RT1176系列5>LPUART入门级应用和基础API解析
本文通过NXP官方SDK讲解如何移植LPSPI的驱动,面向刚入门的小白。官方IDE获取LPUART默认配置结构。
2025-07-18 17:24:07
909
原创 <RT1176系列4>LPUART解读
RT1176芯片配置12个LPSPI模块,对应为LPUART1 ~ LPUART12,地址分配如图。低功耗通用异步收发器(LPUART)模块提供与外部设备的异步串行通信能力。
2025-07-17 19:33:48
1136
原创 <RT1176系列3>LPSPI入门级应用和基础API解析
本文通过NXP官方SDK讲解如何移植LPSPI的驱动,面向刚入门的小白。官方IDE:MCUXpresso,SDK:MIMXRT1170-EVK。
2025-07-16 16:09:58
865
原创 <RT1176系列2>LPSPI解读
RT1176芯片内置6个LPSPI模块,支持主/从模式,具有低功耗特性。主模式下支持4个外设片选,16字收发FIFO,可配置时钟极性与相位,提供全/半双工传输(支持1/2/4位传输)。从模式使用相同移位寄存器,需静态保持TCR配置。模块支持数据匹配功能,可在运行/停止/调试模式下工作(需时钟支持),并支持DMA传输和中断请求。关键特性包括灵活的定时参数、接收数据过滤及32位字长支持,适用于高效SPI通信场景。
2025-07-15 19:46:10
969
原创 <RT1176系列1>启动问题踩坑记录以及经验总结
无法正常烧写基本可以确定是硬件的问题,从RT的启动配置开始分析,硬件主要检查两处,一个是Boot Mode,另一个是Boot Configuration,板子是FLEXSPI启动,Boot Mode配置的是0b10:Internal Boot,没有问题,Boot Configuration是全0,对应的启动Type是FlexSPI1,按理说也没问题,但实际板子有纰漏,NC处接了0Ω的电阻导致启动配置出现异常,拿掉后问题解决。0x3000_0480处的配置则根据不同的NORFLASH进行不同的修改。
2025-07-14 16:40:34
336
原创 MCUXpresso IDE 踩坑经验总结
4、Debug模式和Release模式:NXP官方默认配置两种模式,可以在Bulid路径下更改,二者区别在于编译优化、断言启用、调试信息等,对于嵌入式而言,还要关注两个模式的ld文件,Debug模式默认直接在RAM上加载(省去搬运环节调试更快),Release模式默认在FLASH上加载;5、想查看编译生成的.hex文件或者.dump文件,直接右键二进制文件-Binary Utilties-对应选择即可。1、导入一个新工程编译报错,有可能是因为SDK未安装,在导入的时候会提示你关联你的SDK;
2025-07-11 14:50:15
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人