新唐MCU技术
直播中

吴湛

11年用户 896经验值
擅长:33391
私信 关注
[问答]

请问使用NuMicro®系列芯片开发产品时如何更新固件?

通过系统内编程 (ISP),与外设接口相对应的 ISP 代码在 LDROM 中进行编程。
此外,芯片中的 APROM、数据闪存和配置可以通过外设接口进行更新,例如 USB、UART、SPI、I²C、RS-485 和 CAN。

回帖(1)

kmno4

2025-8-21 18:26:16

在 NuMicro® 系列芯片中使用 ISP 更新固件是一个高效且常用的方法。以下是详细的步骤和关键点解析:


核心流程




  1. LDROM 存储 ISP 引导代码  



    • 芯片出厂时,LDROM 已预烧录 ISP 固件(需确认具体型号是否默认包含)。

    • 若需自定义 LDROM:通过 ICP(In-Circuit Programming)工具(如 Nu-Link)首次烧录。




  2. 触发 ISP 模式



    • 硬件方式:  

      • 特定引脚(如 ICE_CLK / ICE_DAT)在上电时拉高/拉低(查看芯片手册确认引脚)。

      • 按键触发(需在用户代码中预置检测逻辑)。


    • 软件方式

      在用户代码(APROM)中调用软件复位指令(SYS->IPRST0 = SYS_IPRST0_CHIP_RST_Msk),并配置 ISP 使能标志位。




  3. 通过外设接口传输固件



    • 接口支持:USB / UART / SPI / I²C / RS-485 / CAN

    • 操作步骤

      • 连接目标外设(如 USB 线或 UART 转 USB 工具)。

      • 使用上位机工具(如 NuMicro ISP Programming Tool)或自定义脚本发送固件(.bin/.hex)。

      • 芯片接收数据后自动擦写 APROM / Data Flash。





  4. 配置字更新



    • ISP 过程中可同步修改配置字(如时钟源、看门狗使能),避免单独操作风险。






关键注意事项




  1. Boot 顺序配置  



    • 配置字设置 CBS (Config Boot Select) 选择 LDROM / APROM 启动。  

    • 示例:设 CBS=0b01 表示从 LDROM 启动 ISP 模式。




  2. 空间分配冲突  



    • LDROM 和 APROM 共享 Flash 空间。若 APROM 过大覆盖 LDROM,会导致 ISP 功能失效,需预留足够空间(如 4KB)。




  3. 数据安全  



    • 启用 Flash Protect(配置字)防止固件被非法读取,但 ISP 更新前需临时解除保护




  4. 双映像备份 (Dual Bank)  



    • 部分型号(如 M480)支持 Dual APROM,可在主映像失败时切至备份映像,提升可靠性。






操作示例(以 UART ISP 为例)




  1. 硬件连接  



    • 将芯片 UART0 (TX/RX) 连接至 PC 串口工具(如 FT232)。

    • 上电前将 ISP 触发引脚(如 PB.15)拉低。




  2. 上位机操作  


    # 使用 NuMicro ISP Tool 命令
    isp_tool -port COM3 -bin firmware.bin -aprom -erase -write



  3. 自定义脚本 (Python 简化版)  


    import serial
    ser = serial.Serial("COM3", 115200)
    with open("firmware.bin", "rb") as f:
       data = f.read()
    ser.write(b"x7F")    # 发送 ISP 进入命令
    ser.write(len(data).to_bytes(4, "little"))
    ser.write(data)       # 传输固件





异常处理



  • ISP 失败处理

    若因配置错误导致无法进入 ISP,需通过 ICP(Nu-Link 调试器)强制擦除并恢复 LDROM。

  • 校验和错误

    传输后自动校验,失败时重试或降低波特率(尤其在 RS-485/CAN 长距离传输时)。


进阶建议



  • 远程更新 (OTA)

    结合网络模块(如 WiFi)和用户程序,实现 HTTP/MQTT 远程触发 ISP(需保留 RAM 执行跳转代码)。

  • 加密更新

    在 LDROM 中集成 AES 解密算法,上位机发送加密固件提升安全性。




通过以上流程,可高效利用 NuMicro® 的 ISP 功能完成固件更新,同时确保系统可靠性和灵活性。开发前务必查阅对应型号的技术参考手册(TRM) 以确认细节差异。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分