如何排查程序的Hard fault错误.pdf

所需积分/C币:8 2019-09-05 368KB PDF
评分

资料介绍如何排查keil在使用过程中遇到的硬件错误。过程整理较详细
3分析问题 查看map文件找到栈的位置。 L HID.EaD 1127 STACK 0X2D00生30secT1。n 102生 startup strm32rxx.(sT身CK) 1129 1131 Value Ov Type Size object(Section) 1132 113 BuilcAttributesSS THM ISAv4SPSDSKS BSSSPESA: L22UL41UL21 X: L11SS22U541US21IEEE1SIUSUSESV6SMSTKCKDSUSESV7Sws 0x00000000 Number 0 main0 ABSOLUTE cpn initialize aeahl Indletined hea k Reterence 1136 cxa finalize Undefined Weak Reference 1137 c lock init Undefined Weak Referance ri〓xo⊥ 1o exit Undefined beak Reference 1139 Vectors size 0x0000015a Number J startup stm foxx. O ABSCLUTE 1140 VeCtors ox08000000 Data 4 startup scm3 2IOXXO(RESET) 1141 Vectors End B000158 Dat o startup stm foXx,O(RESET) na⊥m 0x0800015b Thumb Code o entry. o( ARM Collects$$00000 1143 main stk 0xo800015b Thumb Code 0 entry2 o(iRM. Collectssss00000001 1144 main scatterload Ox0800015f Thumb Code entry5,o(,ARI, Collect氵♀♀ 打开保有的bin文件,找到进入硬件中断前调用了哪些函数,在使用哪个变量,然后逐 分析 品D= Progr 回 C AsCII 9Q4Dge600B0回日 日日4G四日四g 1111NMLML MM1LM1ML1w1I 2日日4日回回的回国日团回日日 四n 2855晒日 因国国g z地w啊 H HHMHWMH L1HHMHVM HVMHHV山 IH HMMMMMHH lie, D: \Program Files\SEGGER\Link_9502c IRam bin 回区 Ades:w2000000×1x2 Address SCII zuu? Ca 00000000 00000000 00000000 00000000∴∴ 287D9gg0g909g0g996ggg8.... 2860686880086680808060FF1 289981日68g8984989882日 6 FFFFFFR1。 28828880589E4808841848008884880428H..H 2983因20008g0d85pD6100g1F∴ P 2809848898998B4888988Q885BE4)898-. 28085688868680868826cg8∴..1. 280186401018(8559865BE4FFFp巴.J..[. 266878482268CDEF9AB86888218 289988日89888251F回8251E818888..z。-. 260898 〗秒¢8B四g四...。 20998A日8999g989g99g9898日9999日9 2898B0g889889889889g9g99988999ag 268c86BB6bB∴∴ 26608D60066090000080900668 2的8En!9989ggg998日9g 从栈的底部往上看,哪个地方的值是函数指针,然后对应lst文件去逐一查看,分析,就 能大致知道是在执行哪个函数,哪一条指令,或者是调用某个参数导致的硬件屮断错误的。 通过map文件可以知道每个变量的位置,可以直接去查看我们保存下来的ram中变量的当 前情况来分析程序逻辑 Jlink command使用方法: Firmware info用来查看Jnk的硬件版本 J-Link》f Firmware: J-Link 09 compiled Sep 18 2015 19:53: 12 Hardware: U9.20 h hat用来停止McU内核,可以查看内核的PC指针等特殊寄存器 J-Linkh PC=08000D7C, Cycle Cnt F39B01CC RE=60881,R1=88881,R2=g881F,R3=因888883 4=4888,H=8885BE4.B6=6888B.R?=8888B R8=96,R9=268816c,RB=808086,R11=B00800 R12=808g88 sPH3)=288868,NSP=208868,PSP=289888,R4(LR)=8891A4D XPSR=2100001F: APSR n2 Cvg, EPSR =01000000, IPSR=01F (INTISR15 CFBP=00000000. CONTROL-00, FAULTMASK=00.BASEPRI-00, PRIMASK=00 g go用来激活被halt的内核 Sleep Waits the given time( in milliseconds). Syntax:S|eep< delay>用来延时 s Single step the target chip单步调试代码,可以先执行hat,然后再来单步调试 Linkyhalt PC=08000D7C, Cycle Cnt=A970C614 R=8090891,R1=日88901,R2=60081F,R3=60809083 R4=4099.R5=895BE4R6=99909,R?=889的8 R8=BB8809BB=288916C,R1因=B8BBB,R1=88898B R12=989 sP(R13)=2800868,MsP=2000868,PSP=2080,R4LR)=81A4D PSR=21888日1F:PSR= nz Gvg,EPSR=团EU,IPSR=团1F( INTISR15〉 FBP 00000000. CONTROL 00. FAULTMASK 06. BASEPRI 06. PRIMASK 50 -Link>s 08000D7G: FE E? B #-0x04 Show hardware status显示Jink当前状态 Link>st TArget=3.285V Target=GmA TCK=0 TDI=0 TDo=0 TMS=1 TRES=1 TRST=g Supported target interface speeds: 12 MHz/n. (n>=1>.=>12000kHz. 6550kHz. 4000kH2 Adaptive clocking -Link> hwinfo show hardware info显示川ink的硬件信息 memm Read memory. Syntax: mem [<Zone>: ]<Addr, <Num Bytes>(hex) mems Read 8-bit items. Syntax: mems [<Zone>: ]<Addr>, <Num Bytes>( hex) mem16 Read 16-bit items. Syntax: mem16 [<Zone>: <Addr>, <Numltems> hex mem32 Read 32-bit items. Syntax: mem 32 [<Zone>: ]<Addr>, <Numltems>(hex) 读取指令: Link>mem x8000000 20 8998=98的8B28?1明985FBE987DgDg8 81=5D症81528FB1D J-Link>mem8 0x8000000 2 68000000=90 - Link>mem16 0x80000g0 2 889g8=因89829 J-Link>mem32 x8000000 2 98500006=20906890 08609171 J-Link> w1 Write 8-bit items. Syntax: w1 [<Zone>: ] <Addr, <Data>(hex) w2 Write 16-bit items. Syntax: w2 [<Zone>: <Addr>, <Data>(hex) w4 Write 32-bit items. Syntax: w4 [<Zone>: ]<Addr>, <Data>(hex) 写指令: J-Link>v2 x20000000 55 Priting 0055 ->20006006 J-Link>mem16 0x20000000 2 cg=5517 Link>v4 0x20000000 5566 iting國885566->2p Link>mem 32 0x20000000 2 2gggg=9955668488 J-Link> erase Erase internal flash of selected device, Syntax Erase 擦除指令,先选定器件然后再来执行擦除 Link>device stm32f100c8 In£o: Device ' sTM32F1ggc8… selected Reconnecting to target Info: Found SwD-DP with ID Gx1BA0147? Info: Found swD-DP with ID 0x1BA01477 Info: Found Cortex-M3 r2p1, Little endian Info: FPUnit: 6 code <BP> slots and 2 literal slots Info: CoreSight components: Info: ROMTbl 0 C E0OFF00G In£o= ROMTH1日[因]: FFFUF日E,CID:B1日5EED,PID:日日 gBB00E SCS Info: ROMTbl 0 [1]: FFF02000. GID: B105EGOD. PID: 003BB002 DWT Info: ROMTb1 0 [2]: FFF03000. CID: B105EOQD. PID: 002BB003 FPB Info: ROMTbl 0 [3]: FFF01000. CID: B105EOOD. PID: 003BB001 ITM Info: ROMTbl 0 [4]: FFF41000, GID: B105900D, PID: 003BB923 TPIU-Lite Link>erase Erasing device <sTM32.F100C8> Info: J-Link: Flash download: only internal flash banks will be eras To enable erasing of other flash banks like QSPI or CFI, it needs to ia exec Enabe EraseAllflas hAnks Info: J-Link: Flash down load: Total time needed: 4.503s <Prepare:1 e: 0.000s, Erase: 1.797s, Program: 0.000s, Verify: 0.000s, Restore: Erasing done Link> loadfile Load data file into target memory Syntax: loadfile <filename>, [<addr>] Supported extensions: * bin mot hex, *srec addr> is needed for bin files only.//用来下载文件 loadbin Load bin file into target memory syntax: leadin< sfilename>,<addr>/用来下载bin文件 saverin Saves target memory into binary file./用来保存bin文件 Syntax: savebin <filename>, <addr>, Num bytes> SetPc Set the PC to specified value. Syntax: SetC<Addr>/)来设置Pc指针,可以让程 序从某个地方开始执行

...展开详情
立即下载 最低0.43元/次 身份认证VIP会员低至7折
举报 举报 收藏 收藏
分享
8KB
首钢公司双控系统(隐患排查)自动排查程序

这是一个简陋的“首钢公司双控系统(隐患排查)自动排查程序源代码”框架,分享给同样被这个每天点勾系统折磨的同事们。2019-1-30日测试代码从打开到关闭浏览器整体可用。 整体思路就是使用webdriver与pyautogui结合,实现全程隐患排查的操作。 根据电脑不同需要修改的东西很多:1.账号、密码 2.对应按钮截图放在C:/a/文件夹或改程序中的路径 3.我的电脑分辨率为1600*900,如果您的电脑跟我的不一样,需要修改图像识别的region区域,或者直接删除region参数 需要的支持库等:webdriver/lxml/time/pyautogui

2019-01-30 立即下载
51.55MB
校园疫情健康排查程序

校园疫情健康排查,可导出表格,能力有限版本比较简单,欢迎各位大佬二次开发,学习交流联系方式见博客。解压直接导入微信开发者工具即可,部署见博客。

2020-05-20 立即下载
107.59MB
Java程序性能优化

《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM调优以及程序故障排斥等方面介绍针对Java程序的优化方法。第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具。

2018-11-06 立即下载
105.56MB
java程序性能优化-让你的java程序更快、更稳定

Java是目前应用为广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的知识与技巧。   《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM调优以及程序故障排斥等方面介绍针对Java程序的优化方法。第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JV

2018-04-25 立即下载
30KB
网络故障排查步骤和方法,教你怎么排查网络问题

网络排查步骤和方法。很多人都会遇到各种网络的问题,在这里教你怎么排查网络的基本的故障,让你不再迷惑。 觉得好的就下吧。

2009-03-06 立即下载
19KB
常用表格\隐患排查记录表

常用表格\隐患排查记录表

2012-11-22 立即下载
1.17MB
centos6系统故障分析与排查

系统故障分析与排查

2017-07-21 立即下载
1.15MB
IT安全隐患排查系统

安全隐患排查系统解决方案

2016-10-24 立即下载
277KB
断网排查思路

断网排查思路 看看你们需要不 这是个思维图 可以帮你们想些没想到的

2014-03-31 立即下载
61KB
linux服务器应用卡死性能问题排查

linux服务器应用卡死性能问题排查,超级实用,分享给大家

2019-01-22 立即下载
751KB
各种网络问题排查思路

如何通过在windows系统和linux系统下听过一些测试命令的状态返回吗来判断网络状况是解决网络故障的最好方法

2019-01-25 立即下载
38KB
企业复工人员排查情况统计表.doc

企业复工人员排查情况统计表,疫情即将结束,一些即将开工的企业中的朋友也许会用到这个表格,可以参考一下

2020-02-25 立即下载
1.66MB
淘宝换图防排查全自动软件

淘宝换图软件,防止淘宝排查,手机主图和电脑主图不一样。

2018-09-14 立即下载
8.12MB
LTE干扰专项排查指导书

LTE干扰专项排查指导书TD-LTE网络干扰分内部干扰和外部干扰,内部干扰主要包括:GPS失步、超远覆盖、参数异常,外部干扰主要包括:其他制式网络(GSM、DCS、FDD-LTE、PHS等)干扰、屏蔽器干扰等。目前中移动LTE网络使用F、D、E频段,各频段常见干扰情况不同,

2017-11-13 立即下载
1KB
opencv 宫颈癌细胞排查

基于液基宫颈癌早期排查程序,4倍镜下面快速定位到异常细胞

2014-08-01 立即下载
2.72MB
tiny4412裸机相关程序

tiny4412裸机相关程序 : 1、汇编点亮LED灯 2、关闭看门狗和调用C程序 3、设置栈和C语言点亮LED 4、控制icache 5、重定位代码到IRAM+0x8000 6、重定位代码到DRAM 7、重定位到DRAM及LCD实验 8、串口排查驱动原因及字符图片显示

2014-07-07 立即下载
411KB
Linux挖矿病毒排查分析

文中只列出排查思路,及解决办法,同时提出了redis的安全加固等。 为企业做信息安全事件贡献自己的一份力量。

2019-01-31 立即下载
22KB
如何排查weblogic内存不足

排查weblogic内存不足,此文档为本人根据日常工作总结所得

2018-05-07 立即下载
86KB
Java线程CPU占用高原因排查方法

Java线程CPU占用高原因排查方法,Java线程CPU占用高原因排查方法

2018-05-27 立即下载
4.45MB
调试九法 软硬件错误的排查之道

调试九法 软硬件错误的排查之道 主要介绍了几种常用的软硬件调试方法

2018-04-25 立即下载
img
m0_38046092

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