• 正文
  • 相关推荐
申请入驻 产业图谱

APM32F402/F403 迁移攻略:从 E103 平滑升级一站式指南

04/23 16:58
259
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

工业控制电机驱动通信接口等项目升级中,从 APM32E103 迁移到 APM32F402/F403 已成主流选择。AN1123 官方迁移指南完整覆盖硬件兼容、外设差异、中断向量、固件库替换、工具链适配全流程,照着操作即可实现代码最小改动、性能大幅提升,轻松完成平台升级。

资料获取:AN1123_APM32F402_403迁移指南应用笔记

1. 迁移核心优势:为什么要升级?

  • 内核升级:Cortex‑M3 → Cortex‑M4F,内置FPU 浮点单元,运算性能显著提升
  • 主频不变:保持120MHz,原有时序逻辑无需大改
  • 启动方式兼容:BOOT [1:0] 配置与 E103 完全一致
  • Bootloader 增强:支持USART/I2C/SPI/CAN/OTG FS五口下载,升级更灵活
  • 新增 FMC 加速器:代码执行速度更快,等待周期更合理
  • USB 升级:从 Device 仅从机 → OTG FS 主从一体,扩展性更强

2. 硬件与资源差异(直接对照)

2.1 核心资源对比

参数 APM32F402/403 APM32E103 影响
内核 Cortex‑M4F+FPU Cortex‑M3 浮点运算加速
Flash 128KB 512KB 代码需精简
SRAM 32KB 128KB 缓存、堆栈调整
GPIO 51 51 完全兼容
ADC 2×16 通道 3×16 通道 通道重分配
DAC 2 路 需改用 PWM 或外置
USB OTG FS(主 + 从) USBD(仅从) 驱动重写
I2C 1 路 2 路 引脚切换
SPI/I2S 2/1 3/2 资源调整
CAN 2 路 2 路 兼容

2.2 关键删减外设(必须处理)

  • DAC 模块移除:原有 DAC 输出代码需移除
  • ADC3 移除:仅保留 ADC1/ADC2
  • SDIO、SPI3、UART5 移除
  • I2C2、I2C3 移除,仅保留 I2C1

2.3 新增增强外设

  • FPU 浮点单元:支持浮点运算加速
  • OTG FS:支持 USB 主机 / 设备模式
  • FMC 指令缓存:提升代码执行效率
  • 定时器增强:新增 32 位通用定时器

3. 中断向量表差异(迁移必改)

F402/403 中断数66 个,E103 为65 个,关键差异:

  • USB 相关中断:OTG_FS_WKUP(42)、OTG_FS(65)
  • 新增FPU 中断 (60)
  • 移除 USBD、ADC3、SDIO、EMMC 等中断
  • CAN2 中断位置不变

⚠️ 务必更换F402/403 专用启动文件,中断函数名称需对应修正。

4. 固件库迁移:函数替换清单

4.1 CAN 模块差异

  • F402/403:CAN_ConfigFilter(filterConfig)
  • E103:CAN_ConfigFilter(can, filterConfig)
  • 新增:CAN_SlaveStartBank(bankNum)

4.2 FMC 闪存模块(新增加速函数)

FMC_EnableInstructionCache();
FMC_EnableDataCache();
FMC_EnablePrefetch();

4.3 定时器参数加宽

  • 计数器、重装载值、比较值:uint16_t → uint32_t
  • 函数:TMR_ConfigCounterTMR_ConfigAutoreload

4.4 USB 驱动完全重构

  • 从 USBD 驱动 → 替换为OTG FS 主机 + 从机驱动
  • 中断向量、初始化流程、端点配置全部重写

5. 5 步快速迁移流程

5.1 工程替换

  • 更换为APM32F402/403 标准库
  • 启动文件替换:startup_apm32f402xx.s
  • 宏定义更换:APM32E103XX → APM32F402XX

5.2 外设裁剪

  • 删除 DAC、ADC3、SDIO、SPI3、UART5、I2C2/I2C3 相关代码
  • USB 代码全部移除,改用 OTG FS 例程重写

5.3 中断与启动文件更新

  • 对照中断表修正中断服务函数名
  • 确保所有中断函数与 F402/403 匹配

5.4 函数与参数修正

  • CAN 滤波器函数参数删减
  • 定时器变量类型改为 uint32_t
  • 使能 FPU 与 FMC 加速,提升性能

5.5 内存与时钟调整

  • 调整堆栈大小,适配 32KB SRAM
  • 时钟树基本兼容,使能 FPUCLK
  • Flash 等待周期按 120MHz 重新配置

6. 最常见问题速解

  1. 程序不运行:启动文件错误或中断向量不匹配
  2. 浮点运算异常:未使能 FPU,或编译器未开启 FPU 选项
  3. CAN 无法通信:滤波器配置函数参数错误
  4. USB 无法枚举:仍使用旧 USBD 驱动,需改用 OTG 驱动
  5. 定时器精度异常:未将 uint16_t 改为 uint32_t
  6. 内存溢出:SRAM 仅 32KB,需优化缓存与堆栈

AN1123 是APM32E103 迁移 F402/F403 的官方标准手册,迁移核心在于:外设裁剪 + 中断修正 + 库函数替换 + USB 重构。虽然 Flash 与 SRAM 缩小,但M4F+FPU+OTG + 加速器带来的性能与功能提升,完全满足高端项目需求。按本文步骤操作,普通项目1‑2 天即可完成迁移,稳定可靠、性价比极高。

相关推荐