0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LPC5536: 双镜像机制使用指南

恩智浦MCU加油站 来源:未知 2023-07-06 08:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一.背 景嵌入式设备升级过程中会由于断电、强行中断等外部因素,导致新固件写入Flash时不能完整写入,使系统启动时出现问题。或设备运行中,镜像文件被意外损坏,导致系统瘫痪,设备无法运行。面对以上问题,可以使用双镜像机制(dual image),它保证至少有一个镜像文件是可以启动,并且在任何时候都能正常工作。如果发生意外,引导加载程序检测并使用备用的镜像文件。二. 原 理LPC5536 ROM支持内部Flash的双镜像引导(也支持FlexSPI外部Flash,原理相同),即在Flash可以放置两个引导镜像,ROM根据镜像文件版本号决定启动哪个镜像,首先启动最新版本号的镜像,如果失败,则启动旧镜像文件。

通电启动时,ROM首先检测CMPA中关于重定位镜像文件的位置和大小,然后检测两个镜像的版本号,所以在使用双镜像机制时,主要对镜像文件重定位和版本号进行配置。

ROM从内部Flash启动双镜像文件流程图如下:

b99a6eec-1b95-11ee-962d-dac502259ad0.png

2.1 镜像文件重定位

LPC5536内部Flash支持重映射,当设置重映射偏移量后,Flash AHB 总线将访问偏移后的地址。例如,当偏移量设置为128K(0x20000),对0x0的访问将被重新映射到地址0x20000。通过这个特性,ROM可以实现双镜像引导。下面是一个关于内部Flash存放两个镜像文件的简图。

b9dd72b4-1b95-11ee-962d-dac502259ad0.png

第二个镜像的偏移量和重映射大小由用户在CMPA区域设置,让ROM知道第二个镜像的位置。

b9f5eefc-1b95-11ee-962d-dac502259ad0.png

2.2 配置镜像的版本

在头文件偏移量为0x24处设置镜像版本号,如下表格所示,第16位-31位设置镜像文件版本号,第10位表示镜像文件是否存在版本号,使用双镜像机制时,此位设置为1.

ba0ff9e6-1b95-11ee-962d-dac502259ad0.png

三. 应 用3.1 配置CMPA
  • 配置CMPA中数据值

修改cmpa.bin文件,通过blhost把修改后的bin文件写入CMPA,以配置image1偏移量和重映射大小,流程如下:

a. 打开一个全0的cmpa.bin,修改0x3E23C处数据为0x20000,高位在右低位在左,如下:

ba43c4b0-1b95-11ee-962d-dac502259ad0.png

b. 修改重映射大小。地址0x3E238处修改为0x1d800,如下:

ba6f62e6-1b95-11ee-962d-dac502259ad0.png

c. 保存并重命名为cmpa_new.bin,另存为lhost_2.6.7lhost_2.6.7inwin3.2 烧写cmpa_new.bin

借助blhsot 工具烧写,blhost 2.6.7是一个命令行调试工具,界面如下:

ba91c098-1b95-11ee-962d-dac502259ad0.png

测试blhost与开发板通信是否正常:

首先,从设备管理器查看开发板与电脑连接端口

bab78be8-1b95-11ee-962d-dac502259ad0.png

其次,开发板J43上使用跳线帽连接3和4,使能ISP启动;

然后,按下复位键,输入连接测试命令blhost -pcom12 -- get-property 1

判断是否正常通信,如连接成功会提示信息:

bad0856c-1b95-11ee-962d-dac502259ad0.png

写入修改好的bin文件数据到CMPA

通过使用blhost -pcom12 -- write-memory 0x3e200 cmpa_new.bin命令,写入CMPA:

baf34dea-1b95-11ee-962d-dac502259ad0.png

为确保正确写入,查看设置之后CMPA数据

通过命令blhost -pcom12 -- read-memory 0x3e200 512查看设置后的CMPA数据:

bb164214-1b95-11ee-962d-dac502259ad0.png

3.2 双镜像版本设置

根据实验效果,Image0的功能是LPC5536-evk开发板上红灯闪烁,Image1功能是绿灯闪烁。

