Thread 中讨论的其他器件: BLE-STACK、 UNIFLASH
您好!
我提出了支持请求,但他们告诉我,我必须在这个论坛上发布我的请求。 在原始请求中、我上传了我的工作区、以确保提供任何重要信息。 在这里我不想这样做,但我试图把所有重要的东西都放在这份案文之下。 -->如果您需要更多信息,请告诉我。
为了扫描我们的其中一款产品的 BLE 信标、我们使用了 cc2640R2L。 要对固件进行编程、我从 simple_observer 示例开始、并采用 UART 协议与另一个主微控制器进行通信。 到目前为止、它运行良好、但在固件更新方面开始出现问题。
我们希望使用两个映像来实现固件更新。 1)引导加载程序映像、位于闪存的开始位置;2)上面提到的可更新程序、位于引导加载程序的后面。
由于 simple_observer 示例出现在“堆栈库配置”中,因此 iCall-或 ble-stack 的其他闪存部分就我所知而言是不必要的。
更新映像将由主微控制器通过 UART 提供、整个更新过程将由引导加载程序管理。
为了完成此操作、我首先要做的是引导加载程序跳转到可更新的程序。 在这种情况下、uniflashtool 会刷写两个映像。 配置字节(闪存结束)
我单独刷写了。 为了查看这是否成功,我注释了大多数代码并添加了一些调试代码,这样引导加载程序就不会比通过 UART 输出“Hallo”多了几秒钟
它应该跳转到可更新映像,而可更新映像应该不会比通过 UART 输出“Tschoe”多得多。
将引导加载程序映像刷写到地址0且更新映像地址0x8000之后、我通过将 RESET 引脚接地来重新寻址 μ µC。
在我用来查看 UART 输出的终端中,我看到了很多“Hallo”,这表示引导加载程序正在运行,直到它跳到或应该跳转到可更新的映像为止。
然后 UART óutput 结束、这表示可更新的映像未运行。
之后、我还使用 uniflashtool 检查闪存内容、但我无法注意到奇怪的情况。
如果您能帮助我解决这个问题、那将会非常好。
此致!
主循环(可更新程序):
mainloop (引导加载程序):
e2e.ti.com/.../bootloader_5F00_command_5F00_file.txt
e2e.ti.com/.../updateable_5F00_firmware_5F00_command_5F00_file.txt
e2e.ti.com/.../updateable_5F00_firmware_5F00_config_5F00_file.txt