查看: 595|回复: 1

[分享] USB/UART/SPI/I2C-ISP模式更新镜像文件

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32034
    最后登录
    2024-4-26
    发表于 2023-8-1 10:11:34 | 显示全部楼层 |阅读模式
    USB/UART/SPI/I2C-ISP模式更新镜像文件
    应用背景
    LPC55(S)XX和即将发布的MCX系列产品支持在ISP模式下载更新镜像文件(ELF, HEX, BIN or SREC/S19),包括USB,UART,SPI,I2C四种连接方式。之前官方没有支持SPI-ISP、I2C-ISP的上位机软件,所以如果客户想在ISP模式下通过I2C,SPI下载镜像是比较困难的。现在恩智浦推出的MCUXpresso Secure Provisioning Tool(简称SEC或SPT)这款图像化界面工具,可以轻松实现这四种ISP方式的连接和下载。本文基于SEC,以LPCXpresso55S69为例,介绍USB-ISP, UART-ISP, SPI-ISP 以及I2C-ISP四种模式下载镜像的方法。


    准备条件
    软件:
    MCUXpresso Secure Provisioning Tool -MCUXpresso Secure Provisioning Tool是一款图像化用户界面工具,主要用于安全配置。
    当MCU处于ISP模式时,可以借用此工具连接通信,支持ISP的所有模式接口,LPC55(s)xx系列包含USB, UART,SPI,I2C四种ISP下载模式,本文基于此功能介绍。
    硬件:


    LPCXpresso55S69-evk开发板(芯片是1B版本)


    操作步骤
    使用SEC 工具连接前,需要将MCU先进入ISP 模式,上电时,ROM根据CMPA位(DEFAULT_ISP_MODE)、ISP引脚状态确定是否进入ISP,以及何种ISP模式。如下图所示:
    11.png
    此处,保留EFAULT_ISP_MODE 初始值000,通过拉低ISP pin PIO0_5进入ISP模式,四种接口模式中,首先被接入识别的接口会作为ISP连接模式。
    在LPCXpresso55S69开发板上,连接ISP接口线(USB\UART\SPI\I2C),一直按住ISP键,上电或按复位后,进入ISP模式。
    一. USB HID ISP模式


    1. LPC55(s)xx 系列默认USB-ISP端口是HS-USB, LPCxpresso55s69-evk的P9端口,使用USB线连接开发板P9和PC。


    2.按住ISP键,复位开发板,进入ISP-USB模式。


    3.配置MCUXpresso Secure Provisioning Tool,选择USB连接方式,进行连接测试。


    3.1 单击“File->New Workspace”,打开创建新工作空间选项,选择自己所使用的处理器型号。
    12.png
    13.png
    3.2 在连接选项中,选择USB连接方式,单击测试连接按钮,若结果显示 “绿色ok”,则连接成功。
    14.png
    4. 在”Source executable image”中选择源文件,此工具可以构建明文镜像、签名镜像、加密镜像文件,可以根据自己需求配置,此处便于讲解,使用单纯的镜像文件,例如:“lpcxpresso55s69_gpio_led_output.hex”,此文件是SDK下例程,在MCUXpresso IDE中编译生成的二进制文件。


    点击“Build image”按钮,确保编译成功。
    15.png
    5.下载更新镜像文件。
    选择“写入图片”,在“Image path”中选择上一步骤生成的镜像文件,点击“写入图像”按钮。
    16.png
    下载成功后,显示如下图:
    17.png
    二. UART ISP模式


    1. LPC55(s)xx 系列使用UART0 作为UART-ISP接口, 可以使用USB线连接LPCxpresso55s69-evk的P6和PC机,也可以使用USB转串口连接UART0的TX/RX和PC机。
    2.进入ISP模式,参考第一部分。
    3.配置MCUXpresso Secure Provisioning Tool,参考3.1,选择UART连接方式,进行连接测试。
    18.png
    步骤4和步骤5同USB HID ISP模式.
    三. SPI ISP模式
    1.LPC55(s)2x/6x目前包括0A和1B两个版本,可以从芯片mask中查看。0A版本支持SPI3和HS_SPI,1B版本只支持HS_SPI,本文使用1B版本。


    SPI、I2C都使用的是LIBUSB接口,LPC-LINK2和MCU-LINK pro支持此功能接口,所以只要有LPC-LINK2或者MCU-LINK pro,就可以实现SPI-ISP和SEC工具连接。特别提示:LPC-link2和MCU-LINK pro必须更新为CMSIS-DAP调试接口,J-link不支持此功能。


    在LPCxpresso55s69-evk开发板中,默认将SPI3连接到了LPC-LINK2,并没有连接HS_SPI,所以此处,需要外部接线连接,将HS_SPI的SCK, MOSI,MISO,SSEL1分别接到LPC-link2对应的位置,具体可以参考lpc55xx手册和开发板原理图。也可以根据下图连接。


    开发板接线如下图所示:
    19.png
    2. USB数据线连接P6端口。


    3. 进入ISP模式,参考第一部分。


    4. 配置MCUXpresso Secure Provisioning Tool,参考USB HID ISP模式,选择SPI连接方式,进行连接测试。
    20.png
    步骤5和步骤6同USB HID ISP模式.


    四. I2C ISP模式


    I2C-ISP 模式同SPI一样,借助LIBUSB接口,即开发板上的LPC-link2.


    特别提示:LPC-link2和MCU-LINK pro必须更新为CMSIS-DAP调试接口,J-link不支持此功能。


    1. USB数据线连接P6端口。


    2.LPC55(s)6x/2x使用的是I2C1,LPCxpresso55s69-evk开发板已经将I2C1和LPC-LINK2接好,无需另外接线。


    3. 进入ISP模式,参考第一部分。


    4. 配置MCUXpresso Secure Provisioning Tool,参考USB HID ISP模式,选择I2C连接方式,进行连接测试。
    21.png
    步骤5和步骤6同第一部分。
    归纳总结
    1.ISP所有的模式接口(USB/UART/SPI/I2C)都可以借助MCUXpresso Secure Provisioning Tool工作。
    2.LPC-link2/MCU-LINK pro必须配置成CMSIS-DAP。
    3.检查芯片版本,确保连接是正确的SPI端口号。
    4.确保USB数据线接口连接正确和测试连接前必须进入ISP模式
    本文作者:杨聪哲

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 10:32
  • 签到天数: 1279 天

    [LV.10]以坛为家III

    21

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    13245
    最后登录
    2024-4-26
    发表于 2023-8-1 13:44:49 | 显示全部楼层
    这么多镜像下载方式,可以可以,NXP越来越牛!
    跟着日天混 ,三天饱九顿!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 16:26 , Processed in 0.135238 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表