STM32F0xx 中断向量表重定义

发布者:Radiant777最新更新时间:2018-10-15 来源: eefocus关键字:STM32F0xx  中断向量表  重定义 手机看文章 扫描二维码
随时随地手机看文章

在STM32F103等cortex-m3/m4内核的单片机上可以通过设置SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;该寄存器的值来实现中断向量表的重定义。但在STM32F0xx系列以cortex-m0为内核的单片机中却怎么也找不到这个设置中断向量表的寄存器,可以通过以下方法来实现中断向量表重定义。 

基本思想:

1、将中断向量表放入到RAM的起始地址(只需要在应用程序中保留RAM其实地址的0x100大小不使用即可)。

2、在bootload中将应用程序的中断向量表从Flash中拷贝到SRAM中。

3、复制STM32F0 中断向量表位于SRAM中

具体实现代码如下:

 

static void JumpToApp(void)
{
  ApplicationAddress = APP_FLASHADDR;
  if (((*(uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
  {
    
    m_JumpAddress = *(uint32_t*) (ApplicationAddress + 4); 

 
    JumpToApplication = (FunVoidType) m_JumpAddress;

    
    __set_MSP(*(uint32_t*) ApplicationAddress);
    JumpToApplication();
  }
}

int main(void)
{
  memcpy((void*)0x20000000, (void*)APP_FLASHADDR, 0x100);
  SYSCFG->CFGR1 |= 0x03;
 
  JumpToApp();
  while (1);
}


关键字:STM32F0xx  中断向量表  重定义 引用地址:STM32F0xx 中断向量表重定义

上一篇:STM32,KEIL,MDK新建一个工程
下一篇:STM32RTC安装电池后掉电不走时原因与处理

推荐阅读最新更新时间:2024-03-16 16:16

STM32F0xx_DMA收发USART数据配置详细过程
前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下。有网友要求在F0讲解一下使用DMA收发串口数据。今天就应网友要求总结一下在F0芯片上,使用DMA方式传输(收发)USART数据的功能。 在多种芯片上(F0、F1、F2、F3、F4)了解过DMA模块功能的朋友可能会发现一个特点,就是DMA的功能有很多相似的地方,甚至是一样。其实,每一个模块在不同系列芯片(甚至不同厂商)基本上是大同小异,这就是所谓的触类旁通。对于软件开发也是一样的,当你学会某一项语言的开发,接触其他语言的开发就很容易了。这里我想说,其实我对ST大部分芯片(全系列芯片STM8、STM32)
[单片机]
STM32F0xx_DMA收发USART数据配置详细过程
高通定义新规范,PA市场洗牌
就像PC主板上的规范都是由英特尔主导,外围器件厂商必须分秒跟随一样,现在高通成为WCDMA手机主板上规范的制定者,外围芯片厂商必须跟随他玩才能获得市场。而高通每一次的新规格发布,就会导致手机厂商/设计公司重新选择新的外围器件,也就导致了外围芯片供应格局的变化。 PA(功率放大器)是手机中除主芯片外最重要的外围器件,也是手机功耗、面积的消耗大户,特别是在3G多频段多模式的手机中,需要多块PA。高通去年对WCDMA线性PAM 规范进行了新的定义,要求由原来的4X4规格变成3X3,并且能通过两个数位控制高中低三种状态的功率级,以达到最佳功效,而之前则是一个数位控制高低两个状态。3X3规格将是未来1-2年的主流尺寸。
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved