如何在APP(Stm32f4 HAL)中更改SCB->VTOR? [英] How to change SCB->VTOR in app (stm32f4 HAL)?
本文介绍了如何在APP(Stm32f4 HAL)中更改SCB->VTOR?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在main()的开头调用了SCB->VTOR=0x8040000,但它不起作用。BOOTLOADER USER APPLICATION
推荐答案
启动代码在main()
之前调用SystemInit()
。SystemInit()
设置SCB->VTOR
值(以及其他内容)。SystemInit()
在厂商提供的文件system_stm32f4xx.c
中实现。您可以通过编辑VECT_TAB_OFFSET
的值来自定义分配给SCB-VTOR
的值,system_stm32f4xx.c
中也定义了该值。(您的项目文件夹中应该有system_stm32f4xx.c
的副本,您可以为您的项目自定义该副本。)
VECT_TAB_OFFSET
值,则可以使用如下预处理器语句。(这允许引导程序和应用程序使用system_stm32fxx.c
的相同副本。或者,您可以为每个程序使用不同的文件副本。)
#ifdef BOOT
#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field.
This value must be a multiple of 0x200. */
#else
#define VECT_TAB_OFFSET 0x80000
#endif
这篇关于如何在APP(Stm32f4 HAL)中更改SCB->VTOR?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文