<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangxiaio1的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/zhangxiaio1</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; zhangxiaio1]]></copyright><item><title><![CDATA[理解CAN总线上filter以及mask匹配作用]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149978242</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149978242</guid><author>zhangxiaio1</author><pubDate>Wed, 06 Aug 2025 18:47:16 +0800</pubDate><description><![CDATA[Filter定义基准ID（目标范围的模板）；Mask定义筛选精度（哪些位必须严格匹配，哪些位可灵活变动）；两步位运算（XOR找差异→AND查违规）决定是否接收。这种机制确保了CAN总线在多节点通信时，每个节点只处理自己需要的报文，兼顾了实时性和效率。]]></description><category></category></item><item><title><![CDATA[从AUTOSAR角度理解CAN以及CANFD]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149945817</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149945817</guid><author>zhangxiaio1</author><pubDate>Tue, 05 Aug 2025 20:53:32 +0800</pubDate><description><![CDATA[从AUTOSAR角度看，CAN FD是对传统CAN的功能扩展两者共享核心通信栈架构（Can Driver→CanIf→CanTp），但CAN FD在波特率配置、payload长度、帧格式上引入了新特性；AUTOSAR通过分层模块的功能扩展（如双波特率支持、长帧处理），实现了对CAN FD的兼容，同时保持与传统CAN的互操作性；实际应用中需根据带宽需求（低带宽用CAN，高带宽用CAN FD）和AUTOSAR版本，选择合适的协议并配置对应的模块参数。]]></description><category></category></item><item><title><![CDATA[三、CAN协议的扩展与变种：从经典CAN到多场景适配]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149944863</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149944863</guid><author>zhangxiaio1</author><pubDate>Tue, 05 Aug 2025 20:01:46 +0800</pubDate><description><![CDATA[CAN协议的扩展与变种（CAN FD、CAN XL、LIN、FlexRay、SAE J1939等），通过技术创新和场景化适配，持续巩固其在汽车电子、工业控制等领域的核心地位。CAN FD（CAN with Flexible Data-Rate，灵活数据速率CAN）是2012年由博世联合多家车企提出的扩展协议（ISO 11898-1:2015标准），旨在解决传统CAN的。除CAN FD和CAN XL外，基于经典CAN的核心思想（多主、差分、错误检测），行业内还衍生出多种。此外，CAN XL支持。]]></description><category></category></item><item><title><![CDATA[CAN总线网络的参数协同：从一致性要求到容差边界]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149560487</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149560487</guid><author>zhangxiaio1</author><pubDate>Wed, 23 Jul 2025 09:11:03 +0800</pubDate><description><![CDATA[CAN总线的可靠性不仅依赖硬件设计，更取决于参数配置的“隐性契约”。波特率是通信的基础，但传播段、相位段、SJW的协同才是核心——一致性为纲，容差为界，两者缺一不可。随着CAN FD（灵活数据速率）等高速协议的普及，参数容差的要求将更严苛（如8Mbps速率下采样点偏移需≤50ns）。工程师需从“唯波特率论”转向“全参数协同设计”，通过科学计算与实测验证，构建真正可靠的CAN网络。以上内容围绕CAN网络参数的关键要点展开，涵盖理论知识与实践策略。]]></description><category></category></item><item><title><![CDATA[CAN基础知识]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149545222</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149545222</guid><author>zhangxiaio1</author><pubDate>Tue, 22 Jul 2025 19:31:03 +0800</pubDate><description><![CDATA[协议版本决定了CAN的通信能力（数据长度、速率），从CAN 2.0到CAN FD再到CAN XL，逐步突破带宽限制；控制器分类影响硬件设计（独立式适合低成本，集成式适合高集成度）；常见控制器需根据场景选型：汽车高实时场景选FlexCAN，工业中端选STM32 bxCAN，低端低成本选MCP2515/SJA1000。]]></description><category></category></item><item><title><![CDATA[CAN通信：EB中配置CAN驱动，配置参数解析]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149508401</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149508401</guid><author>zhangxiaio1</author><pubDate>Tue, 22 Jul 2025 10:11:06 +0800</pubDate><description><![CDATA[以S32K314芯片说明，其他芯片不同，参数配置也有差异。]]></description><category></category></item><item><title><![CDATA[二、CAN协议核心原理：从物理层到数据链路层]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149503569</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149503569</guid><author>zhangxiaio1</author><pubDate>Mon, 21 Jul 2025 16:08:16 +0800</pubDate><description><![CDATA[一个标准CAN数据帧（ID=0x123，DLC=4，数据=0xAA,0xBB,0xCC,0xDD）的仲裁场为0b0000000100100011（11位ID），控制场为0b00000100（DLC=4），数据场为0xAABBCCDD，CRC场为根据这些数据计算出的15位校验码。例如，节点A需要获取节点B的温度数据（ID=0x456），会发送一个远程帧：仲裁场为0x456，RTR位=1，DLC=2（表示希望接收2字节数据）。只有所有节点都发送隐性位（1），总线才表现为隐性位（1）。]]></description><category></category></item><item><title><![CDATA[一、引言：CAN协议的起源]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149499574</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149499574</guid><author>zhangxiaio1</author><pubDate>Mon, 21 Jul 2025 13:45:32 +0800</pubDate><description><![CDATA[从传统CAN到CAN FD，再到未来的CAN XL，它的演进不仅是技术参数的升级，更是对分布式系统“更高效协同、更智能响应”需求的持续适配——它是工业与汽车领域的“隐形神经网”，支撑着现代智能设备的每一次精准动作。：CAN节点无需“请示”即可主动发送数据，当多个节点同时发送时，通过“ID数值”仲裁（ID越小优先级越高）——例如，汽车碰撞信号（ID=0x001）可强行中断空调调节信号（ID=0x100），确保紧急事件优先响应，这是RS-485（主从轮询）和LIN（单主控制）无法实现的。]]></description><category></category></item><item><title><![CDATA[C语言代码风格规范全解析：从理论到实践]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/149276706</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/149276706</guid><author>zhangxiaio1</author><pubDate>Fri, 11 Jul 2025 16:05:46 +0800</pubDate><description><![CDATA[起源与历史背景：由C语言创始人Brian Kernighan和Dennis Ritchie在1978年《The C Programming Language》书中确立的标准大括号位置规则：
适用场景与代表项目：全括号独立行规则：所有大括号均独立成行
多层嵌套代码的可读性优势：
Linux内核中的应用案例：文件操作和网络堆栈模块
与K&R的对比：垂直空间占用多20%，但视觉结构更清晰2空格缩进标准：
函数参数对齐规则：
指针声明语法：（星号紧贴类型名）
Google开源项目实践：Chromium底层组件，gR]]></description><category></category></item><item><title><![CDATA[UDS协议中0x31服务（Routine Control）详解及应用]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/148641017</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/148641017</guid><author>zhangxiaio1</author><pubDate>Fri, 13 Jun 2025 20:53:40 +0800</pubDate><description><![CDATA[摘要： UDS协议中的0x31服务（Routine Control）用于执行ECU诊断例程，如内存擦除、传感器校准等。请求报文包含服务标识符（0x31）、子功能代码（启动/停止/查询例程）、例程序号和参数。ECU返回肯定响应（0x71）或否定响应（0x7F，含错误码）。该服务需在编程或扩展会话中执行，且需通过安全访问解锁权限。典型应用包括固件升级前的内存擦除和传感器校准。使用时需注意例程兼容性、安全权限和数据校验，以确保操作可靠性。]]></description><category></category></item><item><title><![CDATA[UDS协议中0x34、0x36、0x37服务详解及应用]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/148639786</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/148639786</guid><author>zhangxiaio1</author><pubDate>Fri, 13 Jun 2025 19:25:04 +0800</pubDate><description><![CDATA[《UDS协议0x34与0x36服务详解》摘要： 0x34服务（Request Download）用于ECU固件升级时的数据传输初始化，需在编程会话和安全解锁后使用。请求报文包含地址、长度等参数（如34 00 44 08 00 00 00 00 01 00 00表示向0x08000000写入64KB数据）。ECU通过响应报文（如74 20 04 02）返回最大分块尺寸，后续需配合0x36服务进行分块传输。 0x36服务（Transfer Data）执行实际数据传输，每块数据附带递增序号（如36 00...为第]]></description><category></category></item><item><title><![CDATA[C语言switch-case中的变量声明对栈空间的影响及溢出风险分析]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/146425244</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/146425244</guid><author>zhangxiaio1</author><pubDate>Fri, 21 Mar 2025 17:18:51 +0800</pubDate><description><![CDATA[‌关键点‌‌结论‌‌栈空间分配‌编译器通常复用空间，占用量为单个case的最大值‌栈溢出风险‌在变量过大或系统栈较小时需警惕‌优化方案‌动态分配、缩小类型、编译器优化、调整系统配置‌最佳实践始终用{}隔离case作用域。避免在case中声明大数组。在嵌入式系统中优先使用静态内存池。]]></description><category></category></item><item><title><![CDATA[记一次生成core_dump文件的调查记录]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/145935139</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/145935139</guid><author>zhangxiaio1</author><pubDate>Fri, 28 Feb 2025 18:10:27 +0800</pubDate><description><![CDATA[在默认情况下，Linux 可能不生成 core dump 文件。ulimit -c如果返回值为 0，则表示禁用了 core dump。上述设置仅在当前的终端有效，如果新建终端或者关闭了此终端，需要重新配置。如果需要永久设置，可以把这条命令加入到 shell 的启动脚本（比如 ~/.bashrc）中。]]></description><category></category></item><item><title><![CDATA[什么是 MD5 加密]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/144118399</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/144118399</guid><author>zhangxiaio1</author><pubDate>Thu, 28 Nov 2024 19:18:30 +0800</pubDate><description><![CDATA[MD5（Message Digest Algorithm 5，消息摘要算法5）是一种广泛使用的哈希函数，用于生成固定长度（128位，16字节）的哈希值（也称为消息摘要）。它被设计为将任意长度的数据“压缩”成一个看似随机的哈希值。注意：MD5并非真正的“加密算法”，因为它是不可逆的，即无法通过数学方法从哈希值直接恢复原始数据。虽然MD5在某些场景（如文件校验）仍然有用，但由于其安全性问题，不再推荐用于需要高安全性的场景（如存储密码、数字签名）。现代应用更多使用SHA-256等更安全的哈希算法。]]></description><category></category></item><item><title><![CDATA[爆改老旧笔记本---将笔记本改造为家用linux服务器]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/144094585</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/144094585</guid><author>zhangxiaio1</author><pubDate>Thu, 28 Nov 2024 19:17:31 +0800</pubDate><description><![CDATA[分区限制：最多支持4个主分区（或3个主分区加一个扩展分区，扩展分区可以包含多个逻辑分区）。存储容量限制：支持的最大硬盘容量为2TB（使用512字节扇区）。启动机制：通过存储在第一个扇区的引导代码加载操作系统。文件系统是操作系统用来组织、存储和管理数据的一种方法。它为数据在存储设备（如硬盘、SSD、U盘）上的存储和访问提供结构化的方式。本节以FAT32和NTFS为主，介绍文件系统的概念、特点以及应用场景。文件系统定义了如何在存储设备上组织文件和目录，并管理文件的元数据（如文件名、大小、权限等）。]]></description><category></category></item><item><title><![CDATA[C语言学习--const修饰符的作用，如何强制修改const定义的对象内容]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/143618120</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/143618120</guid><author>zhangxiaio1</author><pubDate>Fri, 08 Nov 2024 18:04:27 +0800</pubDate><description><![CDATA[通过访问联合体的非 const 成员，我们可以绕过 const 修饰符，直接修改 const 数据。const 是 C 语言中的一个关键字，用于定义不可修改的变量。通过在变量声明中使用 const，可以指示编译器在代码中禁止对该变量进行修改，增加代码的安全性和可读性。start_ptr 是一个指针常量，表示指针本身不能修改，可以通过二级指针强制转换的方式，修改start_ptr的指向。在嵌入式编程中，寄存器通常是只读的，使用 const 修饰寄存器可以表明该寄存器值不会被程序更改，仅用于读取操作。]]></description><category></category></item><item><title><![CDATA[网络技术---网络通信概述]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/143632303</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/143632303</guid><author>zhangxiaio1</author><pubDate>Fri, 08 Nov 2024 18:03:38 +0800</pubDate><description><![CDATA[随着信息技术的飞速发展，网络通信已经成为现代社会不可或缺的一部分。网络通信涉及多个层次的相互作用，以确保数据能够高效、准确地在不同设备和系统之间传输。本文将详细介绍网络通信的层次结构，OSI七层网络模型、TCP/IP五层模型，以及物理层、数据链路层、网络层、传输层和应用层的具体内容。物理层涉及到各种传输介质，如铜缆、光纤、无线信号等，以及相关的设备和技术。物理层处理的内容包括电压电平、传输速率、信号传输距离和传输介质选择。网络层的主要任务是为数据包选择最佳路径，确保其从源主机到达目的地。]]></description><category></category></item><item><title><![CDATA[网络技术----wireshark抓包出现1500以上的大包原因分析]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/143507692</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/143507692</guid><author>zhangxiaio1</author><pubDate>Tue, 05 Nov 2024 14:35:58 +0800</pubDate><description><![CDATA[简单来说就是，原本由内核处理的拆包，交给了网卡来处理，而我们通过 tcpdump 抓包工具抓取的是从内核到网卡路径上的数据包，所以会存在上述问题，如果在交换机处抓包，那么对应的大小为MSS值或小于 MSS 值。具体取决于操作系统的网络堆栈和驱动程序的工作原理。接收过程：Wireshark通常捕获的是网卡传给操作系统的数据包，因此如果硬件支持并启用了LRO（Large Receive Offload）等技术，Wireshark可能捕获到的是网卡已经重组好的较大数据包，而非网络上实际传输的小分片。]]></description><category></category></item><item><title><![CDATA[网络技术---MTU]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/143504654</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/143504654</guid><author>zhangxiaio1</author><pubDate>Tue, 05 Nov 2024 14:10:19 +0800</pubDate><description><![CDATA[MTU（Maximum Transmission Unit，最大传输单元）是网络中能够传输的单个数据包的最大字节数。如果MTU超过了发送/接收端所能接受的最大值，就会造成报文分片甚至丢弃，加重网络传输的负担。如果太小，那实际传送的数据量就会过小，影响传输效率。MTU的大小取决于物理网络的类型和配置，通常在以太网中默认的MTU值为1500字节，这意味着一个数据包的最大传输大小为1500字节，超出这个限制的数据需要分片传输。在以太网中，1500字节的MTU被广泛应用，是以太网的标准传输单元大小。]]></description><category></category></item><item><title><![CDATA[Autosar学习----AUTOSAR_SWS_BSWGeneral（七）]]></title><link>https://blog.csdn.net/zhangxiaio1/article/details/142521898</link><guid>https://blog.csdn.net/zhangxiaio1/article/details/142521898</guid><author>zhangxiaio1</author><pubDate>Wed, 25 Sep 2024 16:19:12 +0800</pubDate><description><![CDATA[命名约定，其中是模块缩写，是类型名称，采用驼峰命名法。示例示例类型包括和。基本AUTOSAR类型基本AUTOSAR类型不需要遵循上述命名约定。类型定义模板类型定义应包括以下信息：名称：类型的名称。类型：允许的条目，包括枚举、结构、指向类型的引用和AUTOSAR整数数据类型。范围：合法值的范围。描述：对该类型用途的非正式描述。常量：该类型的预定义名称（可选）。避免重复定义为避免在BSW模块和软件组件中重复和不一致的类型定义，公共数据类型应在RTE类型头文件中定义。]]></description><category></category></item></channel></rss>