# CANBootloader-STM32F7 **Repository Path**: Yellow-Yb/canbootloader-stm32f7 ## Basic Information - **Project Name**: CANBootloader-STM32F7 - **Description**: CANBootloader下位机程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-04 - **Last Updated**: 2025-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1 CAN-Bootloader下位机程序 该程序使用**创芯科技CANalyst-II分析仪**(下称**”CAN盒“**)实现了CAN Bootloader功能,实现对CAN节点固件应用编程(In-Application Programming) # 2 功能简介 - 利用CAN总线实现对有CAN总线接口的设备进行固件升级; - 此项目基于STM32F767IGT6芯片,实现Bootloader程序与APP程序初始开发共用一套源码,对特有的部分使用预编译指令分割 - 上位机界面程序使用QT(C++)编程实现,源码可参见查看链接:https://gitee.com/Yellow-Yb/canbootloader-pc.git # 3 使用步骤 1. 将CAN盒的总线通道AB与将要实现升级功能的板子连接至同一总线上。 2. **烧录Bootloader程序** 1. 修改文件`boot.h`中的`FW_TYPE`宏定义为`CAN_BL_BOOT` ```C #define BOOT_NEED_UPDATE 0xFFFFFFFF #define BOOT_UNNEED_UPDATE 0xAABBCCDD // FW Macro #define CAN_BL_BOOT 0x55555555 #define CAN_BL_APP 0xAAAAAAAA #define FW_TYPE CAN_BL_BOOT #define FW_MASTER_VERSION 1 #define FW_SLAVE_VERSION 0 ``` 2. 对FLASH空间进行配置 ![image-20250304201653289](.\images\image-20250304201653289.png) 3. 编译并烧录程序,烧录时,可采用ST-LINK等调试器进行烧录,也可通过ISP进行烧录,此处不做细节描述。 3. **编译APP程序** 1. 修改文件`boot.h`中的`FW_TYPE`宏定义为`CAN_BL_APP` ```C #define BOOT_NEED_UPDATE 0xFFFFFFFF #define BOOT_UNNEED_UPDATE 0xAABBCCDD // FW Macro #define CAN_BL_BOOT 0x55555555 #define CAN_BL_APP 0xAAAAAAAA #define FW_TYPE CAN_BL_APP #define FW_MASTER_VERSION 1 #define FW_SLAVE_VERSION 0 ``` 2. 对FLASH空间进行配置(**此步骤仅针对使用调试器进行下载程序**) ![image-20250304202317848](.\images\image-20250304202317848.png) 3. 编译程序,此处需要配置MDK编译选项,使其可编译出`.bin`文件,图中代码为`fromelf --bin -o "$L@L.bin" "#L` ![image-20250304210022035](.\images\image-20250304210022035.png) 4. 烧录程序,若使用调试器下载,可参照Bootloader程序烧录方式,此处仅针对利用Bootloader上位机进行烧录实现IAP功能。打开Bootloader上位机软件,参考如图中步骤 ![image-20250304203046960](.\images\image-20250304203046960.png) **注意1:**扫描节点后,观察节点固件类型是否为Bootloader,若不是,则不可进行固件烧录,可点击“执行固件”按键,进行切换固件类型。 **注意2:**若扫描无节点,请检查是否已烧录Bootloader程序或CAN总线是否插接良好。 **提示1:**左下角取消勾选实时显示,可显著提高烧录效率,勾选时速率约为1.8KB/s,未勾选时速率约为10KB/s。 # 4 未来展望 - 考虑将CAN总线通信转为无线通信,如4G等方式,实现无线烧录程序功能。 - 考虑升级CAN总线为CAN_FD总线,即全速CAN,其可提速约10倍,体现于CAN总线满载情况下(数据发满八个字节)的有效载荷率约为60%,CAN_FD(发满64字节)约为90%,以及CAN FD支持更高传输速率(1Mbps或更高)。 - 考虑移植UDS服务,学习汽车电子相关用法。