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,那么修改并不马上生效,要下一次启动才有效? |
adc采集电压
STM32G474的HRTIM和高级定时器有什么区别
LL库变成黑色,不能用,怎么回事
按照文档标注ADC最高输入时钟为60兆, 将主频配置为120(原来是170M),AD再进行1分频/2分频/4分频,对应的转换位数12位,采样周期2.5,对应的频
关于stm32g431串口与FDCAN数据不同同时处理问题
STM32G431的CAN控制器在收发器开路后,程序发送数据后,TX高电平。RX低电平。
在使用FDCAN控制器发送字节有问题
keil无法对G474CBTx扇区擦除烧录较大程序是什么原因?
CubeAI生产keil代码时出现报错。这个ai_platform.h文件在什么地方?
关于CUBEMX死区模式使用?