你好,
在我自己的硬件上,我将UART2用于串行引导加载程序和CLI。我的串行接口只定义了TX和RX,没有CTS线路。为了使它在CLI中工作,我使用HW\u GPIO\u MODE\u INPUT\u下拉菜单将CTS信号配置为未连接的I/o引脚。我的应用程序是基于cscp\u收集器和hrp\u收集器的。我使用的是BTLE SDK 1.0.10-1072。
如果重置后BLE连接,一切正常。但是在BLE断开连接后,或者如果BLE在复位后保持空闲,TX线路会在一段时间后关闭。那我就不能再和UART2通信了。
将睡眠模式从pm\u mode\u extended\u sleep切换到pm\u mode\u idle或pm\u mode\u active没有效果。
在评估板上,如果我将CLI配置为UART1,那么一切都正常工作。
我想问题是由引导加载程序引起的。
How can I fix this issue?
非常感谢你的帮助。
设备:
你好,尤尼本,
我不太明白你想做什么,cli(我想你的意思是cli\u程序员)只是为了编程的68x后,你已经烧了一个固件的闪存复位后,设备重新加载固件是在闪存。你能让我们知道你到底想做什么,因为cli和BLE项目是非常不相关的。
设备仅通过UART1引导,不通过UART2引导。UART1是681用于顺序引导的端口,它是通过ROM引导器定义的,并且它是固定的。因此,您必须从UART1引导并下载uartboot.bin文件(它充当辅助引导加载程序)。uartboot.bin文件通过UART2接收来自cli\u程序员的命令(因为现在设备运行的是uartboot.bin而不是ROM引导程序,所以uartboot.bin对不同的UART使用相同的管脚),所以uartboot.bin重新配置设备从UART到UART2侦听的端口。重置后,在闪存中下载固件后,设备将加载位于闪存中的固件(以及所有后续重置中)。如果您刚刚用一个自定义固件引导设备,例如,刚刚在系统内存中上传一个固件,重置后,设备将只执行ROM引导程序,设备将通过UART1而不是UART2进行通信,您将不得不再次下载uartboot.bin以切换端口。
谢谢你的对话
你好,
抱歉,描述不清。我使用的是sdk中的cli和控制台,它们与引导加载程序共享同一个uart。我的系统设计为只使用一个uart进行闪烁和有线通信。
非常感谢你的帮助。
你好,尤尼本,
仍然无法得到你想的东西to do. You are using somekind of UART interaction in your BLE project and at somepoint after the device disconnects the UART hangs. I am not sure i am getting this. Please try to be more specific on what is that you would like to do. When you mention cli i understand the CLI programmer that has nothing to do with a BLE project and its only used in order to program the device. You mention also that you are using the console, what console is that ? The console used in the peripherals demo ?
谢谢你的对话
你好,
With cli I mean the command line interface which comes with the sdk. The cli is activated with:
#定义dg\u configUSE\u CLI 1
#定义dg\u configUSE\u控制台1
我用cscp\u收集器示例项目开始了我的项目,该项目由命令行界面(cli)控制。
我的问题是,引导加载程序(由cli程序员控制)和命令行接口(控制我的应用程序,类似于cscp\u collector中的示例)都使用相同的uart。任何程序,在sdk的某个深度,都会终止uart,这样我就不能再访问我的命令行界面了。
非常感谢你的帮助。
你好,尤尼本
我不认为你正在经历的是一个引导加载程序的问题,引导加载程序被下载到68x和固件下载到设备和cli\u程序员得到命令烧成闪存固件,复位后,引导加载程序在系统内存是消灭了应用程序,你刚刚烧成闪存。在随后的重置中,主引导加载程序将从闪存引导。引导加载程序和在设备中运行的应用程序之间没有冲突,如果是这种情况,那么cspc\ u收集器或hrp\ u收集器将不工作,并且它们都使用UART2。
谢谢你的对话
谢谢。