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.

[参考译文] CC2642R:使用 BTool 加载失败

Guru**** 2549210 points
Other Parts Discussed in Thread: UNIFLASH, CC2642R, CC1352R

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1177365/cc2642r-oad-not-successful-using-btool

器件型号:CC2642R
主题中讨论的其他部件:UNIFLASHCC1352R

您好!  

我正在尝试在 CC2642 Launchpad 上实现 simple_peripheral_oad_onchip 示例。 作为参考、我的 SDK 为 :simplelink_cc13x2_26x2_SDK_3_40_00_02、我使用的是 CCS 10.1.00004  

以下是我已执行的步骤:

首先将 BIM 导入到我的工作区中、方法是将其从 C:\ti\simplelink_cc13x2_26x2_SDK_3_40_00_02\examples\nortos\CC26X2R1_LAUNCHXL_bim\bim_onchip\ccs
2.通过在 CCS 中点击"Flash"按钮将 BIM 刷写到 Launchpad 上
3.从 以下位置导入了 simple_peripheral_oad_onchip 示例:C:\ti\simplelink_cc13x2_26x2_sdk_3_40_00_02\examples\rtos\CC26X2R1_LAUNCHXL_ble5stack\simple_peripheral_oad_onchip
4.通过在 CCS 中点击"Debug"按钮、在 Launchpad 上构建并刷写了示例代码
5.此时,我可以验证我看到它使用移动应用程序通过蓝牙进行广播
然后、我使用另一台连接到运行"host_test"的单独 Launchpad 的计算机、该 launchpad 使用 Uniflash 并通过位于 C:\ti\simplelink_cc13x2_26x2_sdk_3_40_00_02\examples\rtos\CC26X2R1_LAUNCHXL_\chex5x2_stack_hex_hextest_app_hexfiles.
7.在 BTool 中、我执行扫描、然后与正确的设备建立连接(我使用移动应用观察 BLE 地址)(我还等待出现连接更新请求)
8.我转到 OAD 选项卡、单击"Read Image File"并浏览到以下 bin 文件: workspace_v10\simple_peripheral_oad_onchip_app_CC26X2R1_LAUNCHXL_tirtos_ccs\Debug\simple_peripheral_oad_onchip_app_CC26X2R1_LAUNCHXL_tirtos_ccs_Debug_oad.bin
9.然后单击"发送"

在启动过程中、它会断开连接、重新连接、然后告诉我"OAD Download not successful"。 以下是在我单击"发送"按钮后在 BTool 中出现的消息:

