为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

中断向量表重映射与复制

2012-08-13 2页 pdf 58KB 34阅读

用户头像

is_333085

暂无简介

举报
中断向量表重映射与复制 中断向量表重映射与复制 关键字:中断向量表重映射,中断向量表复制,建立多个 KEIL 工程,多个 MAIN 函数 一、为什么要做中断向量表的重映射? 对于 LPC2XXX 系列芯片: 当程序中用到中断的功能时,在产生中断后,处理器会将会跳到处理中断的地址处去执 行。而在产生中断后处理器首先会跳到指定的地址处。 这个指定的地址只有三个地方:Boot ROM 区,内部 FLASH 区的 0x00000000 地址处,或 者内部 SRAM 区的 0x40000000 地址处。(若是 LPC2378,则还有一个用户外...
中断向量表重映射与复制
中断向量重映射与复制 关键字:中断向量表重映射,中断向量表复制,建立多个 KEIL ,多个 MAIN 函数 一、为什么要做中断向量表的重映射? 对于 LPC2XXX 系列芯片: 当程序中用到中断的功能时,在产生中断后,处理器会将会跳到处理中断的地址处去执 行。而在产生中断后处理器首先会跳到指定的地址处。 这个指定的地址只有三个地方:Boot ROM 区,内部 FLASH 区的 0x00000000 地址处,或 者内部 SRAM 区的 0x40000000 地址处。(若是 LPC2378,则还有一个用户外部存储器区域) 那么产生中断后它到底会跳到哪个地址,就要看存储器映射控制寄存器(MEMMAP-0XE01FC040) 的位 1:0(MAP)的值, 默认值为 00,这时中断向量被重新映射到 Boot ROM 区, 当为 01 时,则中断向量位于 FLASH 中也就是地址 0x00000000 处, 当为 10 时,则中断向量被重新映射到 SRAM 中,地址为 0x40000000, 当为 11 时,为用户外部存储器模式。 二、什么时候需要做向量表重映射? 1、当工程中编写的中断向量表在内部 FLASH 中 0x00000000 处时,则需要重新映射, 映射:只需要将 MEMMAP 的 1:0 位的值设为 01 即可; 2、当中断向量表在 SRAM 中时,则需要重新映射, 映射方法:只需要将 MEMMAP 的 1:0 位的值设为 10 可; 三、什么时候需要做中断向量表的复制? 当中断向量表放在内部 FLASH 中,而且起始地址不是 0x00000000 时,此时如果程序 运行后产生中断,则中断向量找不到处理中断的地址,这时候就会出错。解决方法: 1、 假设中断向量表被指定放在 FLASH 中的 0x00030000 处,若要正确产生中断向量处理, 则需要中断向量复制到 SRAM 并重新映射; 2、 步骤 1: 因为 LPC2XXX 有 8 个异常向量(具体异常类型在芯片相关文档中有说明)每 个异常向量占 4 个字节,也就是 32 位,故先定义一个指向中断向量表的首地址的指针: unsigned int *vptr = (unsigned int *) 0x00030000; unsigned int *vsram = (unsigned int *) 0x400000000; 3、 步骤 2:复制向量表 int I; for (i=0;i<32;i++) { *(vptr+i)=*(vsram+i); } 4、 步骤 3:重新映射向量表 #define MEMMAP (*(volatile unsigned long *)(0xE01FC040)) //寄存器地址定义 MEMMAP = 0x2 //重新映射向量表到 SRAM 中 中断产生后,将到 SRAM 的 0x40000000 地址处执行中断向量表。 5、 完成。 四、使用中断向量表复制与重映射有什么用途? 1、使用中断向量表与重映射可以建立两个或者两个以上的独立工程(多个 main 函数); 2、与分散加载文件配合使用,可以在同存储芯片中存储多个可独立运行的代码; 3、利用上述方法可实现任意升级代码区的功能; 4、建立多个工程存放到同一芯片中运行,可增加 RAM 的使用率。
/
本文档为【中断向量表重映射与复制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索