stm32 怎么样把部分中断处理函数放入ram中 keil STM32F+keil 让程序在内部ram中运行有没有什么简...

STM32 KEIL C\u5982\u4f55\u5728RAM\u4e2d\u8c03\u8bd5FREERTOS?

\u8fd9\u9700\u8981 \u52a0\u5165\u5411\u91cf\u8868\u7684\u5b9a\u4e49\uff1b

\u52a0\u5165\u8fd9\u6bb5\u8bdd
#ifdef VECT_TAB_RAM
/* Set the Vector Table base location at 0x20000000 */
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //\u5411\u91cf\u8868\u4f4d\u4e8eRAM
#else /* VECT_TAB_FLASH */
/* Set the Vector Table base location at 0x08000000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); //\u5411\u91cf\u8868\u4f4d\u4e8eFLASH
#endif

\u4e5f\u53ef\u4ee5\u76f4\u63a5\u5199\u5165\uff1b
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //\u5411\u91cf\u8868\u4f4d\u4e8eRAM

\u795d\u4f60\u6210\u529f\uff01

STM32F1_\u5916\u90e8SRAM\u4f5c\u4e3a\u8fd0\u884c\u5185\u5b58\uff1a
http://blog.csdn.net/ybhuangfugui/article/details/51477977

有个比较笨的办法,先确定函数在flash中的位置和size ,然后在ram空间中定义一片相同size的区域,记下起始地址,然后在启动的时候写一段程序吧flash中的数据写入到ram中,然后在程序中用函数指针调用ram中函数的地址(还要记得+1,thumb态),这样就应该能实现函数在ram中运行了。

扩展阅读:stm32为什么不建议学 ... stm32中断详解 ... 嵌入式stm32项目实例 ... stm32中断全过程步骤 ... stm32哪个部分难学 ... stm32进中断怎么进 ... 如何给32单片机按键消抖 ... stm32 共用外部中断 ... 51单片机难还是stm32难 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网