Arm STM32L011-使用BOOT0引脚作为GPIO

Arm STM32L011-使用BOOT0引脚作为GPIO,arm,boot,stm32,gpio,Arm,Boot,Stm32,Gpio,我有一个项目中的STM32L011芯片,我需要使用PB9-BOOT0引脚作为GPIO 我知道我需要修改FLASH_OPTR寄存器,并将nBOOT0和nBOOT_SEL位设置为1(参考手册第53页和第108页与此相关) 我无法理解如何设置此注册表的内容。我已经为FLASH\u OPTR创建了STM32Cube代码包,其中包含的文件只有stm32l011xx.h和stm32l0xx\u FLASH\u ex.c文件。并且头文件中没有任何与BOOT0设置相关的内容 我假设这需要编译成写入闪存的代码,因

我有一个项目中的STM32L011芯片,我需要使用PB9-BOOT0引脚作为GPIO

我知道我需要修改
FLASH_OPTR
寄存器,并将
nBOOT0
nBOOT_SEL
位设置为1(参考手册第53页和第108页与此相关)

我无法理解如何设置此注册表的内容。我已经为
FLASH\u OPTR
创建了STM32Cube代码包,其中包含的文件只有
stm32l011xx.h
stm32l0xx\u FLASH\u ex.c
文件。并且头文件中没有任何与
BOOT0
设置相关的内容

我假设这需要编译成写入闪存的代码,因为启动代码是从检查这个寄存器开始的。因此,在芯片开始执行代码后,通过HAL闪存驱动程序写入寄存器是毫无意义的,对吗


参考手册:

您通常会以编程flash其余部分的相同方式编程选项字节-您可能也没有在代码中这样做;)嗨,谢谢你的评论。。。我正在使用OpenOCD将.hex文件闪存到设备。但让我困惑的是,如果我在偏移量0x1C处从闪存读取4个字节(如参考手册第108页所述),我会得到全部零。另外,另一件让我困惑的事情是,检查从何处启动的启动代码从偏移量0x04读取。编辑:无法将代码放在注释中。嗯,看起来软件有一种很时髦的机制,可以从完全不同的地址读回选项字节-参见第3.8.1节。