历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2018年10月15日 | STM32F0xx 中断向量表重定义

2018-10-15 来源:eefocus

在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);
}


推荐阅读

史海拾趣

Brand-Rex公司的发展小趣事

除了在欧洲和中国市场取得显著成就外,Brand-Rex还积极拓展全球市场。其亚太区总部设在澳大利亚墨尔本市,大中国区办事处分别设在北京、上海及香港,东南亚办事处设在新加坡。这些布局使得Brand-Rex能够更好地服务全球客户,满足不同地区的市场需求。同时,Brand-Rex还积极寻求与全球知名企业的合作机会,通过战略合作和技术交流不断提升自身的竞争力和创新能力。

综上所述,Brand-Rex在电子行业中的发展是一个充满挑战和机遇的过程。凭借其卓越的技术、优质的产品和全球市场的布局,Brand-Rex不断壮大并成为行业内的佼佼者。未来,随着全球电子行业的不断发展,Brand-Rex有望继续保持其领先地位,并为全球客户提供更加优质的产品和服务。

Foxboro I C T Inc公司的发展小趣事

随着全球市场的不断扩大,Brand-Rex也将目光投向了潜力巨大的中国市场。作为首批进入中国市场的国际一线品牌之一,Brand-Rex凭借其卓越的技术和产品质量迅速赢得了中国客户的青睐。然而,由于公司重组和调整,Brand-Rex在2005年之后暂停了在中国大陆地区的销售。幸运的是,2009年8月,Brand-Rex与上海速越电子工程有限公司合作重返中国市场,进一步推动了其在华业务的发展。

GS Yuasa Battery Sales UK Ltd.公司的发展小趣事

随着全球市场的不断扩大,Brand-Rex也将目光投向了潜力巨大的中国市场。作为首批进入中国市场的国际一线品牌之一,Brand-Rex凭借其卓越的技术和产品质量迅速赢得了中国客户的青睐。然而,由于公司重组和调整,Brand-Rex在2005年之后暂停了在中国大陆地区的销售。幸运的是,2009年8月,Brand-Rex与上海速越电子工程有限公司合作重返中国市场,进一步推动了其在华业务的发展。

Frolyt Condensers & Elements GmbH公司的发展小趣事

在电子元件领域,Frolyt Condensers & Elements GmbH起初是一家专注于电容器研发的小型制造商。2005年,公司研发团队成功开发出一种新型高性能铝电解电容器,该电容器在耐高温、长寿命和低阻抗方面表现出色,迅速吸引了市场的关注。通过持续的技术创新和严格的品质控制,Frolyt的电容器产品在汽车电子、通信设备等多个领域得到广泛应用,公司因此实现了市场份额的快速增长。

Daewoo公司的发展小趣事

在汽车产业领域,Daewoo公司同样取得了令人瞩目的成就。大宇汽车公司作为Daewoo集团的骨干企业,自1983年独立以来,凭借其先进的技术和出色的品质,迅速在韩国汽车市场崭露头角。公司不仅在国内市场表现优异,还积极开拓国际市场,成功将产品出口到世界各地。

Esterline Power Systems公司的发展小趣事

在追求经济效益的同时,Esterline Power Systems也积极履行社会责任,注重绿色环保和可持续发展。公司采用环保材料和生产工艺,降低生产过程中的能源消耗和废弃物排放。此外,公司还积极参与环保公益活动,推动绿色能源的发展和应用。这些举措不仅提升了公司的社会形象,也为公司赢得了更多客户的信任和支持。

问答坊 | AI 解惑

调节阀

在化工生产中,调节阀是直接接触工艺介质的控制机构,本文以工程实际为背景,讨论了调节阀选型的原则,并介绍了在聚甲醛装置中应用调节阀的情况。 工艺简介 云南云天化股份有限公司的聚甲醛装置系国内第一套同类型装置,工艺包从波兰ZAT引进, ...…

查看全部问答>

PADS Power-PCB中文教程!

这是一本难得的中文教程,详细介绍了该软件的使用方法和过程,是学习Power-PCB软件的好教材。…

查看全部问答>

单片机判断交流电动机是否运行

我想用单片机判断  几个220V的交流电动机是否真的运行 或是关闭了  这个电路应该怎么实现   麻烦各位发表下自己的高见。…

查看全部问答>

RockBox on mini2440

My Mini2440 board just arrived. I did copy the file rockbox.mini2440 (the Rockbox firmware which I did build before) to .rockbox folder on SD Card. After inserted the SD Card and turned power on, and waited a few seconds, I had ...…

查看全部问答>

红外线遥控如何该无线遥控

请教大家一个小问题,我有一个红外线遥控MP3 音箱,红外线遥控遇到什么障碍就不听使唤、遥控距离有限,就想把遥控改成无线的,可对无线不怎么董,想请大家帮帮忙。 我在网上找到带PT2272-M4编码器的遥控收发套件,这个能改吗? …

查看全部问答>

FPGA应该从哪起步?希望各位大侠不吝赐教,谢谢

                刚刚开始学习电子设计,明年将参加电子设计大赛,想学一下FPGA,不知从何起步,希望能得到各位大侠的指教,不胜感激!…

查看全部问答>

我的程序总显示黑色,请帮帮我,谢谢。

我编写一个程序显示一个蓝色的矩形,在模拟器下正常实现了,可是到了ARM开发板下就成了黑色,换其他颜色也无效,请教高手是什么原因啊?我用到了SetBkColor( 这个函数好像没有用)。…

查看全部问答>

wince 下用evc来写串口通信。

哪位大虾能发给我个串口通信的实例呀??最好用EVC写的。。感激涕零。\\ 我的邮箱6094189ye@163.com 我看到书上有CSerial 这个类,但STANDARDSDK下面没有这个类呀。。。???…

查看全部问答>

关于楚狂人的驱动开发教程问题,请高手指教

小弟正在学习楚狂人写的window文件系统过滤开发教程,在学习第三章分发例程,fast io 时碰到以下问题: _inline wd_void wd_fio_disp_set_query_standard( wd_drv *driver, wd_fio_query_standard_func func) {     driver->Fa ...…

查看全部问答>

LED实现白光的方法

目前,LED实现白光的方法主要有三种: 1、通过LED红绿蓝的三基色多芯片组和发光合成白光。   优点:效率高、色温可控、显色性较好。   缺点:三基色光衰不同导致色温不稳定、控制电路较复杂、成本较高。 2、蓝光LED芯片激发**荧光粉,由LED ...…

查看全部问答>