[STM32F4] App地址偏移后,freertos直接跳入hardfault

[复制链接]
地瓜patch 发表于 2025-8-21 14:47 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 地瓜patch 于 2025-8-21 14:51 编辑

功能测试完成后,写了个boot升级程序。将app地址偏移了0x4000后,freertos直接跳入hardfault。
6739768a6c1c4cb4e2.png


void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)
{
  /* Check the parameters */
  assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
  assert_param(IS_NVIC_OFFSET(Offset));  
   
  SCB->VTOR = NVIC_VectTab | Offset;
}
#define CLI() __set_PRIMASK(1)
#define SEI() __set_PRIMASK(0)




int main(void)
{
  /* USER CODE BEGIN 1 */
        SEI();                                               
        NVIC_SetVectorTable(FLASH_BASE, 0x4000);       
  /* USER CODE END 1 */
  /* MCU Configuration--------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
.......
}


没有boot程序,没有偏移时跑freetrtos程序正常。



您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1800

主题

14824

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:出一块TI-PLABS-AMP-EVM

1800

主题

14824

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部