求教: 如何清除BusFault状态?

2019-12-10 18:14发布

读取地址越界, 需要程序判断出错误, 报错后继续正常运行.

现在是会进入BusFault中断, 在BusFault_Handler里清除了SCB->CFSR的PRICISERR位, 但还是不断重复进入BusFault中断. 请问怎么恢复到正常执行状态呢...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
tomzbj
1楼-- · 2019-12-11 12:23
huangqi412 发表于 2019-9-30 15:27
什么通用bootloader, 学习一下。

按这哥们的说法, 一是在bootloader里对常用mcu型号做了封装, 支持stm32f0xx, f10x, f40x, gd32f1x0, gd32f3x0之类, 只要在某个地方指定一下型号和用到的串口管脚, 其他都不用改了.
二是bootloader里实现了简单的命令解释器, 可以做到:
1. 在串口命令行实现查看任意地址
2. 查看app区是否为空
3. 擦除任意位置flash
4. 模拟128字节eeprom(和app共用), 可以在命令行读写eeprom内容
5. 设置读保护和加密
6. 复位
7. 简单的在线帮助.

他的bootloader不到7k, 加上1页用来模拟eeprom, 总共占用8k空间. 感觉挺神的...
lushanlq
2楼-- · 2019-12-11 14:54
能分享一下这个神奇的bootloader吗???
tomzbj
3楼-- · 2019-12-11 15:13
lushanlq 发表于 2019-9-30 20:25
能分享一下这个神奇的bootloader吗???

我没有啊,人家是商业产品用的。
我现在只实现了人家的一部分功能,已经8k多了。。。

用库是肯定不行的,全得改成寄存器操作,但是这样要适配不同型号MCU的工作量就更大了。
RAMILE
4楼-- · 2019-12-11 15:19
本帖最后由 RAMILE 于 2019-9-30 23:03 编辑

看着是按照UBoot的功能来的

7k代码,应该有大量功能在汇编里面搞的,大概3000行汇编的样子

强烈建议LZ把SPI口SD卡加上去,支持FAT文件格式读取加载,实现uboot的fatload命令
还有bootcmd bootdelay
tomzbj
5楼-- · 2019-12-11 16:59
 精彩回答 2  元偷偷看……

一周热门 更多>