STMCU小助手
发布时间:2021-11-8 15:15
|
STM32G0B1CCT6是相对比较新的MCU,属于G系列,不支持标准库,所以下文用的是hal库或者ll库。 首先STM32G0B1CCT6是有256kflash的,每页2k,而规格书里面只提到0-63page,相当于128kflash。 对于后128k的flash其实需要切换bank2才能使用。 下图为STM32G0B1CCT6的flash构成
然后我们先看正常如果要擦除第一页的代码
当我们要擦除后128k的第一页的时候,即第64页时,需要把FLASH_BANK_1切换到FLASH_BANK_2 不能直接在FLASH_BANK_1声明擦除第64页,切换到FLASH_BANK_2后,相应的页数为总页数减64页。
最后再附上一个ST-programmer和iar的一个小bug。我将这些问题均已反馈到原厂了。 1、如果ST-programmer要单独擦除后128k是擦除失败的,因为软件本身没有切换bank2 2、IAR烧录时该次使用到了后128k,则也是擦除失败导致烧录失败。第一次烧录成功,但是从第二次开始需要擦除到相应flash时,擦除失败就无法下载了(keil应该也是一样) |
微信公众号
手机版