NXP MCU 技术论坛
直播中

硕达科讯

9年用户 966经验值
私信 关注
[问答]

在ISP模式下无法在LPC55S69 EVK上升级应用程序怎么解决?

我在使用 flash magic 工具升级 LPC55s69 evk 上的固件时看到问题。
在验证过程中,我看到失败。
请找到随附的快照作为参考,
有人可以告诉我,这是怎么回事吗?
一些其他信息,
我什至尝试使用 blhost 工具进行刷新,我将固件写入闪存,我从闪存中读取,效果很好,但重置后我没有看到任何区别。
仅供参考,我尝试将“led_blinky”版本 .hex 固件刷入 LPC55S69 EVK。

回帖(1)

番茄番茄

2025-3-27 18:18:04

针对在LPC55S69 EVK上使用Flash Magic或blhost升级固件失败的问题,以下是分步解决方案:




1. 确认硬件连接和ISP模式



  • 进入ISP模式

    确保在复位前ISP引脚(PIO0_9)拉高(通常通过跳线或按钮),然后复位开发板。  

    • 使用USB串口连接时,确认TX/RX线交叉连接(MCU的TX接PC的RX,反之亦然)。


  • 供电检查

    使用稳定的电源(如USB供电),避免电压波动导致编程失败。




2. 检查Flash Magic配置



  • 芯片型号和接口

    在Flash Magic中选择 LPC55S69,接口选择 UARTISP模式

  • 时钟源设置

    Options > Advanced Options > Clock Options 中,选择 Internal IRC 作为时钟源,频率设置为 12 MHz(默认值)。

  • 编程选项:  

    • 勾选 Erase all Flash + Code Rd Prot.(确保完全擦除)。  

    • 取消勾选 Verify after programming(临时禁用验证,排除验证算法问题)。  

    • 确认 Hex文件起始地址0x00000000(用户闪存起始地址)。





3. 验证Hex文件正确性



  • 检查Hex文件

    使用文本编辑器打开hex文件,确认首行包含正确的起始地址(如 :020000040000FA 表示地址从0x00000000开始)。  

    • 如果使用MCUXpresso或IAR生成hex文件,确保编译时未启用安全启动加密选项


  • 尝试官方示例

    MCUXpresso SDK 下载 led_blinky 示例,重新编译生成hex文件再尝试烧录。




4. 使用blhost排查问题



  • 写入后执行复位命令

    写入完成后,发送复位指令并检查响应:  
    blhost -p COMx -- reset

  • 跳转到应用程序

    如果应用程序未自动启动,手动跳转到用户闪存地址:  
    blhost -p COMx -- execute 0x00000000

  • 读取内存验证

    读取写入的地址数据,确认与hex文件一致:  
    blhost -p COMx -- read-memory 0x00000000 1024 output.bin




5. 解除芯片保护机制



  • 全擦除闪存

    使用Flash Magic或blhost执行全擦除:  
    blhost -p COMx -- flash-erase-all

  • 解除写保护

    检查并禁用扇区保护:  
    blhost -p COMx -- flash-set-property 1 0




6. 检查应用程序代码



  • 确认LED引脚配置

    检查代码中LED对应的GPIO引脚(如PIO1_6),确保与EVK硬件一致。  

  • 时钟初始化

    确保系统时钟初始化正确(如主频设置为100 MHz),避免因时钟未配置导致程序“卡死”。




7. 其他工具尝试



  • 使用MCUXpresso IDE

    通过MCUXpresso的调试器(LinkServer)直接烧录程序,验证是否为工具兼容性问题。  

  • J-Link/OpenOCD

    若使用SWD接口,尝试通过J-Link Commander或OpenOCD烧录,排除UART ISP模式问题。




常见错误解决



  • Flash Magic验证失败:  

    • 降低波特率(如从115200改为57600)。  

    • Erase选项 中选择 Sector by Sector 代替全擦除。  


  • blhost写入后无反应:  

    • 检查应用程序的中断向量表是否正确(起始地址的SP和PC值)。  

    • 使用 -- debug 参数查看blhost详细日志:  
      blhost -p COMx -- debug -- write-memory 0x0 led_blinky.hex





通过以上步骤,应能定位问题并成功烧录固件。如果仍失败,请检查开发板硬件是否有损坏,或联系NXP技术支持提供日志和截图。

举报

更多回帖

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