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:串行引导加载程序可能会擦除闪存、但上传失败

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1366007/cc2642r-serial-bootloader-could-erase-flash-but-upload-failed

器件型号:CC2642R

工具与软件:

您好!

 我正在尝试通过串行引导加载程序将 FW 上传到 CC2642R。 我们按照过程擦除闪存并写入 FW。


	//Send Establishing communication
	send_data[0] = 0x55;
	send_data[1] = 0x55;
	write(fd, send_data, 2);

	recv_len = read(fd, recv_data, 2);

	printf("recv [0]:0x%x [1]:0x%x\n", recv_data[0], recv_data[1]);

	//Get chip ID
	send_data[0] = 0x03;
	send_data[1] = 0x28;
	send_data[2] = 0x28;
	write(fd, send_data, 3);

	recv_len = read(fd, recv_data, 8);
	printf("recv [0]:0x%x [1]:0x%x [2]:0x%x [3]:0x%x [4]:0x%x [5]:0x%x [6]:0x%x [7]:0x%x\n", recv_data[0], recv_data[1], recv_data[2], recv_data[3], recv_data[4],
			recv_data[5], recv_data[6], recv_data[7]);

	send_cmd_ack();

	//Read flash size
	pages = cmd_read_flash_size();
	printf("Flash page count=0x%x\n", pages);

	send_cmd_ack();

	cmd_erase_flash_page(pages);


	cmd_send_data(sFWFile);

	cmd_crc32();
	cmd_reset();

设置通信、获取芯片 ID、擦除闪存、开始下载固件命令所有运行成功和响应正常的过程。 但是、当尝试向命令发送数据以写入闪存(0x24)时、串行引导加载程序只是没有响应。 此问题是否有任何可能的原因(硬件或软件)?

相同的源代码在我们的旧硬件上运行良好、但在这个新硬件上运行失败。  因此该过程应该正常、并且 UART 通信看起来也正常。 只是想知道为什么它停留在写入命令(0x24)上。

感谢您的帮助。

但以理。

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

    Daniel、您好!

    感谢您与我们联系。

    请您指定在启动写入过程时使用的命令流程吗? 我明白命令0x24失败了、但是、你能否确认命令0x21 (COMMAND_DOWNLOAD)执行正确? 此外、您可以指定命令0x21使用的参数吗?

    作为参考、这里有一个图、显示了写入操作的命令流程-取自 https://www.ti.com/lit/swra466中的图4-6

    如果尚未完成、我建议查看以下资源:

    我希望这将有所帮助、

    此致、

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

    您好、Clement、

     感谢您的答复。 "command_download"响应成功、命令包含正确的固件数据长度和校验和。

     刚刚发现为 CC2642提供的直流电源似乎不够好。 我想再次确认一下、是不是这是使写入闪存异常的原因。

    谢谢、此致、  

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

    更新结果。

    直流电源问题得到解决后、确认这可以正常工作。 现在一切都正常。

    非常感谢您的帮助

    此致、