RTT-系统移植Finsh报错bus fault: SCB_CFSR_BFSR:0x04 IMPRECISERR

移植Finsh报错bus fault: SCB_CFSR_BFSR:0x04 IMPRECISERR

一、串口报错分析

IMPRECISERR:与设备传送数据的过程中发生总线错误。(有可能有一些参数或者外设没有初始化);


 \ | /
- RT -     Thread Operating System
 / | \     3.1.5 build May 24 2022
 2006 - 2020 Copyright by rt-thread team
psr: 0x61000000
r00: 0x200023a0
r01: 0x20000314
r02: 0x00000000
r03: 0x200022f8
r04: 0x20000300
r05: 0x00000000
r06: 0xdeadbeef
r07: 0xdeadbeef
r08: 0xdeadbeef
r09: 0xdeadbeef
r10: 0xdeadbeef
r11: 0xdeadbeef
r12: 0x00000000
 lr: 0x0800353f
 pc: 0x08003566
hard fault on thread: main



thread   pri  status      sp     stack size max used left tick  error
-------- --- 
 ------- ---------- ----------  ------  ---------- ---
tshell    21  ready   0x00000044 0x00000400    06%   0x0000000a 000
tidle      7  ready   0x00000040 0x00000100    25%   0x00000020 000
main       2  ready   0x00000040 0x00000100    93%   0x00000013 000
bus fault:
SCB_CFSR_BFSR:0x04 IMPRECISERR 


移植Finsh串口打印hard fault on thread: mainthread pri status sp stack size max used left tick errorbus fault: SCB_CFSR_BFSR:0x04 IMPRECISERR 报错信息;

二、解决的方法

  1. 缺少一个头文件的,从而缺少初始化的一些参数,在rtconfig.h文件添加**#include “finsh_config.h”**头文件
#ifndef __RTTHREAD_CFG_H__
#define __RTTHREAD_CFG_H__

#include <rtthread.h>
#include "finsh_config.h"//添加这个宏定义才能正确使用FinSH
  1. main thread 线程的栈空间占用了93%,可适当增加main thread线程的栈空间;
main       2  ready   0x00000040 0x00000100    93%   0x00000013 000
  • 在rtconfig.h文件修改RT_MAIN_THREAD_STACK_SIZE栈空间的大小;
// <o>the stack size of main thread<1-4086>
//  <i>Default: 512
#define RT_MAIN_THREAD_STACK_SIZE     512		//256->512

三、正常运行效果串口


 \ | /
- RT -     Thread Operating System
 / | \     3.1.5 build May 25 2022
 2006 - 2020 Copyright by rt-thread team
msh >

通过上位机SecureCRT或其它工具进行调试
具体命令和移植操作可参考:在 RT-Thread Nano 上添加控制台与 FinSH

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小鹿

博主不差钱,点个赞就行哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值