在线时间4811 小时
UID3441752
注册时间2017-11-21
NXP金币75961
TA的每日心情 | 开心 2025-7-11 08:53 |
---|
签到天数: 301 天 连续签到: 2 天 [LV.8]以坛为家I
管理员
  
- 积分
- 40194
- 最后登录
- 2025-9-5
|
LPC5528无线游戏手柄OTA升级 1引言
本文档介绍了无线游戏手柄的OTA升级过程基于LPC5528和NxH3670的解决方案。 OTA升级过程总结PC会通过USB将新固件发送到加密狗,加密狗通过蓝牙LE将新固件转发到游戏手柄。
图1显示了OTA升级的系统框图。
步骤如下:
1. PC发送OTA升级命令到加密狗。
2. Dongle将此命令转发到游戏手柄并建立BLE连接。
3.启用OTA应用程序之前,游戏板上的主机控制器会检查分区表。
4.游戏手柄启用OTA应用程序。
5.如果成功启用了OTA应用程序,请重新启动游戏板并运行OTA应用程序。
6.游戏手柄与加密狗重新建立BLE连接。
7.建立连接后,加密狗会通知PC。
8. PC请求游戏手柄的分区表版本,并验证其是否兼容。
9. PC开始将固件发送到加密狗。
10. Dongle将每个数据包转发到游戏手柄。
11.游戏手柄在启用新固件之前检查更新的分区表。
12.游戏手柄启用新固件。
13.如果在启用新固件之前发生错误,请继续运行OTA应用程序并再次升级。
14.如果成功启用了新固件,则主机控制器将重新启动并运行新固件,OTA升级为完成。
2分区表
在OTA升级期间,加密狗和游戏手柄都需要在OTA模式下工作。因此,LPC5528会存储用户的应用程序(app)和实现OTA功能的OTA应用程序(ota_app)。 App和ota_app存储在不同的位置闪光灯中的位置。存储位置由闪存分区表确定。另外,LPC5528存储第二阶段引导程序(SSB),分区表(PT)和一些用户数据。在此解决方案中,加密狗和游戏手柄使用的闪存分区相同,如图2所示。
在OTA升级过程中,无法更新SSB,分区表和ota_app部分。具体内容分区表由项目中提供的layout_debug_sdk.yml文件确定。图3显示了在这个解决方案。
还需要使用LPC5528_NxH3670 Flash Tool解析此文件并将解析的内容写入二进制文件,然后将其下载到Flash中的固定位置。在此解决方案中,分区表存储在0x7000。
如图3所示,分区表包含六个分区,其中分区0存储应用程序的固件,分区1存储ota_app的固件。上电后,LPC5528执行第二阶段的引导加载程序,读取分区表位于0x7000,并根据分区表中的active_partition标志确定下一个要引导的分区。如果active_partition为0,SSB引导游戏应用程序。如果active_partition为1,则SSB引导OTA应用程序以启用OTA功能。默认情况下,active_partition为0。
3图像
在OTA升级之前,这是映像头的另一个概念,它是在映像之前添加的头。内容如图4所示。
图像标题总共为16个字节,包括图像长度,图像类型,起始地址和校验和。在执行OTA之前
升级后,加密狗将读取远程(Gamepad)闪存中的图像标题并将其与新的图像传感器标题进行比较。
•如果两个图像的标题相同,则将它们视为同一图像。加密狗将跳过此部分
图像将不会发送到游戏手柄。
•如果它们不同,则新图像将被发送到遥控器以替换旧图像。
开发人员可以使用Keil的after-build命令或LPC5528_NxH3670 Flash Tool生成带有图像标题的EPP文件。对于
有关详细信息,请参阅《 LPC5528无线游戏手柄解决方案入门》(文档AN13082)。
4 OTA升级流程
本节介绍了无线游戏手柄解决方案的OTA升级的具体步骤。
4.1准备
4.1.1硬件
图5显示了游戏板和加密板。
4.1.2软件
•游戏手柄应用
•OTA申请
•layout_debug_sdk.yml和flashlist_debug_sdk.yml
•NxH3670相关固件
•GUI工具:LPC5528_NxH3670 Flash工具和NxH3670 Flash工具
4.2 GUI工具
为了方便用户下载程序并进行OTA升级,恩智浦在NxH3670中提供了NxH3670 Flash工具。
SDK Rev5.2包,如图6所示。
NxH3670 Flash工具支持两个主要功能:
•主机控制器程序下载
当前,此工具不支持LPC5528程序下载,因此我们在此重新开发了LPC5528 NxH3670 Flash工具。解决方案,如图7所示。
•OTA升级
有关LPC5528_NxH3670 Flash工具的详细用法,请参阅LPC5528无线游戏手柄解决方案入门。(文件AN13082)。
注意 使用此工具下载LPC5528程序之前,请确保MCU进入ISP模式,并且使用HS USB接口。
4.3 OTA升级
用户可以使用GUI工具中提到的两个Flash工具来实现OTA升级。
OTA升级的具体步骤如下:
1.短路游戏手柄板上的J2并复位LPC5528,以使MCU进入ISP模式。
a。打开LPC5528_NxH3670 Flash工具,然后选择与游戏手柄对应的layout_debug_sdk.yml文件应用。
b。单击Generate packaged.bin按钮以生成packaged.bin。
C。单击“一步下载”按钮,将完整的游戏手柄固件下载到Flash。
如果您已经生成了packaged.bin并且不需要更新,则无需生成再次打包。
2.按下加密狗板上的ISP按钮U1并重置加密狗板,以使加密狗板进入ISP模式。然后使用与步骤1相同的方法下载完整的加密狗固件。
3.重置加密狗板和游戏板,使其运行各自的应用程序,然后等待Bluetooth LE建立连接。配对成功后,两块板上的红色LED D2将熄灭,并且PC识别两个Xbox 360外围设备,如图9所示。
4.使加密狗重新进入ISP模式,在“活动分区”窗口中输入1,单击“设置活动分区”按钮,设置“活动”将加密狗的分区划分为分区1(ota_app),然后重置加密狗以使其在OTA模式下工作。
5.使用NxH3670 Flash工具执行OTA升级。打开NxH3670 Flash工具,然后执行以下步骤:
a。选择连接模式为ota,然后在“端口”列中选择加密狗板的VCOM端口。
b。选择与新固件相对应的layout_debug_sdk.yml文件。
c。单击开始闪烁按钮以启动OTA升级。
在OTA升级期间,日志信息会打印在NxH3670 Flash Tool Logger窗口中,如图12所示。
如图12所示,加密狗从PC收到OTA升级命令后,首先将命令发送到远程(游戏手柄),使游戏手柄进入OTA模式,重新连接游戏手柄,然后发送由将flashlist_debug_sdk.yml文件添加到游戏手柄。发送之前,NxH3670 Flash Tool比较远程映像头,首先是本地(PC)图像头。如果图像标题的内容相同,则当前文件的升级进度为跳过了。如果它们不同,则当前文件将发送到游戏手柄并写入游戏手柄的指定位置。OTA过程完成后,加密狗发送重新启动命令以重新启动游戏板并运行新固件。
注意
如果加密狗和游戏手柄已配对,并且加密狗已经在OTA模式下运行,则无需执行步骤1至步骤4,并可以直接使用步骤5更新新固件。
5参考
•无线固件更新(文档
AN12361.pdf
(233.87 KB, 下载次数: 4677)
|
|