# HC32F460FlashLoader **Repository Path**: GKoSon/HC32F460FlashLoader ## Basic Information - **Project Name**: HC32F460FlashLoader - **Description**: 基于MDK模板KEIL工作+HC32官方BSP制作FLM文件 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HC32F460 Flash Loader ## 项目简介 HC32F460 Flash Loader 是一款专为华大半导体(HDSC)HC32F460 系列微控制器设计的 Keil/ARM Flash 编程加载程序。该项目提供完整的 Flash 编程接口,支持通过 Keil MDK、Flash Magic 等编程工具对芯片进行在线编程和调试。 ## 主要功能 - **芯片初始化**:配置 Flash 编程所需时钟和系统参数 - **扇区擦除**:支持单扇区和整片擦除功能 - **页编程**:高效的单页/多页编程支持 - **数据校验**:Flash 数据验证功能 - **空白检查**:检测 Flash 是否为空白状态 ## 文件结构 ``` HC32F460FlashLoader/ ├── AAAA.FLM # 编译后的 Flash Loader 文件 ├── FlashOS.h # Flash 编程接口定义头文件 └── _Template/ # 开发模板目录 ├── FlashPrg.c # Flash 编程实现主文件 ├── FlashDev.c # 设备描述文件 ├── hc32_ll_*.c/h # HC32F460 低层驱动库 ├── system_hc32f460.c # 系统初始化文件 └── Test/ # 测试工程目录 ``` ## 技术规格 ### 支持的芯片 - HC32F460 系列微控制器 ### 编程接口函数 | 函数名 | 功能说明 | |--------|----------| | `Init` | 初始化 Flash 编程环境 | | `UnInit` | 取消初始化 | | `BlankCheck` | 空白区域检查 | | `EraseChip` | 整片擦除 | | `EraseSector` | 扇区擦除 | | `ProgramPage` | 页编程 | | `Verify` | 数据校验 | ### Flash 参数 - 支持的内置 Flash 大小可配置 - 扇区大小:标准 4KB - 页大小:支持标准页编程 ## 使用说明 ### 在 Keil MDK 中使用 1. 将 `AAAA.FLM` 文件复制到 Keil 安装目录的 `Flash` 文件夹中 2. 在工程选项中选择对应的 Flash 编程算法 3. 配置芯片参数(时钟频率等) 4. 下载程序即可自动完成 Flash 编程 ### 作为模板开发自定义 Loader 1. 打开 `_Template/NewDevice.uvprojx` 工程 2. 根据实际需求修改 `FlashPrg.c` 中的实现 3. 重新编译生成新的 `.FLM` 文件 ## 开发环境 - **IDE**:Keil MDK v5.x - **编译器**:ARM Compiler v5 - **芯片支持包**:HC32F460_DDL_Rev3.3.0.zip ## 开发记录 - **20260228**:文章/提交 下载算法 KEIL官方Template工程-填鸭片内flash(1) 测试成功 但笔记本重启一次就不行了 输出的FLM格外大(455K)导致无法使用 记录现场 - **20260303**:文章/提交 HC32F460FlashLoader错误原因分析axf文件 大量移除.C.H仅仅保留核心功能 去操作寄存器 测试全部擦除正常/烧写有弹窗错误 但是MCU复位一次看到正常的