查看: 7876|回复: 25

[其他] 进Cpu_ivINT_Hard_Fault中断是怎么回事

[复制链接]

该用户从未签到

9

主题

47

帖子

0

注册会员

Rank: 2

积分
140
最后登录
2015-6-29
发表于 2015-6-19 15:40:08 | 显示全部楼层 |阅读模式
本帖最后由 zonaZ 于 2015-6-19 15:45 编辑

如题,环境KDS3,CPU KL02,PE生成代码
进入函数:
PE_ISR(Cpu_ivINT_Hard_Fault)
{
  /* This code can be changed using the CPU component property "Build Options / Unhandled int code" */
  PE_DEBUGHALT();
}

stack信息
Thread #1 <main> (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)        
        Cpu_ivINT_Hard_Fault() at F:\...\Generated_Code\Cpu.c:324 0x401c        
        <signal handler called>() at 0xfffffff1        
        AdcLdd1_GetMeasuredValues() at F:\...\Generated_Code\AdcLdd1.c:418 0x3984        
        AdcLdd1_OnMeasurementComplete() at F:\...\Generated_Code\Moto_FB_AD.c:349 0x5484        
        0x0        


难道是程序太大了?

求指点,谢谢~~!!
再来一次,还是进这个int,stack变了
iLock.R0C.elf        
        Thread #1 <main> (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)        
                Cpu_ivINT_Hard_Fault() at F:\...\Generated_Code\Cpu.c:324 0x401c        
                <signal handler called>() at 0xfffffff1        
                AdcLdd1_CreateSampleGroup() at F:\...\Generated_Code\AdcLdd1.c:365 0x3910        
                Moto_FB_AD_HWEnDi() at F:\...\Generated_Code\Moto_FB_AD.c:159 0x538e        
                Moto_FB_AD_Start() at F:\...\Generated_Code\Moto_FB_AD.c:194 0x53d0        
                MainHeartTimer_TI1_OnInterrupt() at F:\...\Sources\Events.c:78 0x1162        
                TimerIntLdd1_OnInterrupt() at F:\...\Generated_Code\MainHeartTimer_TI1.c:107 0x532c        
                TU2_OnCounterRestart() at F:\...\Generated_Code\TimerIntLdd1.c:177 0x5974        
                TU2_Interrupt() at F:\...\Generated_Code\TU2.c:211 0x58fe        
                <signal handler called>() at 0xfffffff9        
                <...more frames...>   
有时候有可以运行,...咋回事啊
我知道答案 目前已有25人回答
回复

使用道具 举报

该用户从未签到

9

主题

47

帖子

0

注册会员

Rank: 2

积分
140
最后登录
2015-6-29
 楼主| 发表于 2015-6-19 15:43:48 | 显示全部楼层
本帖最后由 zonaZ 于 2015-6-19 15:46 编辑

合并到首帖,这里编辑掉
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-6-19 16:38:56 | 显示全部楼层
zonaZ 发表于 2015-6-19 15:43
合并到首帖,这里编辑掉

楼主你都加了什么PE模块?
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-6-19 16:42:05 | 显示全部楼层
你可以根据这个帖子看看到底什么代码导致进入hardfault:
【经验分享】CW10.x编译环境查找HardFault异常原因
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

47

帖子

0

注册会员

Rank: 2

积分
140
最后登录
2015-6-29
 楼主| 发表于 2015-6-19 16:48:17 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-6-19 16:38
楼主你都加了什么PE模块?

加了好多,不过这里看到的都是ADC中断时候出错...不过这可能不说明啥
我已经吧不用的中断分开,出问题时候总是进ivINT_Hard_Fault的
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-6-19 16:49:01 | 显示全部楼层
另外,楼主你查看看你生成的代码的flash大小,RAM大小和你的实际芯片是否匹配。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-6-19 16:58:01 | 显示全部楼层
zonaZ 发表于 2015-6-19 16:48
加了好多,不过这里看到的都是ADC中断时候出错...不过这可能不说明啥
我已经吧不用的中断分开,出问题时候 ...

你按照4楼查看看,是不是ADC中断向量号不对。
你把ADC中断去掉看看还进不进。
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

47

帖子

0

注册会员

Rank: 2

积分
140
最后登录
2015-6-29
 楼主| 发表于 2015-6-19 16:58:25 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-6-19 16:49
另外,楼主你查看看你生成的代码的flash大小,RAM大小和你的实际芯片是否匹配。 ...

'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "iLock.R0C.elf"
   text           data            bss            dec            hex        filename
  23912             32           3940          27884           6cec        iLock.R0C.elf
'Finished building: iLock.R0C.siz'

这样算匹配么.,Flash最后1k我做eep用了,在PE里配置的.
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

47

帖子

0

注册会员

Rank: 2

积分
140
最后登录
2015-6-29
 楼主| 发表于 2015-6-19 17:10:33 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-6-19 16:58
你按照4楼查看看,是不是ADC中断向量号不对。
你把ADC中断去掉看看还进不进。 ...

不会吧,PE生成代码还有这种错误?之前ADC部分已经调试过了正常的...
现在偶尔可以进行下去,进行下去的时候就是正常的,等下我再跳进去时候看看...
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-6-19 17:10:41 | 显示全部楼层
zonaZ 发表于 2015-6-19 16:58
'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "iLock.R0C.elf"
   text         ...

你之前不加ADC是没有问题的对吗?
你的问题应该不是flash大小不匹配。
flash大小定义,你要查看link文件,在project_setting ->link files里面
MEMORY {
  m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000C0
  m_text      (RX) : ORIGIN = 0x00000410, LENGTH = 0x00007BF0
  m_data      (RW) : ORIGIN = 0x1FFFFC00, LENGTH = 0x00001000
  m_cfmprotrom  (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-12 22:38 , Processed in 0.107362 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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