使用的的STM32L073VZ,flash是192K的,可以把flash分成2个bank,bank1的地址是0x08000000,bank2的地址是0x08018000, 刚开始程序在bank1中运行,接收串口的升级包,把升级包写到bank2,完成后, 然后修改option byte选项字节,把BFB2置1,重启后,运行的就是bank2的程序了。 目前我有8块STM32L073VZ芯片,只有一块电路板能成功升级程序,其他都无法从bank2启动, 难道是芯片有问题? 另外,那些无法升级的芯片,读取Flash的容量,都是0,升级成功的那块芯片,可以读到192K的flash容量 STM32L0的Flash容量地址是0x1FF8007C 手上有STM32L0的朋友,试过这样升级程序吗? 芯片是淘宝买的,难道是翻新货? |
淘宝上有老多芯片是假的,要么质量不好
用烧录器测试一下,至少知道容量是否正确