历史上的今天
今天是: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);
}
史海拾趣
|
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编码器的遥控收发套件,这个能改吗? … 查看全部问答> |
|
我编写一个程序显示一个蓝色的矩形,在模拟器下正常实现了,可是到了ARM开发板下就成了黑色,换其他颜色也无效,请教高手是什么原因啊?我用到了SetBkColor( 这个函数好像没有用)。… 查看全部问答> |
|
哪位大虾能发给我个串口通信的实例呀??最好用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实现白光的方法主要有三种: 1、通过LED红绿蓝的三基色多芯片组和发光合成白光。 优点:效率高、色温可控、显色性较好。 缺点:三基色光衰不同导致色温不稳定、控制电路较复杂、成本较高。 2、蓝光LED芯片激发**荧光粉,由LED ...… 查看全部问答> |




