CH32V303 写FLASH出错

代码如下:

                    FLASH_ProgramWord(flash_addr, flash_word_write);

                    flash_word_read = *(u32 *)(flash_addr);

                    printf("flash_word_write:%x\r\n",flash_word_write);

                    printf("flash_word_read:%x\r\n",flash_word_read);


                    if(flash_word_write == flash_word_read)     //写入FLASH校验

                    {

                        flash_addr += br;

                    }

                    else break;


程序写flash偶尔会出错,通过WCH-LinkUtility查看flash数据出错,比如写入的是0x1040506f,但实际是0x1040508f


您好,建议你在每次操作FLASH时进行一下解锁操作,此外可在写之前进行一下擦除操作,在我们EVT有相应FLASH操作例程,可参考一下例程的操作流程,后续若有问题,可将工程直接发至我的邮箱(lzs@wch.cn),这边具体看一下。EVT下载链接如下:

https://www.wch.cn/downloads/CH32V307EVT_ZIP.html

 



只有登录才能回复,可以选择微信账号登录