Image0 设置版本号为1,Image1 设置版本号为2:

打开红灯闪烁的工程,修改头文件偏移量0x24处为0x10400

bb4b38de-1b95-11ee-962d-dac502259ad0.png

打开绿灯闪烁的工程,修改头文件偏移量0x24处为0x20400

bb89e05c-1b95-11ee-962d-dac502259ad0.png

3.3分配Flash

LPC5536JBD100用户可用的内部Flash共246K,所以Image0 分配到0x0-0x1FFFF地址范围内,Image1分配到0x20000-0x3D7FF地址范围内。如果使用MCUXpresso ID,设置如下:

工程->右键属性->MCU settings,设置起始地址和大小,完成后点击应用按钮。

红灯闪烁工程:

bbb5a6f6-1b95-11ee-962d-dac502259ad0.png

绿灯闪烁工程:

bbfdc8e6-1b95-11ee-962d-dac502259ad0.png

重现编译工程。

3.4 功能测试

测试程序为两个点灯程序,分别为红灯闪烁和绿灯闪烁程序,红灯闪烁为image0,版本号1,绿灯闪烁为image0,版本号2,所以测试结果如果绿灯闪烁,则成功。

  • 下载程序

使用IDE中GUI Flash Tool,分别下载两个镜像文件到开发板中:

bc28fba6-1b95-11ee-962d-dac502259ad0.png

在“File to program”中选择烧写的文件,点击run按钮后,程序会下载到Flash:bc3e8a66-1b95-11ee-962d-dac502259ad0.png下载完成后,点击确定:

bc6607b2-1b95-11ee-962d-dac502259ad0.png

同样的方式下载另外一个程序,注意在烧写第二个程序时,不能勾选“masserase”,如果使用其它工具烧写,也应关闭和”masserase”相同功能的选项,避免擦除第一个镜像文件。
  • 测试结果

下载程序后,复位,绿灯闪烁。

升级测试:将红灯闪烁工程版本号修改为3,即修改0x104000x30400,重新烧写镜像文件,应该会看到红灯闪烁。

四. 总结

双镜像机制为嵌入式设备的升级和启动增加保险,应用过程中需要注意在CMPA区域设置镜像偏移量、重映射大小和配置镜像版本的方式,同时也需要注意两个工程中Flash配置。

END

更多恩智浦AI-IoT市场和产品信息,邀您同时关注“NXP客栈”微信公众号

bc84daa2-1b95-11ee-962d-dac502259ad0.jpg      

NXP客栈


恩智浦致力于打造安全的连接和基础设施解决方案,为智慧生活保驾护航。

长按二维码,关注我们

恩智浦MCU加油站


这是由恩智浦官方运营的公众号,着重为您推荐恩智浦MCU的产品信息、开发技巧、教程文档、培训课程等内容。

bc9b35e0-1b95-11ee-962d-dac502259ad0.jpg  

长按二维码,关注我们


原文标题:LPC5536: 双镜像机制使用指南

文章出处:【微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19128

    浏览量

    403985
  • 恩智浦
    +关注

    关注

    14

    文章

    6122

    浏览量

    154278

