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

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

3天内不再提示

LPC51U68使用HID bootloader的步骤

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:杨熙 2021-11-18 17:21 次阅读

对恩智浦MCU有一定了解的朋友,一定知道NXP有一套非常完善的MCU boot loader解决方案:MCU BOOT,你也可曾上手体验过它呢?

这个MCU BOOT的内容非常丰富,实现了基于各种接口的boot loader(UART I2C SPI CAN USB…),并且提供了blhost命令行上位机工具及其源码。当然,boot loader的源码也是。。。比较复杂。一些朋友表示移植,看懂有点困难。正好最近支持客户时,应客户要求,自己实现了一套极简版的USB HID boot loader。协议和工具都是兼容恩智浦MCU BOOT的。恩智浦的MCU BOOT有一套完整的自定义协议。在各个MCU芯片手册的ROM章节,以及MCU BOOT资料包里的文档中都有详细介绍,这里就不赘述了。具体关于MCU BOOT协议的介绍和各个接口定义,需要查看MCU BOOT的官方手册。实际上这套代码已经存在很多年了。以前主要是支持串口,这次把USB接口加上了。

使用HID bootloader的步骤如下:

1,下载源代码,git 仓库地址:https://github.com/yandld/nxp_easy_mcuboot.git2,目前HID boot loader功能只支持Keil。HID功能只支持LPC51U68(后面会加入更多的型号和IDE)。

在 xp_easy_mcubootProjectlpcxpresso51u68中,会看到4个文件夹,分别是:

14c0a204-438f-11ec-b939-dac502259ad0.png

3,打开boot loader Keil工程: xp_easy_mcubootProjectlpcxpresso51u68lpcxpresso51u68_hid_bl,编译并下载到LPCXpresso51U68板子上。4,连接LPC51U68的USB(J6)到PC, 然后按住WAKE(SW1)按键,再按RESET复位MCU,强制进入boot loader模式:这时候会听到PC USB识别的声音,打开 xp_easy_mcubootpc_tool下的KinetisFlashTool.exe

点击连接,会看到boot loader的连接信息(说明上位机已经成功连接boot loader),如下图:

14ed05b0-438f-11ec-b939-dac502259ad0.png

5,编译lpcxpresso51u68_app中的用户示例代码(小灯闪烁)。并生成.hex文件,在KinetisFlashTool中点Browse选择编译生成好的lpcxpresso51u68_app.hex文件,并点击Update开始升级,如果看到进度条走动并且看到升级成功log 说明升级成功:

1550dd56-438f-11ec-b939-dac502259ad0.png

打开串口并复位板子,会看到串口打印log,小灯闪烁,说明boot loader功能实现正常:

1588589e-438f-11ec-b939-dac502259ad0.png

在这个代码仓库中,除了LPC51U68 HID boot loader外,还包含其他NXP MCU的boot loader代码,绝大多数只支持串口。

这套代码实际是NXP官方MCU BOOT代码的最小简化版本,砍掉了绝大多数的高级功能,只留最核心的几条常用命令处理,所以代码比官方的精简好懂很多。当然它也只能实现最简单的boot loader,像双固件冗余升级,安全升级等特性是实现不了的。如果您在使用中有问题,欢迎给我留言哦~

责任编辑:haq

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

    关注

    146

    文章

    16210

    浏览量

    345454
  • HID
    HID
    +关注

    关注

    2

    文章

    123

    浏览量

    46339
  • 代码
    +关注

    关注

    30

    文章

    4596

    浏览量

    67328

原文标题:如何使用LPC51U68的HID boot loader源码

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

