stm32 hal库iap程序心得分享

发布于 2021-03-17 16:23:25

在void SystemInit(void)中 添加
SCB->VTOR = FLASH_BASE | (VECT_TAB_OFFSET|0x4000);
然后有个大坑,iap 的boot中你用到的外设,在进入app后,需要HAL_UART_MspDeInit一下。
一天时间。。。。。

int rtthread_startup(void)
{
    UART_HandleTypeDef huart;
    huart.Instance = USART2;
    rt_hw_interrupt_disable();
    SCB->VTOR = FLASH_BASE | 0X4000;
    __enable_irq();
    __set_PRIMASK(0);
    HAL_UART_MspDeInit(&huart);
    。。。。。
    }

在keil的link标签下,修改sct文件

LR_IROM1 0x08004000 0x000B0000  {    ; load region size_region
  ER_IROM1 0x08004000 0x000B0000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x0001fff0  {  ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM2 0x2001fff0 UNINIT 0x00010  {  ; RW data
   .ANY (NO_INIT)
  }
}

查看更多

关注者
0
被浏览
186
1 个回答
e_donkey
e_donkey 2021-03-17

另外这里面很多文章搜索不方便,不如论坛方式,或者怎么能全局搜索,吐槽一下。
很多问题,都是简单说一嘴,然后花时间搜他们在说什么。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览