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.

[参考译文] CC3235MADASF:尝试写入 mcuflashimg.bin 时 OTA 失败

Guru**** 2539530 points
Other Parts Discussed in Thread: UNIFLASH, CC3235SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1067155/cc3235modasf-ota-fails-when-trying-to-write-mcuflashimg-bin

部件号:CC3235MADASF
《线程》中讨论的其他部件: UNIFLASHCC3235SF

您好,

 我正在使用 CC3235MOASF 将图像作为 tar 文件下载到硬件设备。  我使用的是 Simplelink SDK 4.40.00.07,service pack sp_4.9.0.2_3.7.0.1_3.1.0.26.bin。  我正在通过提供的 OTA 代码从直接 URL 下载。  代码似乎可以处理 tar 文件的处理,直到它尝试下载/sys/mcudflashimg.bin 为止。  一旦进入 OtaArchive::OtaArchive_Process,设备就会挂起,直到看门狗重新引导它。  看门狗设置为10秒。  时间戳[00:00:18.0499]显示 OTA 下载在启动后18.0499毫秒开始。  闪存中未安装(几乎)下载的文件,设备将重新启动并重试。  我在一个循环中调用 OTA Run,任务是在每个呼叫之间传递看门狗。

 tar 文件的大小为317440字节,当通过 UniFlash 下载时,tar 文件中的图像在硬件上运行。  我从 UniFlash 1.0.22.3创建了 tar 文件。  下面 是正在下载的 tar 文件的-tvf:

DRW-r--r- 0/0 0 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/
DRW-r--r- 0/0 0 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/0
DRW-r--r- 0/0 0 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/1/
DRW-r--r- 0/0 0 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/2/
rw-r-r- 0/0 1884 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/0/OTA
rw-r-r- 0/0 975 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/1/dumed-root-ca-cert
rw-r-r- 0/0 195600 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/2/sys/mcuflashimg.bin
rw-r-r- 0/0 5700 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/2/www/index.html
rw-r-r- 0/0 18406 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/2/www/logo.png
rw-r-r- 0/0 80704 1969-12-31 19:00 20220104112744_CC3235SF_cc3235SF/2/sys/servicepack.UCF

以下是更新过程的诊断输出(请原谅线路消息,这些是我的诊断。):

