下午好,
我正在创建一个从UART启动,为此,我分析了通过智能片段启动执行的步骤,连接开发板中的两个USB串行转换器,以验证外部设备和模块之间的通信。原理是按照预期的顺序,模块发送0x02,外部设备发送0x01,然后是文件大小和ACK的大小。但是当外部设备发送代码时,我意识到最后是发送到序列引导0x01,0x02和0x04,在发送完.bin和收到最后的ACK之前。我想知道你想要的这些值是什么?
启动协议描述在http://support.dialog semiconductor.com/system/files/resources/an - b - 001% . .。.见第6.2节表5。DA14580在软件代码之后发送的CRC字节只是软件所有字节的异或。
你也可以在SDK的tools/secondary_bootloader/src/uart_booter.c中查看DA14580是如何实现的。
美好的一天,
模块正确发送CRC,奇怪的是智能代码段在发送代码后还在最后发送值0x01,0x02和0x04,但在完成代码后唯一期望的答案是模块响应CRC,作为AN-B-001文档。我将检查uart_booter.c代码。
你正在启动flash_programer .bin软件吗?如果是,则在软件映像中附加三个字节,表示GPIO VPP/UART设置。这只是一个为不同配置定制flash_programmer固件的技巧,而不必为每个配置都有一个二进制文件。
就是这样。我可以发送flash_programmer。bin,最后这3个字节?然后通常会跟随文件的脚步。
是的。注意,3个字节的计数应该包含在2字节长度的头中,因为它们被认为是应用程序映像的一部分。
这样在ram中携带代码,我可以安静地使用扩展睡眠模式?
是的。延长睡眠时间不会关闭任何RAM。
启动协议描述在http://support.dialog semiconductor.com/system/files/resources/an - b - 001% . .。.见第6.2节表5。DA14580在软件代码之后发送的CRC字节只是软件所有字节的异或。
你也可以在SDK的tools/secondary_bootloader/src/uart_booter.c中查看DA14580是如何实现的。
美好的一天,
模块正确发送CRC,奇怪的是智能代码段在发送代码后还在最后发送值0x01,0x02和0x04,但在完成代码后唯一期望的答案是模块响应CRC,作为AN-B-001文档。我将检查uart_booter.c代码。
你正在启动flash_programer .bin软件吗?如果是,则在软件映像中附加三个字节,表示GPIO VPP/UART设置。这只是一个为不同配置定制flash_programmer固件的技巧,而不必为每个配置都有一个二进制文件。
就是这样。我可以发送flash_programmer。bin,最后这3个字节?然后通常会跟随文件的脚步。
是的。注意,3个字节的计数应该包含在2字节长度的头中,因为它们被认为是应用程序映像的一部分。
这样在ram中携带代码,我可以安静地使用扩展睡眠模式?
是的。延长睡眠时间不会关闭任何RAM。