----------------------------------------
[119]: 01:44:29.458
OAD -更新连接设置
----------------------------------------
[120]: 01:44:29.465
启动 OAD 下载
----------------------------------------
[121]: 01:44:29.467
启动重置服务发现
----------------------------------------
[122]: 01:44:29.469
OAD Send UUID Discovery
----------------------------------------
[123]: 01:44:29.462
类型:0x01 (命令)
-OpCode:0x2016 (HCI_LEReadRemoteUsedFeatures)
数据长度:0x02 (2)字节
句柄:0x0000 (0)
转储(Tx):
0000:01 16 20 02 00 (笑声)
----------------------------------------
[124]: 01:44:29.478
类型:0x01 (命令)
-OpCode:0xFD86 (GATT_DiscPrimaryServiceByUUID)
数据长度:0x12 (18)字节
ConnHandle:0x0000 (0)
值:00:00:00:00:00:00:B0:00:40:51:04:D0:FF:00:F0
转储(Tx):
0000:01 86 FD 12 00 00 00 00 00 00 00 00 00 B0 00 40 @μ A
0010:51 04 D0 FF 00 F0问题....
----------------------------------------
[125]: 01:44:29.493
类型:0x04 (事件)
-EventCode:0x003E (HCI_LE_GenericReportEvent)
数据长度:0x0C (12)字节
LE 事件代码:0x04 (4)(HCI_LE_ReadRemoteUsedCompleteFeaturesEvent)
LE 事件代码:0x04 (4)(HCI_LE_ReadRemoteUsedCompleteFeaturesEvent)
状态:0x00 (0)(成功)
连接 ID:0x0000 (0)
功能:0x000000000000000059FF (23039)(.
加密
连接参数请求
reject_Extended_indication
Slave_Features_Exchange
Ping
Data_Packet_Length _Extension
隐私
extended 扫描仪过滤器策略
PHY_2M
编码 PHY
扩展广播
CHANNEL 选择_算法_2)
转储(Rx):
0000:04 3E 0C 04 00 00 00 FF 59 00 00 00 00 00 00 00 00 00 .>... 是的…
----------------------------------------
[126]: 01:44:29.509
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x067F (1663)(GAP_HCI_ExtentionCommandStatus)
状态:0x00 (0)(成功)
操作码:0xFD86 (GATT_DiscPrimaryServiceByUUID)
数据长度:0x00 (0)
转储(Rx):
0000:04 FF 06 7F 06 00 86 FD 00 ........
----------------------------------------
[127]: 01:44:30.967
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x0A (10)字节
事件:0x0507 (1287)(ATT_FindByTypeValueRsp)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
Pdualen:0x04 (4)
手柄:31:00
句柄: FF:FF
转储(Rx):
0000:04 FF 0A 07 05 00 00 04 31 00 FF FF ........ 1...
----------------------------------------
[128]: 01:44:30.972
OAD 发送 UUID 信息发现
----------------------------------------
[129]: 01:44:32.957
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x0507 (1287)(ATT_FindByTypeValueRsp)
状态:0x1A (26)(bleProcedureComplete)
ConnHandle:0x0000 (0)
Pdualen:0x00 (0)
转储(Rx):
0000:04 FF 06 07 05 1A 00 00 00..........
----------------------------------------
[130]: 01:44:32.957
类型:0x01 (命令)
-OpCode:0xFE11 (GAP_UpdateLinkParamReq)
数据长度:0x0A (10)字节
ConnHandle:0x0000 (0)
IntervalMin:0x0006 (6)
IntervalMax:0x0006 (6)
ConnLatency:0x0000 (0)
ConnTimeout:0x0032 (50)
转储(Tx):
0000:01 11 FE 0A 00 06 00 06 00 00 00 32 00 ........ 2.
----------------------------------------
[131]: - 01:44:32.972
类型:0x01 (命令)
-OpCode:0xFD84 (GATT_DiscAllCharDescs)
数据长度:0x06 (6)字节
ConnHandle:0x0000 (0)
StartHandle:0x0031 (49)
EndHandle:0xFFFF (65535)
转储(Tx):
0000:01 84 FD 06 00 31 00 FF F...... 1...
----------------------------------------
[132]: 01:44:33.004
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x067F (1663)(GAP_HCI_ExtentionCommandStatus)
状态:0x00 (0)(成功)
操作码:0xFE11 (GAP_UpdateLinkParamReq)
数据长度:0x00 (0)
转储(Rx):
0000:04 FF 06 7F 06 00 11 FE 00 ........
----------------------------------------
[133]: 01:44:33.036
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x067F (1663)(GAP_HCI_ExtentionCommandStatus)
状态:0x00 (0)(成功)
操作码:0xFD84 (GATT_DiscAllCharDescs)
数据长度:0x00 (0)
转储(Rx):
0000:04 FF 06 7F 06 00 84 FD 00 ........
----------------------------------------
[134]: 01:44:34.973
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x0F (15)字节
事件:0x0505 (1285)(ATT_FindInfoRsp)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
Pdualen:0x09 (9)
格式:0x01 (1)(handle_BT_UUID_type__handles_and_16_bit_Bluetooth_UID)
手柄:0031
UUID : 00:28
手柄:0032
UUID:03:28
转储(Rx):
0000:04 FF 0F 05 00 00 09 01 31 00 28 32 00… (2)
0010:03 28..(
----------------------------------------
[135]: 01:44:36.968
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x19 (25)字节
事件:0x0505 (1285)(ATT_FindInfoRsp)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
Pdualen:0x13 (19)
格式:0x02 (2)(handle_UUUUUUID"类型_handles_and_128_bit_UUID)
手柄:0033
UUID:00:00:00:00:00:00:B0:00:40:51:04:D1:FF:00:F0

转储(Rx):
0000:04 FF 1905 00 00 13 02 33 00 00 00 00 00 00 00 00 00 00 00 00.......... 3…
0010:00 00 B0 00 40 51 04 D1 FF 00 F0… @问....
----------------------------------------
[136]: 01:44:38.971
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x0B (11)字节
事件:0x0505 (1285)(ATT_FindInfoRsp)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
Pdualen:0x05 (5)
格式:0x01 (1)(handle_BT_UUID_type__handles_and_16_bit_Bluetooth_UID)
手柄:0034
UUID:01:29
转储(Rx):
0000:04 FF 0B 05 00 05 00 05 01 34 00 01 29 ...... 4)
----------------------------------------
[137]: 01:44:40.956
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x0505 (1285)(ATT_FindInfoRsp)
状态:0x1A (26)(bleProcedureComplete)
ConnHandle:0x0000 (0)
Pdualen:0x00 (0)
转储(Rx):
0000:04 FF 06 05 05 1A 00 00 00..........
----------------------------------------
[138]: 01:44:40.964
OAD 使 StartReset 上的映像无效
----------------------------------------
[139]: 01:44:40.967
类型:0x01 (命令)
-OpCode:0xFD96 (GATT_WriteLongCharValue)
数据长度:0x07 (7)字节
ConnHandle:0x0000 (0)
句柄:0x0033 (51)
偏移量:0x0000 (0)
值:01
转储(Tx):
0000:01 96 FD 07 00 33 00 00 01 ...... 3…
----------------------------------------
[140]: 01:44:41.003
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x067F (1663)(GAP_HCI_ExtentionCommandStatus)
状态:0x00 (0)(成功)
操作码:0xFD96 (GATT_WriteLongCharValue)
数据长度:0x00 (0)
转储(Rx):
0000:04 FF 06 7F 06 00 96 FD 00 ........
----------------------------------------
[141]: 01:44:44.962
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x0519 (1305)(ATT_ExecuteWriteRsp)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
Pdualen:0x00 (0)
转储(Rx):
0000:04 FF 06 19 05 00 00 00 00..........
----------------------------------------
[142]: 01:44:44.969
正在等待设备复位
----------------------------------------
[143]: 01:44:47.970
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x0B (11)字节
事件:0x0607 (1543)(GAP_LinkParamUpdate)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
ConnInterval:0x0006 (6)
ConnLatency:0x0000 (0)
ConnTimeout:0x0032 (50)
转储(Rx):
0000:04 FF 0B 07 06 00 00 06 00 00 00 00 32 00 ........ 2.
----------------------------------------
[144]: 01:44:49.460
设备已断开连接
句柄= 0x0000
ADDR 类型= 0x01 (ADDRTYPE_Random)
bdaddr = 7D:B7:51:96:F2:4E
----------------------------------------
[145]: 01:44:49.459
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x0606 (1542)(GAP_TerminateLink)
状态:0x00 (0)(成功)
ConnHandle:0x0000 (0)
原因:0x08 (8)(supervision 超时期限)
转储(Rx):
0000:04 FF 06 06 00 00 00 08…
----------------------------------------
[146]: 01:44:59.973
建立连接
----------------------------------------
[147]: 01:44:59.976
类型:0x01 (命令)
-OpCode:0xFE62 (GapInit_connect)
数据长度:0x0A (10)字节
PeerAddrType:0x01 (1)(peer_ADDRTYPE_random_OR_random_ID)
PeerAddr:7D:B7:51:96:F2:4E
初始化 Phy:0x01 (1)(.
INIT_PHY_1M)
超时:0x0000 (0)
转储(Tx):
0000:01 62 FE 0A 01 4E F2 96 51 B7 7D 01 00 .b......N..q.}……
----------------------------------------
[148]: 01:45:00.003
类型:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06 (6)字节
事件:0x067F (1663)(GAP_HCI_ExtentionCommandStatus)
状态:0x00 (0)(成功)
操作码:0xFE62 (GapInit_connect)
数据长度:0x00 (0)
转储(Rx):
0000:04 FF 06 7F 06 00 62 FE 00 ...... B.
----------------------------------------
[149]: 01:45:39.987
OAD 操作超时
操作名称= GAP_EstablishLink_OadReset
----------------------------------------
[150]: 01:45:39.990
OAD -恢复连接设置
----------------------------------------
[151]: 01:45:39.992
OAD 下载失败
----------------------------------------

