**作JTAG命令来进行flash的编程,发现当我的启动在SRAM启动时,FLASH能正常的擦除和编程。但当我的启动模式换成内部闪存启动(即flash启动)时,STM32的flash中的页0不能被正常的擦除及编程,其它页均可以。 我查过保护位,读写保护位均未打开,请问大家这是怎么一回事?
我曾今认为是是因为向量偏移表放在page0的缘故,后来我通过M3的内部寄存器将向量表的位置指向SRAM后,同样不行。 而且也不是因为PC指针在page0的缘故,因为擦除和编程的代表我是放于sram中,所以擦page的时候PC应该是指向SRAM的
实在是想不明白到底是为什么会出现这种情况,然道是因为STM32F103的FLASH页0特殊性? 但同样的烧写驱动在MDK下就能正常实现,想不明白? 求助。。。 |