-
关于80025远程升级OTA时的flash写入问题
我在进行对80025升级OTA的过程的遇到了问题,我们的升级文件有100多kb,分为2000多包,每包48字节下发,写入的起始地址假设为0x00085000,每一包带有相对于起始地址的偏移,如no.0为0x00000000,no.1为0x00000018(因为实际写入是半字编程,所以是0x30/2),全部发完后进行校验。我们的升级是统一广播完所有包之后,再根据个体缺少的包进行下发。比如收到了1,2,3,4,6,7,那么再全部发完2000包之后会马上给他发缺少的5。问题出现了,如果是正常按顺序接收完所有包,校验就可以通过,如果是缺少了某些包等到最后补充的,那么不管缺少的数目,都会校验失败。我已经确定了每一包都收到了,且下发的数据成功方和失败方也是一致的。所以想问下,是不是该芯片的写入必须按顺序写入,不能在中途插入,希望有用过的大佬可以解惑一下
2024-08-16 0 -
CC2640的I2C问题请教
我用CC2640的I2C模块给OPT3001光照芯片写值,发现写不进去。该芯片寄存器是16位的,咱I2C模块可以写16位寄存器的值吗???我就想给0x01寄存器写个0x54,0x10,代码如下:voidSet_OPT3001(uint8_tlimit){Reset_OPT3001_Register();txBuffer[0]=0x54;txBuffer[1]=0x10;i2cTrans.writeCount=3;i2cTrans.writeBuf=txBuffer;i2cTrans.readCount=0;i2cTrans.readBuf=rxBuffer;i2cTrans.slaveAddress=0x44;I2C_transfer(handle,&i2cTrans);}
2020-12-08 4