自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 记录一次hardfault 原因查找

6、回归问题本身 Cannot access Memory (@ 0xfffffffc, Read, Acc Size: 4 Byte)就是说还是访问不允许访问的地址才出现的错误,即、只是恰好在这个函数时用到了那个地址导致问题发生,数据本省已经被更改,只是在BSP_OS_TimeDly函数中刚好用到了那个flash数据导致出现hardfault;3、打开memory 查看此地址0x20002ED8 ,打开一看全是零 ,一脸懵逼,pendsv优先级有问题,继续跟进发现自己的设置没问题,至此思路完全没有,

2024-02-29 18:08:45 490

原创 中断接收的全局变量赋值给局部变量,有时会出现赋错值的情况

此时r0里面的值为0,在中断时r0值为串口接收的数据,这个地方直接使用r0通用寄存器的值,赋值给r1的地址,导致赋值出错。现象:串口接收中断函数, 定义全局变量uctemp 接收返回数据,数据能接收到。1、中断接收变量 使用关键字volatile,直接取全局变量uctemp变量值再去赋值可以正确赋值,汇编中会加一步取值操作;2、降低优化等级,也可以正确赋值,不过这样会造成每一步程序解析成汇编的指令多几步造成时间浪费;另外,在系统中,使用全局变量,最好使用保护全局变量的方法,否则也会造成数据赋值异常。

2023-08-01 09:22:38 702 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除