调用iap_write_appbin接口Flash无法写入

2019-07-21 07:57发布

使用的芯片stm32f103cbt6
做了一个IAP功能,接收到数据,就用iap_write_appbin把数据写入flash。

调试了一下发现,
用了原子哥的历程里的iap_write_appbin,单步调试下去应该该跑的都跑了,但是flash不变。

测试程序是这样的

        while(1)
        {
                g_UpdateRecBuf[0] = 0x11;
                g_UpdateRecBuf[1] = 0x22;               
                g_UpdateRecBuf[2] = 0x33;               
                iap_write_appbin(FLASH_TEMPAPP_ADDR,&g_UpdateRecBuf[0],16);//Ë¢èëFLASH
                delay_ms(100);
                printf("0x%x 0x%x 0x%x ",*(u8*)FLASH_TEMPAPP_ADDR,*(u8*)(FLASH_TEMPAPP_ADDR+1),*(u8*)(FLASH_TEMPAPP_ADDR+2));
        }


打出来的数跟我单步调试,使用memory窗口调试看到的内存是一样的,而不是写进去的。

会有什么可能原因吗?
难道这个芯片还需要刷cache?


微信图片_20181109172211.jpg




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。