OTA 状态:0
[00:00:18.0499] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:5.
OTA 运行:调用 CdnClient_ConnectFileServer,URL = 192.168.1.93/.../20220104112744_CC3235SF_cc3235SF.tar
[00:00:18.0717] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:6.
OTA 运行:调用 CdnClient_ReqFileContent,URL = 192.168.1.93/.../20220104112744_CC3235SF_cc3235SF.tar
[00:00:18.0736] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:7.
[00:00:18.0745] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:0,块大小:1198,强制读取:0)
电话:464
OtaArchive_Process:状态=0
OtaArchive_RunParse:设置 status=archive_State_parse_hdr
行:469 (状态= 0,处理字节= 0)
行:500
[00:00:18.0772] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:0,块大小:1198,强制读取:0)
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:filetype=5,directory=20220104112744_CC3235SF_cc3235SF/
行:469 (状态= 0,处理字节= 512)
行:500
[00:00:18.0806] OTA Status = 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:512,块大小:1198,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:filetype=5,directory=20220104112744_CC3235SF_cc3235SF/0/
行:469 (状态= 0,处理字节= 512)
行:500
[00:00:18.0844] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:512,块大小:686,强制读取:0)
电话:436
行:447
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:filetype=5,directory=20220104112744_CC3235SF_cc3235SF/1/
行:469 (状态= 0,处理字节= 512)
行:500
[00:00:18.0883] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:512,块大小:1440,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:filetype=5,directory=20220104112744_CC3235SF_cc3235SF/2/
行:469 (状态= 0,处理字节= 512)
行:500
[00:00:18.0920] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:512,块大小:928,强制读取:0)
电话:436
行:447
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:文件类型=0,文件名=OTA。cmd,文件大小=1884
行:469 (状态= 0,处理字节= 512)
行:500
[00:00:18.0957] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:512,块大小:1440,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=2
[_BundleCmdFile_parse] bundcmd file=/sys/mcubflashimg.bin,SIG_len=256,SHA_256_Digets=85b078c39cd9bbbf401aeca894fb75ccf916f1e0f9e4f302f7763d83435c337a,secured-cccccert,root=1,secured cccccert 捆绑包=1
[_BundleCmdlet 文件:/www/index.html,SIG_len=0,SHA_256_Digets=6bef3d3e24d27d83daf8ecb30143b82c33a534e590ef21e562bb353e590dd2,cert=,secured=0, 捆绑包=0
行:469 (状态= 0,处理字节= 839)
行:500
[00:00:19.0029] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:839,块大小:928,强制读取:0)
电话:436
行:447
行:459
电话:464
OtaArchive_Process:状态=2
[_BundleCmdlet 文件=/www/logo.png,SIG_len=0,SHA_256_Digets=18e357502554edf66768feee398645e6fb858846169f28e14c365b04f3300b43,cert=,secured=0, 捆绑包=0
[_BundleCmdlFile_parse] bundcmd file=dum-root-ca-cert,SIG_len=0,SHA_256_Digets=34941765501d16a4ab776c3a74d89945f1a2575c5893069f62ffbe803f344549,cert=,secured=0, 捆绑包=0
[_BundleCmdlet 文件=/sys/servicepack.UCF,SIG_len=256,SHA_256_Digets=e96466a12ef46135f63403c7589e558a72bbe91e143044f330e84e68ccddf,cert=,secured=1, 捆绑包=1
行:469 (状态= 0,处理字节= 1044)
行:500
[00:00:19.0121] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:1044,块大小:1440,强制读取:0)
电话:436
行:447
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:跳过块对齐 RecvBufLen=1440,SkipAlignSize=165
OtaArchive_RunParseTar:FileType=0,filename=dum-root-ca-cert,FileSize=975
行:469 (状态= 0,处理字节= 677)
行:500
[00:00:19.0167] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:677,块大小:1440,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=4
创建/打开写入文件 dumed-root-ca-cert
行:469 (状态= 0,处理字节= 0)
行:500
[00:00:19.0278] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:0,块大小:763,强制读取:0)
电话:464
OtaArchive_Process:状态=5
OtaArchive_RunParseTar:将大小763写入文件 dumed-root-ca-cert 总数763。
行:469 (状态= 0,处理字节= 763)
行:500
[00:00:19.0319] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:763,块大小:763,强制读取:0)
电话:436
行:447
行:459
电话:464
OtaArchive_Process:状态=5
OtaArchive_RunParseTar:将大小212写入文件 dumed-root-ca-cert 总数975。

散列验证成功。
归档文件总字节6095。
OtaArchive_RunParseTar:已保存 OTA.cmd 中提到的1个文件
OtaArchive_RunParseTar:下载文件已完成-大小=975
行:469 (状态= 0,处理字节= 212)
行:500
[00:00:19.0375] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:212,块大小:1440,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=1
OtaArchive_RunParseTar:解析归档文件头
OtaArchive_RunParseTar:跳过块对齐 RecvBufLen=1228,SkipAlignSize=49
OtaArchive_RunParseTar:FileType=0,filename=/sys/mcudflashimg.bin,FileSize=195600
行:469 (状态= 0,处理字节= 561)
行:500
[00:00:19.0420] OTA 状态= 20001
OTA 运行:状态继续
OTA 状态:8.
行:429 (块偏移:561,块大小:1228,强制读取:0)
电话:436
电话:440
行:459
电话:464
OtaArchive_Process:状态=4
创建/打开写入文件/sys/mcuflashimg.bin
看门狗跳闸

我们非常感谢您的帮助。

谢谢,

维奇·贝里

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

    您好,维奇,

    您在哪里启动 WDT? 这是 OTA 任务的内在所在?

    请记住,当您打开文件进行写入时 (如/sys/mcumflashimg.bin),根据文件的原始大小,这可能需要很长时间。 通常会擦除一个2kB 扇区。 40ms (最大 240毫秒)。 这意味着,如果在 sFlash 中创建了1MB /sys/mcuflashimg.bin,则打开写入可能需要122秒(典型值)。 20秒)。 SPI 闪存的计时参数可在MX25R3235F 数据表中找到。

    1月

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

    你好,Jan,

     我将监视程序设置为50秒(这比在我的实施中关闭监视程序要容易得多,而且它很有效。  我可以下载所有文件,尽管它在安全警报(但我可以修复:^)下失败了。 非常感谢您的帮助

    维也纳国际中心