收藏 人收藏

    评论

    相关推荐

    用ESP-IDF编译bt_hid_mouse_device例程失败报错的原因?

    files have been written to: C:/Users/Administrator/Desktop/esp32c3/bt_hid_mouse_device/build/bootloader
    发表于 06-17 06:53

    如何才能将Bootloader和Application关联起来

    接下来,我们要利用该Bootloader调试目标Application Project,如何才能将Bootloader和Application关联起来呢?就需要借助刚才提到的Bootloader Project Build所生成
    的头像 发表于 06-12 14:32 178次阅读
    如何才能将<b class='flag-5'>Bootloader</b>和Application关联起来

    将STM32L4系列开发板设置为HID设备,为什么不显示HID设备?

    想将STM32L4系列开发板设置为HID设备,使用cubeMX进行设计。按照以下步骤设置好后,烧录程式后,显示“大容量存储设备”,而不显示HID设备。 Cubemx配置步骤: Sys
    发表于 04-09 06:20

    如何解决Fcx3这种高频率发送hid报错问题?

    你好,我用Bus Hound软件(或其他工具测试遇到一样的问题)测试接收cx3 hid数据。当数据量频率不大时(数据包都是一样大小,64个字节),接收数据都正常,可以测试一天一夜。但是当发送的数据
    发表于 02-28 06:06

    什么是通用HID灯镇流器

    荧光灯镇流器中有一种典型的简单高频驱动方法,但是具有高弧光管压力的 HID 灯存在声共振现象(*) 的问题。为了避免这个问题,HID 灯需要以低于 1kHz 的低频或直流驱动。
    发表于 02-02 17:05 269次阅读
    什么是通用<b class='flag-5'>HID</b>灯镇流器

    STM32无法进入片上Bootloader的处理方法

    STM32无法进入片上Bootloader的处理方法  当STM32芯片无法进入片上Bootloader时,我们需要采取一系列的处理方法来解决这个问题。以下将详细介绍一些常见的处理方法。 1.编程器
    的头像 发表于 02-02 14:33 966次阅读

    基于MM32F0140的UDS Bootloader学习笔记

    基于MM32F0140的UDS Bootloader学习笔记
    的头像 发表于 10-30 17:11 416次阅读
    基于MM32F0140的UDS <b class='flag-5'>Bootloader</b>学习笔记

    单片机BootLoader与APP如何合并?

    单片机BootLoader与APP如何合并?
    的头像 发表于 10-25 17:17 742次阅读
    单片机<b class='flag-5'>BootLoader</b>与APP如何合并?

    STM32 Bootloader异常复位案例

    电子发烧友网站提供《STM32 Bootloader异常复位案例.pdf》资料免费下载
    发表于 09-25 09:17 3次下载
    STM32 <b class='flag-5'>Bootloader</b>异常复位案例

    u-boot与bootloader的区别

    Bootloader从字面上来看就是启动加载的意思。用过电脑的都知道,windows开机时会首先加载bios,然后是系统内核,最后启动完毕。那么bootloader就相当于手机的bios,它在手机启动的时候根据基带初始化硬件,然后引导系统内核,直到系统启动。
    发表于 08-29 10:17 465次阅读

    在没有Linux操作系统的单片机中为什么还要用Bootloader

    Bootloader”俗称“引导加载程序”。在我们狭义上说的“Bootloader”是特指嵌入式设备中的引导程序,但是从广义的角度上来说,PC机中也存在“Bootloader”,比如Windows中的引导工具为“NTLOADE
    发表于 08-14 14:53 554次阅读
    在没有Linux操作系统的单片机中为什么还要用<b class='flag-5'>Bootloader</b>?

    图解基于UDS的Flash BootLoader

    这张图和恒润教程中的BootLoader流程大体是一致的。
    的头像 发表于 08-14 10:49 880次阅读
    图解基于UDS的Flash <b class='flag-5'>BootLoader</b>

    ARM处理器如何编写Bootloader

    前面给大家分享过Bootloader从应用角度执行的相关文章,今天从底层原理来给大家描述ARM处理器如何编写Bootloader,以及底层流程。
    的头像 发表于 07-26 09:10 643次阅读
    ARM处理器如何编写<b class='flag-5'>Bootloader</b>

    单片机BootLoader与APP如何合并

    嵌入式固件一般分为BootLoader和App,BootLoader用于启动校验、App升级、App版本回滚等功能,BootLoader在cpu上电第一阶段中运行,之后跳转至App地址执行应用程序。
    的头像 发表于 07-25 11:29 1131次阅读
    单片机<b class='flag-5'>BootLoader</b>与APP如何合并

    HID协议是什么意思

    对于 USB 接口的 HID 设备,有一套协议。 1.1 描述符 HID 设备有如下描述符: HID 设备的"设备描述符"并无实际意义,没有使用"设备描述符"
    的头像 发表于 07-17 17:41 3558次阅读
    <b class='flag-5'>HID</b>协议是什么意思