Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
[请教]系统显示hard fault的问题
发布于 2013-04-02 13:42:49 浏览:5879
订阅该版
```mem testing.... mem test pass!! | / - RT - Thread Operating System / | 1.1.0 build Apr 2 2013 2006 - 2012 Copyright by rt-thread team SPI File System initialized! os : system memory alloc 320 bytes flsh: UFFS consume spare data size 14 os : system memory alloc 20880 bytes os : system memory alloc 6288 bytes os : system memory alloc 16384 bytes psr: 0x60000000 pc: 0x2000070c lr: 0x0800960d r12: 0x0800160b r03: 0xff0fff0f r02: 0x2000070c r01: 0x00000000 r00: 0x00000000 hard fault on thread: n t thread pri status sp stack size max used left tick error -------- ---- ------- ---------- ---------- ---------- ---------- --- tidle 0x1f ready 0x000000c8 0x00000400 0x000000c8 0x00000020 000 tshell 0x14 ready 0x000000c8 0x00000800 0x000000c8 0x0000000a 000 led1 0x0b ready 0x000000cc 0x00000400 0x000000cc 0x00000005 000 init 0x08 ready 0x00000108 0x00000800 0x0000073a 0x0000000f 000 ???????? 0xda 0xf281e6e9 0x0000aaec 0x0000aaec 0x08022ef6 134360518 0x00 init 0x00000000 0x00000000 0x00000000 0x00000000 000 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000 = 0x5e 0x2000ad68 0x000056b8 0x000056b8 0x00000000 536893112 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000 = 0x5e 0x2000ad68 0x000056b8 0x000056b8 0x00000000 536893112 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000 = 0x5e 0x2000ad68 0x000056b8 0x000056b8 0x00000000 536893112 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000 = 0x5e 0x2000ad68 0x000056b8 0x000056b8 0x00000000 536893112 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000 = 0x5e 0x2000ad68 0x000056b8 0x000056b8 0x00000000 536893112 0x00 init 0xf7ffedf1 0x00000000 0x00000000 0x08000a2d 000``` 已经使用代码 ```SRAM_Init(); { unsigned char * p_extram = (unsigned char *)STM32_EXT_SRAM_BEGIN; unsigned int temp; rt_kprintf(" mem testing...."); for(temp=0; temp<(STM32_EXT_SRAM_END-STM32_EXT_SRAM_BEGIN); temp++) { *p_extram++ = (unsigned char)temp; } p_extram = (unsigned char *)STM32_EXT_SRAM_BEGIN; for(temp=0; temp<(STM32_EXT_SRAM_END-STM32_EXT_SRAM_BEGIN); temp++) { if( *p_extram++ != (unsigned char)temp ) { rt_kprintf(" memtest fail @ %08X system halt!!!!!",(unsigned int)p_extram); while(1); } } rt_kprintf(" mem test pass!! "); }/* memtest */``` 测试通过,然后就提示hard fault on thread 然后狂提示初始化,请问是什么问题
查看更多
14
个回答
默认排序
按发布时间排序
czkkkcs
2013-04-02
这家伙很懒,什么也没写!
初始化heap ``` rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END); #define STM32_EXT_SRAM 1 //
Begin Address of External SRAM //
Default: 0x68000000 #define STM32_EXT_SRAM_BEGIN 0x68000000 /* the begining address of external SRAM */ //
End Address of External SRAM //
Default: 0x68080000 #define STM32_EXT_SRAM_END 0x68080000 /* the end address of external SRAM */ ```
aozima
2013-04-02
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
[http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=2300#p12408](ARM cortex-M 系列 HardFault的诊断)
czkkkcs
2013-04-03
这家伙很懒,什么也没写!
``` psr: 0x23232323 pc: 0x23232323 lr: 0x23232323 r12: 0x23232323 r03: 0x23232323 r02: 0x23232323 r01: 0x23232323 r00: 0x23032323 usage fault: SCB_CFSR_UFSR:0x04 INVPC ``` 使用的是外部sram 地址是0x68000000 内存从0x68000090以后都是0x23,请问如何解决
aozima
2013-04-03
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
很明显是您的程序跑飞了,您需要从崩溃之前就开始查。
czkkkcs
2013-04-03
这家伙很懒,什么也没写!
我只是将外部的sram用做 ``` rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END); ``` 会不会fsmc的配置问题,同时还有nandflash使用fsmc,会产生冲突吗,可能的问题会在哪里
aozima
2013-04-03
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
您这个涉及到硬件了,所以连您自己都不清楚是硬件还是软件问题,别人怎么可能知道呢? 如果像1楼所示,您可以按fault后给出的信息深入调试(分析fault处的指令及此时寄存器), 像4楼这种信息是没有价值的。
czkkkcs
2013-04-03
这家伙很懒,什么也没写!
我把nand以及文件系统去掉 只使用SRAM是完全正常的,也就是说分开的情况下是好的 一旦外部srma与nandflash同时使用便会出现问题。所以我现在也不知道到底是什么原因
weety
2013-04-03
这家伙很懒,什么也没写!
排查问题得一个一个确认,“一旦外部srma与nandflash同时使用便会出现问题”,这是不是查问题的思路,你这样只是将问题抛给别人了,难道你想不到先测试下外部SRAM吗?
czkkkcs
2013-04-07
这家伙很懒,什么也没写!
上面我已经说过了我的外部sram以及nand单独测试都没问题的
prife
2013-04-07
这家伙很懒,什么也没写!
>上面我已经说过了我的外部sram以及nand单独测试都没问题的 --- 仔细测试排查。weety是高手,说的很对。你这样只是把问题抛给别人了。
撰写答案
登录
注册新账号
关注者
0
被浏览
5.9k
关于作者
czkkkcs
这家伙很懒,什么也没写!
提问
9
回答
22
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Thread 下 Ethernet/IP 的支持
2
使用Env创建RT-Thread标准工程项目
3
profinet从站主线error open adapt
4
2024 RT-Thread睿赛德开发者大会共探商业共赢的开源生态
5
rt-thread 小内存算法源码分析
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
Debug
中断
编译报错
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
21
个答案
3
次被采纳
红枫
8
个答案
2
次被采纳
踩姑娘的小蘑菇
7
个答案
2
次被采纳
三世执戟
9
个答案
1
次被采纳
张世争
7
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
12
次点赞
qq1078249029
2
篇文章
3
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部