bug分类

嵌入式系统BUG的分类


第一类,硬件bug.

  1. ASIC数字电路设计疏漏,比如连线错误和模块参数失效等,亦或者是芯片生产过程中产生的连线异常,或者是硬件性能问题,比如ddr不稳定等。
  2. 板子设计异常。
    这类bug一般在测试验证是发现和和bringup阶段发现,解决。

第二类,软件代码的bug。

  1. 软件代码的bug,c/c++的bug,50%是由于指针导致的,如果定位到一段代码工作异常,首先就要看这段代码中有没有指针,指针本身有没有被更改(直接指针++),会不会越界,是不是空指针等;

  2. 30%是函数参数异常,变量和参数的值没有传递到正确的函数中去,或者变量清零赋值异常,该清零没清零,该赋值没有赋值,运算符的执行优先级问题,以及逻辑错误,比如>>3是除以8,却被当成是除以6等等,这类bug需要整理参数和变量的传递和赋值改变过程;

  3. 15%是系统互相影响问题,多线程互踩,阻塞,锁等异常,需要看看线程运行空间,加索释放锁以及中断的运行情况;

  4. 5%是其他问题,比如内存堆栈分配导致的大数组溢出,编译器编译指令的问题,比如优化和出现某些不合预期的指令的情况等,以及段指定问题,比如把定义的数组放到rodata去了,只能读不能写,一写就data abort等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值