问题总结
研发过程遇到的问题
爱兔蛙
宁可慢,不要站
展开
-
使用位域导致代码大小变大
使用位域导致代码大小变大问题场景:代码大小优化过程中,使用位域操作能够,有效的利用代码空间;因此在将一个结构体中的两个成员如下EAR_ACK_E leftAckFlag;EAR_ACK_E rightAckFlag;改为EAR_ACK_E leftAckFlag:4;EAR_ACK_E rightAckFlag:4;觉得代码大小会有优化;实际编译...原创 2021-09-13 15:27:14 · 170 阅读 · 0 评论 -
CSR8670从ADK3.0软件DFU升级到ADK4.0软件
最近在做给dongle升级的工作,该dongle采用的是CSR8670芯片,旧软件版本是基于ADK3.0开发的,新的软件是基于ADK4.0开发的,发现DFU升级之后,系统启动不起来的问题。经过测试发现,PSR文件有问题,解决该问题的措施,就是有线升级到ADK4.0的软件版本后,使用pstool工具将所有的psr配置dump出来,将dump的出来的psr配置打包到DFU文件中(打包方法网上搜索CSR8670 DFU文件制作)。尝试从ADK3.0的软件版本DFU升级到ADK4.0的软件版本,测试OK,问题解原创 2021-03-16 17:29:40 · 354 阅读 · 0 评论 -
结构体数据存入Flash中,元素位置偏移的问题分析
问题背景:今天调试Flash存储,其中存储数据是一个结构体变量,发现结构体变量中有一些元素位置往后偏移的问题!具体原因:如下面的结构体变量 test,把其存入flash中,其所占空间为6字节,而不是5字节;原因就是结构体有字节对齐的概念,即以结构体成员中占内存最多的数据类型所占的字节数为标准,所有的成员在分配内存时都要与这个长度对齐。以下面的结构体变量test为例,其元素中a和c是两个字节,则b要与其对齐,则会自动补充一个空字节;typedef struct{ uint16_t a; uint8_t原创 2021-02-18 15:22:40 · 706 阅读 · 2 评论 -
产线电量管控策略管控不住的问题分析
问题背景:产品在产线生产后入库前,要对电量进行管控,产线要求入库前产品的电量在80%—85%之间,可是在产线的电量管控工装上总是有电量大于85%的产品存在!有的甚至达到90%。问题原因:电量管控工站前面是老化工站,进行了多轮充电和大功率放电,电量计是安时积分类型的,此时电量计积累了很多误差,当电量管控时,电量达到85%后,直接通知charger disable 充电;但是此时系统消耗只会从usb取电,电池不充电也不会放电,处在relax状态,积分型电量计在电池relax时会自动修正电量!因此会出现电量原创 2020-07-21 17:02:52 · 287 阅读 · 0 评论