
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,那么修改并不马上生效,要下一次启动才有效? |
STM32G473CBUx的模拟地
STM32G474, I2C设备地址,总出现多余地址0x20,是什么原因?
最近在做单极倍频SPWM
为什么STM32G431的串口用不了2.5M的波特率
上电连接USB显示DFU模式
STM32G491RE上电出现DFU模式
STM32G431的3.3V引脚对地电阻变小
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
STM32G431 数据手册上有个图有点不理解
STM32G473RC多个定时器同步的问题