主题中讨论的其他器件:UNIFLASH、
在 hw_fcfg.h 中、deviceInfo 结构如下:

我有两个问题:
1.作为注释, majorRev 的默认值应该是1 ,但我读出0。
2.这些元素 是只读的,如何更改值。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 David:
我使用了两个板来检查这一点、它们具有相同的结果。
sprintf(firmwareRev, "partIdValid:%d,majorRev:%02d,minorRev:%02d",
fcfg->deviceInfo.partId.partIdValid, fcfg->deviceInfo.partId.majorRev, fcfg->deviceInfo.partId.minorRev);
MenuModule_printf(APP_MENU_PROFILE_STATUS_LINE1, 0, "firmwareRev:%s", firmwareRev);


您能否确认您正在使用的 SDK 版本?
[/报价]我的 SDK 版本是 simplelink_lowpower_f3_sdk_7_20_00_29
[/quote]我想问一下、这是否阻碍了目前的开发工作、用例是什么?
[/报价]我们希望将其用作我们的固件版本标头。 我们可以等待几天、但希望尽快解决此问题。
您好 Xuefeng!
我懂了。 谢谢。
我会尽快更新您的信息。
简单来说一下、您是否希望通过低功耗蓝牙发送此信息? 请参阅 basic_ble 示例( \examples\rtos\LP_EM_CC2340R5\ble5stack) Inside Services -> DEV_INFO_SERVICE.c (hardware_REV_UUID)。 但首先我们需要正确获取信息。
Br、
大卫。
是否要通过低功耗蓝牙发送此信息?
是的、此信息需要与其他设备共享。
我使用 const 值 临时、等待获取正确的信息。
此致。
您好 Xuefeng!
感谢您的耐心等待。
majorRev 和 minorRev 并不用于识别器件版本/ PG。 我仍然需要与团队进一步讨论是否需要在结构中修改此字段以避免混淆。
但是、为了读取修订版本、我会要求您以 UNIFLASH 相同的方式来读取、方法是读取以下寄存器:SYS0:DEVICEID。 存储器地址:0x400043F8。 您可能应该读回0x1BB8402F0 (具体取决于具体器件)、其中版本号在位[31:28]中定义。 PG 2.0由0b0001表示、PG 1.0由0b0000表示。
希望这对您有所帮助。
Br、
大卫。
您好!
由于节假日、该线程中可能会出现意外延迟。 对此可能造成的不便、我深表歉意。 对于寄存器地址、我建议使用基地址定义、而不是使用原始地址。 对于 SYS0、这是 SYS0_BASE、可在 hw_memmap.h 文件中找到。 对于 DeviceID 部分、您应该使用 SYS0_O_DEVICEID (此定义位于 hw_sys0.h 中)。 要写入/读取寄存器、请使用 HWREG、而不是在期间直接处理地址。 此函数在 hw_types.h 中定义。 您应该执行以下操作:
HWREG (SYS0_BASE + SYS0_O_DEVICEID)
此致、
1月
HWREG (SYS0_BASE + SYS0_O_DEVICEID)
[/报价]大家好、Jan、
通过这个、我 在 chipinfo.h 中找到了 ChipInfoGetVersion、而该返回值1。 但我读取的版本是带 Uniflash 的2.0。