本帖最后由 castle520 于 2020-11-4 21:46 编辑
GD32选项字节使用---以GD32F30x系列为例 参考资料:(GD官网:http://www.gd32mcu.com/) GD32F30x_User_Manual_CN_v2.3 GD32F303xxDatasheet Rev1.5 选项字节位置: 参考用户手册FMC章节:
选项字节说明: 选项字节地址、说明见GD32F30x_User_Manual_CN_v2.3: 代码中定义在gd32f30x_fmc.h:
格式 每一个都是16位的(2个字节),但是,每一个元素的2个字节中,高字节和低字节是互补关系。相当于只有一个字节是有效内容。实际上,操作的是偶地址的字节,奇地址的字节是其补码。
安全保护SPC(即读保护) GD32F30x只有两种安全状态:无保护、已保护。 有些系列MCU有三种安全保护状态:无保护、低级别保护、高级别保护 GD32F1x0/GD32F3x0/GD32E23x系列的三种安全保护状态的主要区别如下: 用户字节USER[7:4]: 保留
[3]: BB
0:当配置为从主存储块启动时,若bank1有启动程序,从
bank1启动,否则从bank0启动;
1:当配置为从主存储块启动时,从bank0启动。
[2]: nRST_STDBY
0:设置待机模式时产生复位而不是进入待机模式;
1:设置待机模式时进入待机模式而不产生复位。
[1]: nRST_DPSLP
0:设置深度睡眠模式时产生复位而不进入深度睡眠模式
1:设置深度睡眠模式时进入深度睡眠模式而不产生复位
[0]: nWDG_HW
0: 硬件使能独立看门狗功能
1: 软件使能独立看门狗功能 页擦除\编程保护FMC的页擦除/编程保护功能可以阻止对闪存的意外操作。当FMC对被保护页进行页擦除或编程操作时,操作本身无效且FMC_STAT寄存器WPERR位将被置1。如果WPERR位被置1且FMC_CTL寄存器的ERRIE位也被置1来使能相应的中断,FMC将触发闪存操作出错中断,等待CPU处理。配置可选字节块的WP[31:0]某位为0可以单独使能某几页的保护功能。如果在可选字节块执行了擦除操作,所有的闪存页擦除和编程保护功能都将失效。当可选字节的WP被改变时,需要系统复位使之生效。 选项字节读取 通过Jflash、ISP等或者其他工具直接读取flash地址即可查看选项字节状态。 选项字节擦除 file:///C:/Users/HUADON~1.WAN/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 代码函数:ob_erase() 选项字节编程 file:///C:/Users/HUADON~1.WAN/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 代码函数:ob_write_protection_enable() //开写保护 ob_security_protection_config() //开读保护 ob_user_write() //用户选项字节编程 ob_data_program() //用户定义数据编程 使用GigaDevice MCU ISP Programmer工具操作选项字节 1. 首先把BOOT拉高,进入Bootloader模式
2. 连接到MCU后,可以选择读写保护,如下图 用户字节USER[7:4]: 保留
[3]: BB
0:当配置为从主存储块启动时,若bank1有启动程序,从
bank1启动,否则从bank0启动;
1:当配置为从主存储块启动时,从bank0启动。
[2]: nRST_STDBY
0:设置待机模式时产生复位而不是进入待机模式;
1:设置待机模式时进入待机模式而不产生复位。
[1]: nRST_DPSLP
0:设置深度睡眠模式时产生复位而不进入深度睡眠模式
1:设置深度睡眠模式时进入深度睡眠模式而不产生复位
[0]: nWDG_HW
0: 硬件使能独立看门狗功能
1: 软件使能独立看门狗功能 页擦除\编程保护FMC的页擦除/编程保护功能可以阻止对闪存的意外操作。当FMC对被保护页进行页擦除或编程操作时,操作本身无效且FMC_STAT寄存器WPERR位将被置1。如果WPERR位被置1且FMC_CTL寄存器的ERRIE位也被置1来使能相应的中断,FMC将触发闪存操作出错中断,等待CPU处理。配置可选字节块的WP[31:0]某位为0可以单独使能某几页的保护功能。如果在可选字节块执行了擦除操作,所有的闪存页擦除和编程保护功能都将失效。当可选字节的WP被改变时,需要系统复位使之生效。 选项字节读取 通过Jflash、ISP等或者其他工具直接读取flash地址即可查看选项字节状态。 选项字节擦除 file:///C:/Users/HUADON~1.WAN/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 代码函数:ob_erase() 选项字节编程 file:///C:/Users/HUADON~1.WAN/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 代码函数:ob_write_protection_enable() //开写保护 ob_security_protection_config() //开读保护 ob_user_write() //用户选项字节编程 ob_data_program() //用户定义数据编程 使用GigaDevice MCU ISP Programmer工具操作选项字节 1. 首先把BOOT拉高,进入Bootloader模式 2. 连接到MCU后,可以选择读写保护,如下图 3.点击如图所示可以编辑选项字节
打开后如下图即可操作选项字节
|