ch582m OTA蓝牙传输数据异常


    uint8_tbuf1[IAP_LEN-4]={

    0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    // 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x23,0x80,0x07,0x04,//这一串数据加进去就不行

    0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x23,0x00,0x00,0x00,//这一串把0x23改成0x00数据就OK

    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x27,0x00,0x40,0x85,0x46,0xa3,0x03,0xd7,0x80,0x23,0x80,0x07,0x04,0x82,0x80,0x13,0x76,0x05,0x04,0x25,0xca,0x03,0xc6,0xa7,0x00

 ,0x41,0x8a,0x1d,0xe2,0x23,0x80,0xd7,0x04,0x23,0x80,0xe7,0x04,0x01,0x00,0x01,0x00,0x03,0xc7,0xa7,0x00,0x13,0x67,0x07,0x01,0x23,0x85};      

image.png


IAP_LEN长度是200 使用这一串数组进行编程烧录无法进行下一次蓝牙数据通信,但是任意改变0x23字符为0x00 数据就能正常传输

我找了下,我们OTA的代码里面没有这个数组的定义。

你是在哪个工程上测试的,具体说一下,我们测一下问题。


这个是我们网关的代码 就是发OTA固件的内容给CH582M  目前发现有些内容可以正常收发 但是例如上面一串数据就会出现异常,刚刚看到一个论坛问题 关于582M OTA内存只有16K问题,不知道是否有影响,我们582M OTA是否尝试使用过200K左右的固件大小测试过。


嗯,ld文件是错了
image.png

按照这个吧ld文件改了,再试试。


把主机的数据长度改为84就不会出问题了,具体原因还是不是很清楚。长度改200  自己随便丢一串字符串是不会出现通讯失败,但是遇到这个固件特殊字符串就会挂。


只有登录才能回复,可以选择微信账号登录