关于stm32f103在编程中进入错误中断时发现的问题

在仿真模式下,程序跑到错误中断时,可以通过Peripherals->Core Peripherals->Faluts Reports查看错误,Fault Reports窗口中详细要根据官方文件学习,就我遇到过的两个错误进行分析:
1、Bus Faults
我进入该状态时是因为指针问题,数组大小太小而调用指针时超过了数组长度,具体现象表现为:函数Funtion有局部变量长度Length数组Arrayuint8_t Tempuint16_t Addr,此时调用了Funtion1Array进行操作,操作长度>Length,Funtion1返回时,在Funtion中发现局部变量TempAddr的值都发生了变化,且到了Funtion的末端要退出时在”}”卡住了,单步运行发现在Disassembly窗口中运行地址从0x00000000一直往下递增,之后进入错误中断。
2、Usage Faults
我发生此错误时是因为栈的大小不够,运行一定时间时程序进入错误中断,在.s文件中增加了Stack_Size不起作用,由于用了操作系统,增加该任务的堆栈大小问题即解决。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值