對恩智浦MCU有一定了解的朋友,一定知道NXP有一套非常完善的MCU boot loader解決方案:MCU BOOT,你也可曾上手體驗過它呢?
這個MCU BOOT的內(nèi)容非常豐富,實現(xiàn)了基于各種接口的boot loader(UART I2C SPI CAN USB…),并且提供了blhost命令行上位機工具及其源碼。當然,boot loader的源碼也是。。。比較復(fù)雜。一些朋友表示移植,看懂有點困難。正好最近支持客戶時,應(yīng)客戶要求,自己實現(xiàn)了一套極簡版的USB HID boot loader。協(xié)議和工具都是兼容恩智浦MCU BOOT的。恩智浦的MCU BOOT有一套完整的自定義協(xié)議。在各個MCU芯片手冊的ROM章節(jié),以及MCU BOOT資料包里的文檔中都有詳細介紹,這里就不贅述了。具體關(guān)于MCU BOOT協(xié)議的介紹和各個接口定義,需要查看MCU BOOT的官方手冊。實際上這套代碼已經(jīng)存在很多年了。以前主要是支持串口,這次把USB接口加上了。
使用HID bootloader的步驟如下:
1,下載源代碼,git 倉庫地址:https://github.com/yandld/nxp_easy_mcuboot.git2,目前HID boot loader功能只支持Keil。HID功能只支持LPC51U68(后面會加入更多的型號和IDE)。
在 xp_easy_mcubootProjectlpcxpresso51u68中,會看到4個文件夾,分別是:

3,打開boot loader Keil工程: xp_easy_mcubootProjectlpcxpresso51u68lpcxpresso51u68_hid_bl,編譯并下載到LPCXpresso51U68板子上。4,連接LPC51U68的USB(J6)到PC, 然后按住WAKE(SW1)按鍵,再按RESET復(fù)位MCU,強制進入boot loader模式:這時候會聽到PC USB識別的聲音,打開 xp_easy_mcubootpc_tool下的KinetisFlashTool.exe
點擊連接,會看到boot loader的連接信息(說明上位機已經(jīng)成功連接boot loader),如下圖:

5,編譯lpcxpresso51u68_app中的用戶示例代碼(小燈閃爍)。并生成.hex文件,在KinetisFlashTool中點Browse選擇編譯生成好的lpcxpresso51u68_app.hex文件,并點擊Update開始升級,如果看到進度條走動并且看到升級成功log 說明升級成功:

打開串口并復(fù)位板子,會看到串口打印log,小燈閃爍,說明boot loader功能實現(xiàn)正常:

在這個代碼倉庫中,除了LPC51U68 HID boot loader外,還包含其他NXP MCU的boot loader代碼,絕大多數(shù)只支持串口。
這套代碼實際是NXP官方MCU BOOT代碼的最小簡化版本,砍掉了絕大多數(shù)的高級功能,只留最核心的幾條常用命令處理,所以代碼比官方的精簡好懂很多。當然它也只能實現(xiàn)最簡單的boot loader,像雙固件冗余升級,安全升級等特性是實現(xiàn)不了的。如果您在使用中有問題,歡迎給我留言哦~
責任編輯:haq
-
mcu
+關(guān)注
關(guān)注
147文章
18618瀏覽量
387330 -
HID
+關(guān)注
關(guān)注
2文章
137瀏覽量
48648 -
代碼
+關(guān)注
關(guān)注
30文章
4941瀏覽量
73153
原文標題:如何使用LPC51U68的HID boot loader源碼
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Bootloader固件升級的步驟
如何通過 CYW89820 使用 HID 主機角色?
飛凌嵌入式ElfBoard ELF 1板卡-Uboot簡介之BootLoader
基于N32G457 USB HID驅(qū)動收發(fā)數(shù)據(jù)
HID免驅(qū)升級例程,基于nodejs編寫
求助,關(guān)于在S32G399ARDB3板上的Multicore Bootloader中啟用HSE功能的問題求解
LPC55S69JBD100通過SPI連接到WM02C時,是否支持通過bootloader進行OTA更新?
U-Boot 和 Bootloader,99% 的工程師都分不清?
用hal庫通過usb做了一個hid復(fù)合設(shè)備,想問問怎么才能通過藍牙來實現(xiàn)hid設(shè)備?
自定義RISC V的bootloader-v3
STM32 HID和CDC組合設(shè)備無法枚舉成功是哪里出了問題?
EE-68: JTAG仿真技術(shù)參考

LPC51U68使用HID bootloader的步驟
評論