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(); |
OptionBytes的修改不应该执行一次即可,倘若这样,是不是每次boot都会program ob一次,有这个必要吗?修改后不运行optionbyte launch,那么修改并不马上生效,要下一次启动才有效? |
关于stm32g431串口与FDCAN数据不同同时处理问题
STM32G431的CAN控制器在收发器开路后,程序发送数据后,TX高电平。RX低电平。
在使用FDCAN控制器发送字节有问题
keil无法对G474CBTx扇区擦除烧录较大程序是什么原因?
CubeAI生产keil代码时出现报错。这个ai_platform.h文件在什么地方?
关于CUBEMX死区模式使用?
STM32G431CBT6程序大小超过64k报错
用STM32G474 如何实现带同步整流管的BUCK 电路负载小的时候时提前关闭同步整流管的驱动功能?
使用IHM0003kit套件以及MCworkbench在生成代码时出现路径错误,具体的环境配置下面详细描述
STlink 在Cubemonitor中采样率