主题中讨论的其他器件: CC3220MOD
您好!
最近、我实现了文档 SWPA230A 中所述的嵌入式编程功能。 主机 MCU 可以按照步骤1至10中的说明成功地向 CC3120发送命令。 收到的回复(Ack 和 Info)正确。 但在步骤11 (FS 编程)中失败。 根本没有 Ack。 我已通过逻辑分析仪检查 UART 数据。 它们与图16相匹配。 唯一的区别是块数据的内容。
然后、我尝试使用不同的块大小。 我尝试了512字节、1024字节、2048字节和最初的4096字节。
对于 chunch_szie = 512字节、一旦累积大小大于2048字节、它就会开始失败。 以下是日志:
CC3x20::embeddedProgramming()程序映像 块=0大小=512 CC3x20::fsProgram()累积的512字节 CC3x20:::embeddedProgramming()程序映像块=1大小=512 CC3x20::fsProgram()累积的1024字节 CC3x20:::embeddedProgramming()程序映像块=2大小=512 CC3x20: CC3x20:512字节编程(=512字节 CC3x20): CC3x20):累积的闪存编程(=512字节 CC3x20): CC3x20): CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC3x3:CC3x20:CC3x20:CC3x20:CC3x20:CC3x20:CC RC = 0
对于 chunch_szie = 1024字节、一旦累积大小大于2048字节、它就会开始失败。 以下是日志:
CC3x20:::embeddedProgramming()程序映像 块=0大小=1024 CC3x20::fsProgram()累积的1024字节 CC3x20::embeddedProgramming()程序映像块=1大小=1024 CC3x20::fsProgram()累积的2048字节 CC3x20:::::embeddedProgramming()程序映像块=2大小=1024 CC3x20: RC = 0
对于 chunch_szie = 2048字节、一旦累积大小大于2048字节、它也会开始失败。 以下是日志:
CC3x20:::embeddedProgramming()程序映像 chulk=0 size=2048 CC3x20::fsProgram()累积的2048字节 CC3x20::embeddedProgramming()程序映像 chulk=1 size=2048 CC3x20::txCommand()无法获取 ACK。 RC = 0
对于 chunch_size = 4096字节、它从一开始就会失败。
CC3x20::embeddedProgramming()程序映像块=0大小=4096 CC3x20::txCommand()无法获取 ACK。 RC = 0
然后,我尝试在 txCommand()失败后发送 GetStatus 命令。 GetStatus 也没有 Ack。 显然、CC3120在步骤 FS_programming 中接收到2048个块数据字节后挂起。
在步骤6和步骤9中,使用相同的 txCommand()函数将“最新”引导加载程序成功修补到 SRAM 和 SFLASH。 因此、函数本身应该没有问题。
在这种情况下、很难进行调试。 有人有这种经验吗? 任何想法都很有帮助。