该函数的意义是设置向量表的起始地址,并指示使用的是Flash中的向量表。

在ARM Cortex-M架构中,向量表是一个存储中断向量地址的表格,用于存储处理器所支持的所有中断的处理函数的入口地址。当发生中断时,处理器会从向量表中找到对应中断的入口地址,并跳转到该地址执行中断处理函数。

nvic_vector_table_set函数的参数NVIC_VECTTAB_FLASH表示使用Flash中的向量表。0x10000是向量表的起始地址,表示向量表存储在Flash的0x10000地址处。

调用其他程序的过程如下:

  1. 程序首先需要将中断处理函数编写并存储在向量表的相应位置。
  2. 调用nvic_vector_table_set函数,将向量表的起始地址设置为0x10000。
  3. 当发生中断时,处理器会自动从向量表中找到对应中断的入口地址,并跳转到该地址执行中断处理函数。由于向量表的起始地址被设置为0x10000,因此处理器会从Flash的0x10000地址处读取中断处理函数的入口地址,并跳转到该地址执行中断处理函数。

需要注意的是,设置向量表的起始地址可能需要特殊的权限或特定的硬件支持,具体取决于所使用的处理器和开发环境

该nvic_vector_table_setNVIC_VECTTAB_FLASH 0x10000;的意义以及其调用其他程序的过程

原文地址: https://www.cveoy.top/t/topic/iifZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录