原文标题:LPC5536: 双镜像机制使用指南

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TPS624xxEVM - 167 评估模块使用指南

    TPS624xxEVM - 167 评估模块使用指南 一、引言 TPS624xxEVM - 167 评估模块(EVM)用于展示德州仪器(Texas Instruments)的 TPS624xx 系列
    的头像 发表于 04-25 14:15 527次阅读

    LTC5536:高性能600MHz - 7GHz RF功率检测器

    LTC5536:高性能600MHz - 7GHz RF功率检测器 在当今的无线通信和射频技术领域,对高性能射频功率检测器的需求日益增长。LTC5536作为一款出色的RF功率检测器,为工程师们提供了
    的头像 发表于 04-24 15:50 91次阅读

    如何在 i.MX RT1050 上实现两个镜像(引导加载程序应用程序)的 HAB 身份验证?

    我正在为i.MX RT1050MCU 和我想实现镜像认证— 一个用于第二阶段引导加载程序另一个用于应用图片,均位于外部闪存中。 我目前的设置思路如下: 我计划使用MCU 安全配置工具生成SRK
    发表于 04-07 06:14

    ADP2311评估板使用指南路1A同步降压调节器的评估利器

    ADP2311评估板使用指南路1A同步降压调节器的评估利器 在电子设计领域,对于电源管理芯片的评估和测试是至关重要的环节。今天,我们就来详细探讨一下ADI公司的ADP2311评估板,它为工程师们
    的头像 发表于 03-31 10:15 350次阅读

    探索ADL5536:20 MHz至1.0 GHz IF增益模块的卓越性能

    探索ADL5536:20 MHz至1.0 GHz IF增益模块的卓越性能 在当今的电子设备中,放大器是不可或缺的关键组件。特别是在通信、测试测量等领域,对放大器的性能要求越来越高。今天,我们就来深入
    的头像 发表于 01-05 15:40 424次阅读

    TDK SmartSound One评估模块使用指南

    TDK SmartSound One评估模块使用指南 一、引言 在音频设备的研发与测试过程中,一款便捷且功能强大的评估模块能够为工程师们节省大量时间和精力。TDK SmartSound One评估
    的头像 发表于 12-26 11:20 721次阅读

    探索NXP LPC5536-EVK评估板:快速上手指南

    探索NXP LPC5536-EVK评估板:快速上手指南 作为电子工程师,在日常的设计和开发工作中,我们经常需要借助各种评估板来验证和实现新的想法。今天就来和大家分享一下NXP的LPC5536
    的头像 发表于 12-24 15:55 627次阅读

    双向保护开关评估套件使用指南

    双向保护开关评估套件使用指南 在锂离子电池的应用中,电池管理系统(BMS)起着至关重要的作用,它能监测电池状态并确保电池安全运行。其中,电子开关是BMS的重要组成部分,在关键条件下能将电池与充电器或
    的头像 发表于 12-20 20:35 1226次阅读

    双向保护开关评估套件使用指南

    双向保护开关评估套件使用指南 在锂电池应用中,电池管理系统(BMS)至关重要,它能监测电池状态并确保安全运行。BMS通常配备电子开关,在关键条件下将电池与充电器或负载断开。今天要介绍的双向开关评估
    的头像 发表于 12-20 11:10 1157次阅读

    Docker镜像构建与管理指南

    凌晨2点,生产环境突然告警,新部署的容器启动失败。排查后发现:开发环境用的镜像800MB,生产环境的却有3.2GB,里面塞满了编译工具、测试数据,甚至还有开发同学的 SSH 私钥...
    的头像 发表于 09-02 16:37 1435次阅读

    大彩讲堂:VisualHMI-LUA教程-on_screen_change回调函数使用指南

    on_screen_change回调函数使用指南
    的头像 发表于 08-31 16:32 1160次阅读
    大彩讲堂:VisualHMI-LUA教程-on_screen_change回调函数<b class='flag-5'>使用指南</b>

    大彩讲堂:VisualHMI-LUA教程-on_update回调函数使用指南

    回调函数使用指南
    的头像 发表于 08-31 16:25 1085次阅读
    大彩讲堂:VisualHMI-LUA教程-on_update回调函数<b class='flag-5'>使用指南</b>

    求 CS32G020移动电源EVB用户使用指南 中的清晰原理图

    求 CS32G020移动电源EVB用户使用指南 中的清晰原理图,里边的原理图是打印后再扫描的各种网络标注完全糊掉看不清,
    发表于 08-16 11:28

    Quartus工具使用指南

    电子发烧友网站提供《Quartus工具使用指南.pdf》资料免费下载
    发表于 07-15 16:34 1次下载

    瑞萨电子RA系列微控制器的可扩展性强的配置软件包 (FSP)安装下载与使用指南

    瑞萨电子RA系列微控制器的可扩展性强的配置软件包 (FSP)安装下载与使用指南
    的头像 发表于 06-11 17:21 2243次阅读