TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 蓝牙芯片烧写HEX文件后批量损坏,烧写2/3次后,所有手机无法连接到蓝牙,烧写官方例程也不能再使用!一个奇怪的问题。

编译器版本 : IAR-8051 9.10.1版本,协议栈:BLE-CC254x-1.3.2,在BLE-CC254x-1.3.2_Peripheral基础上修改。基本功能是连接好蓝牙后,通过APP下发数据,蓝牙板接收后,通过串口发送给主板。主板传输上来的数据,通过通知方式传输给APP。之前一只好好的,后来客户改需求,把APP换成小程序,改了一版。然后就出现了,编译好的HEX文件,烧能找到蓝牙名字,第一次烧写也能正常连接通信,然后因为要调试,第二次烧写后,能找到蓝牙名字,但是就再也连接不上,我用的苹果12,用同事手机也是能找到连接不上。苹果手机不断尝试连接,然后显示连接失败。我改的程序部分是业务部分,也非常微小,不知道为啥就连不上,然后这时候奇怪的事情就出现了,芯片直接坏了好像,SmartRF Flash Programmer擦除现有程序,然后烧写官方自带和之前没出过这种问题的hex文件,都是再也无法连接上。只能换个新的芯片,烧写第一次就是好的。我怀疑是不是假芯片,当我把程序烧到开发板上时候,开发板也出现了这种情况,看起来就是通过烧写程序就把芯片搞坏了,而在这之前,这款芯片做的蓝牙板方案已经量产了。对现在发生的这件事,暂时没有思路。希望能快读得到分析。客户已经在催了。我在程序中连接状态那里打过断点,确实在我用手机连接的时候已经执行到这一步,但是就是显示连接不上。希望帮我分析下。谢谢了。

Kevin Qiu1:

直接烧录例程是否正常,修改了哪些部分

junjun chen:

回复 Kevin Qiu1:

说了,直接烧录例程,也是能找到蓝牙名称,然后所有手机连接不上,连不上。修改部分 大致上osal_snv_read(0x80, sizeof(scanRspData), &scanRspData);// 写所有参数GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData ); 改了蓝牙名字,//这时候我们获得了一个1ms的定时器if( events & SBP_PERIODIC_1MS_EVT ),启动一个1ms的定时器,做了些串口数据的处理。然后 串口收到的数据做了 通知APP aaac:First_connect_cnt=0;com1recv_index=com1recv_index;static attHandleValueNoti_t pReport;pReport.len = com1recv_index;pReport.handle = 0x0035;osal_memcpy(pReport.value, com1recv, com1recv_index);GATT_Notification( 0, &pReport, FALSE );

Kevin Qiu1:

回复 junjun chen:

直接向新芯片中烧写例程是否正常,正常情况下用SmartRF Flash Programmer 擦除后不会出现状况,用什么APP进行连接的,安卓手机是否也连不上?芯片是从哪里购买的?

junjun chen:

回复 Kevin Qiu1:

就是SmartRF Flash Programmer 擦除成功后,然后继续用SmartRF Flash Programmer 烧写 成功后(CC254x开发板出厂固件:SimpleUart2Uart-CC2541-5KB每秒-2017.07.11),蓝牙名 出现Amomcu ,然后办公司五六个人,苹果和安卓都连不上,而在没有“损坏”之前N次尝试都能连接上,芯片从东业利威 买的 。

Kevin Qiu1:

回复 junjun chen:

根据上面的描述应该是程序的问题

junjun chenif( events & SBP_PERIODIC_1MS_EVT ),启动一个1ms的定时器,做了些串口数据的处理。然后 串口收到的数据做了 通知APP aaac:

将这里的定时时间改大一些试试

junjun chen:

回复 Kevin Qiu1:

这里时间怎么会有影响,一直这么用的。我现在就剩下一块板子了,再坏就没的调试了。能解释下,这里1ms如何会影响到呀。我先用已经不行的试一下。

junjun chen:

回复 Kevin Qiu1:

改成10-1000,屏蔽这个定时器都无效。

Kevin Qiu1:

回复 junjun chen:

这样就不好判断具体是什么问题了,排查下具体是哪部分的问题
1.检查下硬件电路,主要看下晶振、电源、射频前端部分是否出现问题
2.检查是否是芯片问题,用其他渠道购买的芯片试试
3.检查软件部分,改小程序时是否删除了其他必要的代码,可用例程测试板子或者测试你之前的程序看是否有问题

junjun chen:

回复 Kevin Qiu1:

嗯嗯,现在发深圳专业人士分析一下。谢谢你了,有问你我会继续说的。

junjun chen:

回复 Kevin Qiu1:

今天换了几块芯片,然后烧写,第一次 我用苹果12手机连接,每次都能连上,然后烧写第二次后我用苹果12连接,就一直连不上了。找了另外苹果11,苹果X 和小米手机,能连上,然后华为荣耀8连不上。之前怀疑是编译器问题,下载器的问题,现在看来是手机信号兼容性问题。部分型号手机连接不上,手机都开启定位了。问问哪里设置偏频 是不是偏频导致的。

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 蓝牙芯片烧写HEX文件后批量损坏,烧写2/3次后,所有手机无法连接到蓝牙,烧写官方例程也不能再使用!一个奇怪的问题。
分享到: 更多 (0)