TI工程师,你好!
目前我在用2541做空中升级的时候碰到一个问题,在app把升级文件全部发送到设备之后,设备没有正常断开蓝牙,app提示upgrade 失败,后调试发现是因为代码里面用到uart DMA如果把uart DMA去掉就正常了,请问如何避免,有什么需要特殊设置的吗?
谢谢
Yan:
jump,
真心奇怪,UART或者DMA应该不会影响到空中升级。
空中升级的过程中你的DMA是一直在工作吗?有没有试一下把UART和DMA都关掉在升级的过程中?
由于要写入flash,空中升级的过程中最好任务尽量简单。
jump jump:
回复 Yan:
Yan:
我UART是用的DMA来做接收的,我看升级的时候也是要用到DMA来接收缓存数据,是否这两个有影响,我UART接收不用DMA来接收的话升级是正常的,一改用DMA就不行,但不用DMA的话UART速率又上不去,如果在升级的时候关掉DMA会影响升级吗?如何关闭DMA?
谢谢
Yan:
回复 jump jump:
jump,
我的意思是你最好在升级的时候不要用UART :)
jump jump:
回复 Yan:
Yan:
不要用是指升级的时候把UART关掉?还是在升级的时候不通过UART发送,接收数据?
app在升级的时候会先发条命令过来说我要给你升级了,还是直接就通过ota的service把固件发送过来?
谢谢
Yan:
回复 jump jump:
jump,
建议是把UART关掉,说白了就是那个时候不要用UART传数据。