打印
[STM32F1]

请问为什么flash没写进去

[复制链接]
882|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
void FLASH_Configuration()
{
        u16 i;
        u16 *p=(u16 *)0x08000000+0x400*(SECTOR-1);
        RCC_HSICmd(ENABLE);
        FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
        FLASH_Unlock();
        while(FLASH_WaitForLastOperation(5)==FLASH_BUSY);
        FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
        FLASH_ITConfig(FLASH_IT_ERROR,ENABLE);
        while(FLASH_WaitForLastOperation(5)==FLASH_BUSY);
        FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
        printf("%d ",FLASH_ErasePage(0x08000000+0x400*(SECTOR-1)));
        while(FLASH_WaitForLastOperation(200)==FLASH_BUSY);
        FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
        for(i=0;i<LARGE;i++)
        {
                printf("%d ",FLASH_ProgramHalfWord(0x08000000+0x400*(SECTOR-1)+i*2,i+1));
                while(FLASH_WaitForLastOperation(200)==FLASH_BUSY);
                FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
                printf("%d ",*(u16 *)(p+i*2));
        }
        FLASH_Lock();
}
经过本函数的初始化之后(其中SECTOR=10),flash里面的数值没有改变,依旧是0xffff。如果数据写进flash的代码区里,却会报错。求告知怎么回事?
沙发
xmshao| | 2016-3-14 16:48 | 只看该作者
你这里的SECTOR就是指内部FLASH的PAGE吧。

你要注意STM32F1系列不同容量的内部FLASH的page 大小不一样,有1K,有2K页的。

官方有参考库可以参考。stm32f10x_stdperiph_lib-v3.5\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\FLASH

使用特权

评论回复
板凳
阳光的掌控者|  楼主 | 2016-3-19 20:44 | 只看该作者
xmshao 发表于 2016-3-14 16:48
你这里的SECTOR就是指内部FLASH的PAGE吧。

你要注意STM32F1系列不同容量的内部FLASH的page 大小不一样,有 ...

谢谢你的建议!

使用特权

评论回复
地板
ofsummer| | 2016-3-20 07:48 | 只看该作者
你的flash的地址是不是给弄错了啊

使用特权

评论回复
5
阳光的掌控者|  楼主 | 2016-3-20 14:35 | 只看该作者
ofsummer 发表于 2016-3-20 07:48
你的flash的地址是不是给弄错了啊

嗯嗯,地址前没有加强制转换

使用特权

评论回复
6
309030| | 2016-3-20 20:00 | 只看该作者
写之前是不是得解锁啊

使用特权

评论回复
7
Roderman_z| | 2016-3-20 20:44 | 只看该作者
flash一般先解锁再擦除再写,再上锁

使用特权

评论回复
8
米尔豪斯| | 2016-3-20 21:40 | 只看该作者
楼主解除写保护了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

0

粉丝