野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 27041|回复: 3

关于向量表偏移的问题

[复制链接]
发表于 2013-12-15 13:22:55 | 显示全部楼层 |阅读模式
[code=c]#ifdef VECT_TAB_SRAM
  SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
#else
  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
#endif[/code]


在上面的代码中一个是将中断向量表重定义到 SRAM中,一个是重定义到 Flash中,但设置偏移量是什么意思,为什么要偏移?偏移的大小是 0x0200的整数倍我知道,就是不明白偏移的作用
回复

使用道具 举报

发表于 2013-12-15 13:46:16 | 显示全部楼层
这里 仅仅 定义了 SRAM 和 FLASH 的基地址,实际上 中断向量表 不一定是 就是 这些基地址的开头,允许 偏移 4 的整数倍,例如 我从 Flash 基地址 + 0x100 后面 才是 中断向量表,那就偏移为 0x100
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-15 15:45:36 | 显示全部楼层
fire 发表于 2013-12-15 13:46
这里 仅仅 定义了 SRAM 和 FLASH 的基地址,实际上 中断向量表 不一定是 就是 这些基地址的开头,允许 偏移 ...

     那前面的那些空间是留作什么用的呢?
回复 支持 反对

使用道具 举报

发表于 2013-12-15 19:52:42 | 显示全部楼层
学习了,不错,讲的太有道理了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 11:24 , Processed in 0.026041 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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