查看: 2399|回复: 2

[MPC] MPC5644A中断问题

[复制链接]

该用户从未签到

7

主题

10

帖子

0

新手上路

Rank: 1

积分
43
最后登录
2015-8-8
发表于 2015-7-13 11:37:12 | 显示全部楼层 |阅读模式
我的工程中MPC5644A的中断使用的中断向量表。在初始化的时候我将中断向量表的基地址赋值给INTC.IACKR.R 寄存器。当我将工程中的一段代码屏蔽的时候,中断向量表的地址在MAP文件中显示地址为00000000  Virtual地址为40000000 ,但是当我将这段代码使能的时候,中断向量表的基地址就变为00000128   Virtual地址为40000128,这段代码是没有问题的。由于使能这段代码,代码中声明的变量就出现在了内存中,就是这几个变量,改变了中断向量表的地址。如果我想让中断向量表的地址始终是0的话,我需要在工程中进行何种设置?
我知道答案 目前已有2人回答

评分

参与人数 1NXP金币 +5 收起 理由
小七 + 5 打赏!

查看全部评分

回复

使用道具 举报

该用户从未签到

0

主题

218

帖子

0

中级会员

Rank: 3Rank: 3

积分
472
最后登录
1970-1-1
发表于 2015-7-14 17:10:52 | 显示全部楼层
这个问题需要检查工程的Linker文件,是否在分配地址的时候有代码放在了中断矢量表之前。通常中断矢量表都是放在0x00000000开始的flash中



MEMORY
{
    /* FLASH: 0x00000000 - 0x001FFFFF */

    /* Fixed location required for RCHW and program entry point.
       Note the 0x0 location is the first address where BAM
       searches for a valid RCHW.
     */
    resetvector:           org = 0x00000000,   len = 0x00000010


....
}


SECTIONS
{
    /* RCHW + application start address, defined in MPC56xx_init_flash.c */
    .__bam_bootarea LOAD (ADDR(resetvector)): {} > resetvector
.....

}
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

10

帖子

0

新手上路

Rank: 1

积分
43
最后登录
2015-8-8
 楼主| 发表于 2015-7-15 10:45:32 | 显示全部楼层
FSL_TICS_Fiona 发表于 2015-7-14 17:10
这个问题需要检查工程的Linker文件,是否在分配地址的时候有代码放在了中断矢量表之前。通常中断矢量表都是 ...

可能放在0x00000000这个地址也行,但是我是讲中断向量表定义在RAM中的。现在问题已经解决了,问题是我在程序中对中断向量表定义的段,没有定义好,没有起到作用,现在这个段已经起到了作用,然后我将这个段放在RAM地址的开头就可以了。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-21 04:24 , Processed in 0.091662 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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