有人能告诉我我出了什么问题吗?

感谢您的任何帮助、谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的参与。 通常、我们建议您使用较新的 SDK 版本。

    "问题"似乎是由连接终止(由于监控超时)引起的-请参阅数据包145。

    我希望这将有所帮助、

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Clement、

    我已 使用 CCS 编译器将 SDK 更新为最新版本、并获得完全相同的结果。

    您知道什么会导致 OAD 期间的监督超时?

    此外、我是否以正确的方式组合 BIM 和应用程序? 我只刷写 BIM 项目(默认配置)、然后刷写 simpleperipheral_oad 项目? 我不需要指定闪存的位置吗?

    再次感谢您的帮助、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    我尚未使用 CC2642R 完成 BTool OAD。 但是、我已经使用 CC260R2F 完成了 BTool OAD。 您需要在文件夹中选择 Run_Btool、而不是 btool。

    -kel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    @Markel、感谢您的贡献。 但是、请允许我指出、下面的注释对于 CC2642R 器件是不正确的。

    [引用 userid="49872" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1177365/cc2642r-oad-not-successful-using-btool/4434302 #4434302"]您需要选择文件夹中的 Run_Btool 而不是 btool。

    实际上、当器件运行使用 BLE5Stack 编译的 host_test 时、应使用"btool.exe"。 如果器件运行使用 BLEStack 编译的 host_test、则应使用"Run_BTool.bat"。
    对于 CC2642R、只有 BLE5Stack 可用、因此应始终使用"btool.exe"。

    @James、监控超时是由于给定时间内没有接收到有效的连接数据包、那么问题是、是什么原因导致了这种不接收?

    这可能是一些干扰。 在这里、连接超时似乎只有2秒-这很小、但可以在不太繁忙的环境中进行测试。 您可以尝试增加连接超时值、以确保这不是问题。

    这可能是因为一个设备挂起。 要进行检查、我建议在外设侧使用调试模式:https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_6_30_00_84/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index.html

    以下是一些有助于识别问题的测试:

    要完成此操作、问题发生在器件收到更新的映像之前(即、在器件应重新启动之前)。 因此、BIM 目前不应产生任何影响。

    我希望这将有所帮助、

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Clement 和 Markel 的帮助。

    请注意、我尝试使用"Run_Btool.bat"运行、结果相同。

    我还尝试将连接超时时间增加到20秒、但仍然得到相同的结果。

    通过无线方式编程的 launchpad 看起来确实在挂起。 我这样说是因为在看到"监控超时"消息时、正在编程的 launchpad 上的红色 LED 会亮起。 即使在重置此 Launchpad 的电源后、红色 LED (DIO6)仍保持卡在打开状态、并且在我重新刷写 BIM 和应用程序之前、电路板无法再通过 BLE 进行广播。

    我仔细检查了我的配置、BIM 为"Debug_unsecured"、应用程序为"Debug"。 我通过单击项目浏览器中的每个项目来验证了这一点、项目名称末尾有一些文本、内容为"[Active - Debug]"。

    我还注意到 BTool 上的 OAD 面板中有一个"常规"部分、其中有一个"安全"复选框。 它不允许我取消选中此框、这是否表示它需要安全 BIM?

    如果您有任何其他想法、请在 OAD 期间悬挂未经编辑的示例、谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    我刚刚使用 btool 成功完成了 OAD。 但使用2个 CC1352R Launchpad 和 SDKv6.20。

    我没有2个 CC26x2R1 Launchpad 来完全重复您的问题。 SDKv3.40是旧的 SDK 版本。 为什么要使用它? 此外、在 btool 中、如果您选择了错误的从器件 BDA 地址、您可能会得到监控超时错误。

    -kel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答、Markel。

    我忘记了提到我已更新到最新的 SDK (v6.3)、并且仍然看到此问题。

    由于 OAD 过程正在更改目标 Launchpad 上的内容、我非常确定我要连接到正确的从器件地址。 这会导致目标 Launchpad 挂起、并且在我使用编程器重新刷写所有内容之前无法正确启动。

    Markel、在 OAD 选项卡上、当您单击"Read Image File"时、是否选择位于 Release 文件夹中的.bin 文件? 这是 CCS 在构建时生成的.bin 文件、对吧?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="113565" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1177365/cc2642r-oad-not-successful-using-btool/4436024 #4436024"]Markel、在 OAD 选项卡上、当您单击"读取映像文件"时、是否选择了位于"发布"文件夹中的.bin 文件? 这是 CCS 在您构建时生成的.bin 文件、正确?

    是的。

    如果您使用的是 SDKv6.30、则应采用与我相同的过程。 详细信息如下。

    1.使用 host_test.hex 从"C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\CC26X2R1_LAUNCHXL_ble5stack\hexfiles"刷写 CC26x2R1 launchpad 的其中一个 Launchpad。 此 LaunchPad 需要使用 btool 连接到您的 PC。

    2.您需要使用 cc26x2r1lp_bim_onchip.hex 进行闪存的另一个 CC26x2R1 Launchpad、该 Launchpad 可在 C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\CC26X2R1_LAUNCHXL_ccsl\ble5m_stack 文件中找到

    然后、将 simple Peripheral on chip 示例程序的 bin 文件刷写到同一 Launchpad 中、该文件应位于发布文件夹中。 如果您使用十六进制文件、很可能它不会进行广播。 如果电路板正在广播、请首先使用 IOS LightBlue 应用或 NRF Connect 应用进行检查

    对于闪存、您可以使用 Uniflash。 您可以在 NRF Connect 应用程序中看到的 BLE 从地址 发现时、您应该能够在 btool 上看到相同的 BLE 从地址。

    这是我之前所做的 CCS 项目、我构建了 bim off 芯片和简单外设 off 芯片示例程序。

    -kel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Markel:

    我对以下内容感到困惑:

    在屏幕截图中、我可以看到您从"nortos"文件夹导入了 BIM 项目。 但是、您在步骤2中说您使用 Uniflash 通过"RTOS "文件夹中的 BIM 十六进制文件进行刷写。

    您的项目资源管理器中的 BIM 项目是否不起作用?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="113565" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1177365/cc2642r-oad-not-successful-using-btool/4436096 #4436096"]

    我对以下内容感到困惑:

    在屏幕截图中、我可以看到您从"nortos"文件夹导入了 BIM 项目。 但是、您在步骤2中说您使用 Uniflash 通过"RTOS "文件夹中的 BIM 十六进制文件进行刷写。

    您的项目资源管理器中的 BIM 项目是否不起作用?

    [/报价]

    是的、你是对的。 您也可以执行任一操作。

    我刚刚导入了 bim off 芯片、以防我需要调试 bim。 但您通常不需要修改生物。 如果您在 CCS 工作区中构建 bim、它还将生成一个 bim hex 文件。

    -kel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、所以我不确定原因、但用户指南中的过程(以及 Markel 所描述的过程)似乎不适用于 CC26X2。

    但是、我最终通过执行不同的过程使其正常工作:

    1.构建并刷写(使用 CCS)此处的"持久应用": C:\ti\simplelink_cc13xx_cc26xx_sdk_6_30_01_03\examples\rtos\CC26X2R1_LAUNCHXL_ble5stack\persistent_app

    使用 UNIFLASH 刷写项目的.bin 文件(在本例中为 simple_peripheral_oad_onchip)

    3.使用 CCS 构建和刷写 BIM

    然后、使用此过程、我能够使用 BTool 进行闪存。  

    我想我需要闪存持久性应用程序。 也许这对 Markel 来说是可行的、因为他以前在永久应用程序上闪存过闪存、并且在随后的代码闪存中的某个位置保持不变?

    谢谢大家、希望这对他人有所帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我对 OAD 执行了片外 操作、因此我不需要持久应用程序。 很高兴知道您使它正常工作。

    -kel