关于CH32V307VCT6的FLASH,我在编译器中看到起始地址为0,但是手册为0X80000000,还有,每次进行FLASH写入操作时都要解锁上锁吗

问题同标题

image.png

image.png就这一个FLASH_ROM_WRITE函数可以实现吗




您好,FLASH的起始地址是0x08000000,内核启动始终是从0地址取值,硬件上做了0到0x08000000地址的映射,因此MRS开发中使用虚拟地址0也是没有问题的。关于FLASH编程,截图函数包含了解锁操作,写应该是没问题的,但建议写之前进行一下擦除操作。


OK,谢谢




为啥我这写进去的跟读出来的不一样

这是写

image.png

这是读

image.png

这三个地址读出来全为57



image.png

上面这个遮住了




丸辣,image.png

执行过这两句后,板子直接成砖块了,程序都不跑了



您好,如下图,关于5、6楼的描述,我这边测试时没有问题的。关于7楼描述调用函数,注意擦写之前进行解锁。此外注意检查一下程序ld文件中FLASH、RAM的大小配置,是否和MCU配置一致。

image.png


这个是LD配置界面的

image.png

这个是片上实际的

image.png



1733359291709.png

一直是57


image.png

因为我本来写入的就是一个字节的数组数据,但是如果照截图上写的话,读出来都是57,如果我加一个强制类型转换,如IPAddr[3]=(u8)*(u32*)0x08018008,读出来就全为0


您好,若方便把你可复现问题的工程发我邮箱(lzs@wch.cn)具体看一下吧,可以去掉不必要的部分,感觉是你的程序操作问题。


image.png

已发


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