OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3397|回复: 6

屡次跑飞,前前后后查了2天,帮忙看看这是什么问题

[复制链接]

4

主题

12

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-9
在线时间
9 小时
发表于 2017-3-9 13:49:40 | 显示全部楼层 |阅读模式
1金钱
不知道到底是哪里出的问题
有动态分配二维数组,开始正常,跑着跑着就飞了,异常中断
0x080001B4 E00A      B        0x080001CC
    94:                 CAR_Check();
0x080001B6 F001FC31  BL.W     CAR_Check (0x08001A1C)
    95:                 CAR_Break_All();
0x080001BA F001FDEA  BL.W     CAR_Break_All (0x08001D92)
    96:                 LED_Display(CAR_DATA_1);
0x080001BE 481E      LDR      r0,[pc,#120]  ; @0x08000238
0x080001C0 6800      LDR      r0,[r0,#0x00]
0x080001C2 F000FB13  BL.W     LED_Display (0x080007EC)
    97:                 delay_ms(10);
0x080001C6 200A      MOVS     r0,#0x0A
0x080001C8 F001FE6F  BL.W     delay_ms (0x08001EAA)
0x080001CC E7F3      B        0x080001B6
0x080001CE 0000      DCW      0x0000
0x080001D0 2020      DCW      0x2020
0x080001D2 2020      DCW      0x2020
0x080001D4 2020      DCW      0x2020
0x080001D6 2020      DCW      0x2020
0x080001D8 2020      DCW      0x2020
0x080001DA 2020      DCW      0x2020
0x080001DC 2020      DCW      0x2020
0x080001DE 2020      DCW      0x2020
0x080001E0 2020      DCW      0x2020
0x080001E2 2020      DCW      0x2020
0x080001E4 2020      DCW      0x2020
0x080001E6 2020      DCW      0x2020
0x080001E8 2020      DCW      0x2020
0x080001EA 2020      DCW      0x2020
0x080001EC 2020      DCW      0x2020
0x080001EE 2020      DCW      0x2020
0x080001F0 419C      DCW      0x419C
0x080001F2 0800      DCW      0x0800
0x080001F4 FEBA      DCW      0xFEBA
0x080001F6 CFC4      DCW      0xCFC4
0x080001F8 AAD6      DCW      0xAAD6
0x080001FA B8BC      DCW      0xB8BC
0x080001FC C2D0      DCW      0xC2D0
0x080001FE CDD0      DCW      0xCDD0
0x08000200 FAB2      DCW      0xFAB2
0x08000202 B7C6      DCW      0xB7C6
0x08000204 D0D1      DCW      0xD0D1
0x08000206 A2B7      DCW      0xA2B7
0x08000208 D0D6      DCW      0xD0D6
0x0800020A C4D0      DCW      0xC4D0
0x0800020C 0000      DCW      0x0000
0x0800020E 0000      DCW      0x0000
0x08000210 B5B3      DCW      0xB5B3
0x08000212 B5B3      DCW      0xB5B3
0x08000214 B5B3      DCW      0xB5B3
0x08000216 B5B3      DCW      0xB5B3
0x08000218 0000      DCW      0x0000
0x0800021A 0000      DCW      0x0000
0x0800021C D7C3      DCW      0xD7C3
0x0800021E D7C3      DCW      0xD7C3
0x08000220 D7C3      DCW      0xD7C3
0x08000222 D7C3      DCW      0xD7C3
0x08000224 0000      DCW      0x0000
0x08000226 0000      DCW      0x0000
0x08000228 EBC2      DCW      0xEBC2
0x0800022A EBC2      DCW      0xEBC2
0x0800022C EBC2      DCW      0xEBC2
0x0800022E EBC2      DCW      0xEBC2
0x08000230 0000      DCW      0x0000
0x08000232 0000      DCW      0x0000
0x08000234 2020      DCW      0x2020
0x08000236 0000      DCW      0x0000
0x08000238 0024      DCW      0x0024
0x0800023A 2000      DCW      0x2000
    31: }
    32:   
    33: void HardFault_Handler(void)
    34: {
    35:   /* Go to infinite loop when Hard Fault exception occurs */
0x0800023C 4770      BX       lr
    36:   while (1)
    37:   {
    38:   }
    39: }
    40:   
    41: void MemManage_Handler(void)
    42: {
    43:   /* Go to infinite loop when Memory Manage exception occurs */
0x0800023E BF00      NOP      
0x08000240 E7FE      B        0x08000240
    44:   while (1)
    45:   {
    46:   }
    47: }
    48:  
    49:   
    50: void BusFault_Handler(void)
    51: {
    52:   /* Go to infinite loop when Bus Fault exception occurs */
0x08000242 BF00      NOP      
0x08000244 E7FE      B        0x08000244
    53:   while (1)
    54:   {
    55:   }
    56: }
    57:   
    58: void UsageFault_Handler(void)
    59: {
    60:   /* Go to infinite loop when Usage Fault exception occurs */

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2013-12-24
在线时间
28 小时
发表于 2017-3-9 13:54:53 | 显示全部楼层
最好进入哪个中断了?我猜是堆栈溢出,或者操作了野指针。
回复

使用道具 举报

4

主题

12

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-9
在线时间
9 小时
 楼主| 发表于 2017-3-9 13:57:02 | 显示全部楼层
这么一大串DCW指令到底执行不执行,DCW前后断点都可以,DCW上打断点无效,直接出现到后边的异常中断中void HardFault_Handler(void)
回复

使用道具 举报

头像被屏蔽

8

主题

95

帖子

0

精华

禁止发言

积分
349
金钱
349
注册时间
2016-12-8
在线时间
88 小时
发表于 2017-3-9 14:21:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-13 21:42:41 | 显示全部楼层
汇编啊???
回复

使用道具 举报

4

主题

12

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-9
在线时间
9 小时
 楼主| 发表于 2017-3-17 15:47:56 | 显示全部楼层

不是,是调试时出现的汇编窗口中,
看自己写的代码,更没法查,根本不知道从哪跳过来的
回复

使用道具 举报

8

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2016-11-19
在线时间
111 小时
发表于 2017-3-17 15:57:41 | 显示全部楼层
要调试追踪看具体是在哪里进入的hardfault
http://blog.sina.com.cn/s/blog_4aa25f130102v0m8.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-23 06:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表