你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G4 如何把BOOT0当作通用GPIO使用----软件配置方法

[复制链接]
zxd121 提问时间:2021-6-11 17:33 / 未解决
MyType mysymbol;
/* USER CODE END 0 */
FLASH_OBProgramInitTypeDef    OBInit;

int main(void)
{

  HAL_Init();

  /* USER CODE BEGIN Init */
   HAL_FLASH_Unlock();
         HAL_FLASH_OB_Unlock();
         HAL_FLASHEx_OBGetConfig(&OBInit);
         OBInit.OptionType = OPTIONBYTE_USER;
         OBInit.USERType   = OB_USER_nBOOT0;
         OBInit.USERConfig = OB_nBOOT0_SET;
         HAL_FLASHEx_OBProgram (&OBInit);
         OBInit.OptionType = OPTIONBYTE_USER;
         OBInit.USERType   = OB_USER_nSWBOOT0;
         OBInit.USERConfig = OB_BOOT0_FROM_OB;
         HAL_FLASHEx_OBProgram (&OBInit);
         HAL_FLASH_OB_Lock();
         HAL_FLASH_Lock();
        //这段代码的功能:重新定义BOOT0,BOOT0的数据不在从外部PIN获取,而是从内部nSWBOOT0+NBOOT0获取,当前定义,BOOT from Main Flash ;
  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */
  EventRecorderInitialize(EventRecordAll,1U);
        EventRecorderStart();     //这段代码使能EVENTRECORDER ,可以使用没有SWO口的ST Link  做打印debug ;
  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_TIM1_Init();

收藏 评论1 发布时间:2021-6-11 17:33

举报

1个回答
yr 回答时间:2021-6-15 10:00:01
OptionBytes的修改不应该执行一次即可,倘若这样,是不是每次boot都会program ob一次,有这个必要吗?修改后不运行optionbyte launch,那么修改并不马上生效,要下一次启动才有效?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版