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
    +关注

    关注

    147

    文章

    19121

    浏览量

    403551
  • HID
    HID
    +关注

    关注

    2

    文章

    141

    浏览量

    49024
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74369

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析MC68HC705JJ7/MC68HC705JP7微控制器:特性、功能与应用指南

    深入解析MC68HC705JJ7/MC68HC705JP7微控制器:特性、功能与应用指南 在电子工程领域,微控制器是众多电子设备的核心大脑,它们的性能和功能直接影响着设备的运行效率和稳定性。今天
    的头像 发表于 04-09 11:05 182次阅读

    探索LPC11E6x 32位ARM Cortex - M0+微控制器:特性、应用与设计要点

    - M0+微控制器凭借其丰富的特性和广泛的应用场景,成为了众多工程师的首选。今天,我们就来深入了解一下这款微控制器。 文件下载: LPC11E68JBD48E.pdf 一、概述 LPC
    的头像 发表于 04-09 09:25 451次阅读

    探索NXP LPC111xLV/LPC11xxLVUK 32位ARM Cortex - M0微控制器

    探索NXP LPC111xLV/LPC11xxLVUK 32位ARM Cortex - M0微控制器 在当今的电子设计领域,寻找一款性能卓越、功耗低且功能丰富的微控制器是每个工程师的追求。NXP
    的头像 发表于 04-09 09:15 463次阅读

    极海APM32F427如何实现自定义USB HID设备与PC进行通信

    最近需要使用到 APM32F427 枚举成Custom HID设备进行用户自定义通信,但是官方的例程只有提供的HID枚举为鼠标或者键盘类型的设备。这里记录一下,怎么使用Geehy官方的USB中间件,实现自定义的USB HID设备
    的头像 发表于 03-30 09:30 2760次阅读
    极海APM32F427如何实现自定义USB <b class='flag-5'>HID</b>设备与PC进行通信

    深入剖析NXP LPC1769/68/67/66/65/64/63微控制器

    深入剖析NXP LPC1769/68/67/66/65/64/63微控制器 在嵌入式系统的设计领域,选择一款合适的微控制器至关重要。NXP的LPC1769/68/67/66/65/64
    的头像 发表于 03-26 14:15 221次阅读

    探索LPC11E6x 32位ARM Cortex - M0+微控制器:特性、应用与设计要点

    LPC11E68JBD100E.pdf 一、LPC11E6x概述 LPC11E6x是基于ARM Cortex - M0+内核的低成本32位MCU系列,最高可运行在50MHz的CPU频率下。它支持高
    的头像 发表于 03-02 17:10 775次阅读

    USBISP/USBasp编程器给Atmega32U4下载Arduino bootloader引导程序

    对于新出厂的ATmega32U4芯片内部是没有arduino引导程序的,需要用户预先下载bootloader后才能用串口下载自己的应用程序.在某些罕见情况下旧的bootloader会导致一些bug
    的头像 发表于 01-31 14:38 918次阅读
    USBISP/USBasp编程器给Atmega32<b class='flag-5'>U</b>4下载Arduino <b class='flag-5'>bootloader</b>引导程序

    深入解析rk平台Android Bootloader核心代码:从启动流程到AVB验证

    作为Android设备启动的第一道“闸门”,Bootloader(以U-Boot为主)承担着初始化硬件、加载内核、验证镜像完整性的核心职责。今天我们拆解Rockchip平台
    的头像 发表于 01-22 07:06 483次阅读
    深入解析rk平台Android <b class='flag-5'>Bootloader</b>核心代码:从启动流程到AVB验证

    极海APM32F427移植CherryUSB实现自定义USB HID设备

    最近需要使用到APM32F427枚举成Custom HID设备进行用户自定义通信,但我又不想要使用官方的USB中间件去做一个USB Custom HID设备。了解到Cherry USB这个开源
    的头像 发表于 01-20 09:52 4034次阅读
    极海APM32F427移植CherryUSB实现自定义USB <b class='flag-5'>HID</b>设备

    深入解析RK平台Android/Linux Bootloader核心文件:android_bootloader.c

    Bootloader是Android设备启动的第一道“关卡”,负责初始化硬件、加载系统镜像并完成内核启动的前置准备。在基于U-Boot的Android设备中,android_bootloader
    的头像 发表于 01-09 10:58 1412次阅读
    深入解析RK平台Android/Linux <b class='flag-5'>Bootloader</b>核心文件:android_<b class='flag-5'>bootloader</b>.c

    Bootloader固件升级的步骤

    ,并且保证不能相互覆盖,则需要在下载程序时指定地址。 二、Bootloader 升级步骤 ① 基本流程: 1、收到更新 FW 命令 2、进入 Bootloader 模式 3、被告知 FW 大小
    发表于 11-19 07:41

    如何通过 CYW89820 使用 HID 主机角色?

    最近,我们将使用 CYW89820 设计 HID 主机角色。 但是我们找不到示例应用程序,也无法在文档中找到 HID Host API。 请让我知道如何通过 CYW89820 使用 HID 主机角色。
    发表于 07-01 08:30

    飞凌嵌入式ElfBoard ELF 1板卡-Uboot简介之BootLoader

    BootLoader是不同平台或项目的启动加载程序的统称,不单指某一个程序,比如,常见的BootLoader有,Redboot,Armboot,U-Boot等。
    发表于 05-22 10:42

    基于N32G457 USB HID驱动收发数据

    USB 设备中有一大类就是 HID 设备,即 Human Interface Devices,人机接口设备
    发表于 04-28 18:00 0次下载

    HID免驱升级例程,基于nodejs编写

    async function usbhid_main() {   // 打印所有参数   let path = args[0];   console.log('\n欢迎使用USB HID
    发表于 04-28 17:58 0次下载