# hibxcp **Repository Path**: tom-embedded/hibxcp ## Basic Information - **Project Name**: hibxcp - **Description**: hibxcp - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-29 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # S32K312 SDK UDS 项目 ## 项目简介 本项目是基于 NXP S32K312 微控制器的嵌入式软件开发套件,包含了 UDS(统一诊断服务)协议的实现、CAN 通信驱动、Flash 驱动以及 FreeRTOS 实时操作系统集成。该 SDK 可用于汽车电子 ECU(Electronic Control Unit)开发,支持诊断刷写、数据标定、故障码管理等核心功能。 ## 目录结构 ``` S32DS_S32K312_SDK_UDS/ ├── S32K312_DEMO/ # 主应用程序DEMO │ ├── Bsw_Files/ # 底层驱动 (CAN) │ ├── CDD_Files/ # 复杂驱动 (Flash/EEPROM) │ ├── ECU_Files/ # ECU应用层 (CAN配置,系统,PIT定时器) │ ├── OS_Files/ # FreeRTOS操作系统 │ ├── Uds_Files/ # UDS诊断服务实现 │ ├── RTD/ # S32K312 SDK驱动库 │ ├── board/ # 板级配置 │ ├── generate/ # 配置生成文件 │ ├── include/ # 头文件 │ └── src/ # 用户应用任务 ├── OUT_S19/ # 编译输出工具 └── TsMaster_UDS/ # PC端诊断测试工具 ``` ## 主要功能 ### 1. UDS 诊断服务 项目实现了完整的 ISO 14229 UDS 协议,包括: - **SID 0x10**: 诊断会话控制 (Session Control) - **SID 0x11**: ECU 复位 (ECU Reset) - **SID 0x14**: 清除诊断信息 (Clear DTC) - **SID 0x19**: 读取 DTC 信息 (Read DTC Information) - **SID 0x22**: 按标识符读取数据 (Read Data By Identifier) - **SID 0x2E**: 按标识符写入数据 (Write Data By Identifier) - **SID 0x27**: 安全访问 (Security Access) - **SID 0x28**: 通信控制 (Communication Control) - **SID 0x31**: 例程控制 (Routine Control) - **SID 0x34**: 请求下载 (Request Download) - **SID 0x36**: 传输数据 (Transfer Data) - **SID 0x37**: 请求传输退出 (Request Transfer Exit) - **SID 0x3E**: Tester Present - **SID 0x85**: DTC 设置控制 (Control DTC Setting) ### 2. CAN 通信驱动 - FlexCAN 外设驱动支持 - 标准帧和扩展帧 - CAN FD (Flexible Data Rate) 支持 - 多个 CAN 通道配置 (VCAN/PCAN) - 消息缓冲区和 RX FIFO 支持 ### 3. 存储驱动 - Flash 驱动 (Fls.c) - EEPROM 模拟驱动 - 数据保存和擦除功能 ### 4. 操作系统 - FreeRTOS 集成 - 任务调度管理 - 事件组和信号量 ## 硬件要求 - **微控制器**: NXP S32K312 (Cortex-M7 内核) - **开发工具**: S32 Design Studio for S32 Platform - **调试器**: PEmicro 或兼容调试器 ## 快速开始 ### 1. 导入项目 使用 S32 Design Studio 导入 `S32K312_DEMO` 工程目录。 ### 2. 配置 CAN 参数 在 `ECU_Files/ECU_CAN_Cfg.h` 中配置 CAN 通道参数: - 波特率 - 消息 ID - 过滤器设置 ### 3. 编译烧写 ```bash # 使用S32DS编译 # Debug或Release模式 ``` ### 4. 使用 TsMaster 进行诊断测试 `TsMaster_UDS` 是 PC 端诊断测试工具,支持: - CAN 参数配置 - UDS 诊断服务发送 - DTC 读取和清除 - 数据标定 ## 文件说明 | 目录 | 说明 | |------|------| | Bsw_Files/ | 底层驱动,CAN通信 | | ECU_Files/ | ECU应用层代码 | | UDSBase/ | UDS协议核心实现 | | UDSLogic/ | UDS各服务逻辑 | | Biz/ | 业务层 (DID数据管理) | | RTD/ | S32K312 SDK驱动库 | ## 注意事项 - 本项目仅供学习参考 - 使用前请确保了解 UDS 协议规范 - 开发汽车 ECU 需要符合相关安全标准