打印
[N32L4xx]

DMA Flash问题

[复制链接]
388|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DM, AN
请问,dma flash 的例程是否没有考虑到二次写flash的情况?

图中 FLASH->CTRL &= 0x00003FFE; 是我根据非 dma 方式的 FLASH 例程自加的操作,如果没有这一句的话,只能写入一次,第二次执行DMA flash写入的时候,使用 FLASH_WaitForLastOpt(FLASH_ON_CHIP_PROGRAM_TIMEOUT) 查询执行结果,其结果永远为 FLASH_ERR_PG。

非 DMA 方式 flash 的写操作有对 PG 位置1,执行完后又清0了,FLASH->CTRL &= CTRL_Reset_PG;  CTRL_Reset_PG 就等于 0x00003FFE,按常理来说,flash 控制寄存器此位非自动清零,理应要清除的。

使用特权

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

本版积分规则

2

主题

3

帖子

0

粉丝