关于程序大小的问题

 我现在用的ch32v307vct6,内存分配为192k的flash和128k的ram,是指芯片有512k的flash但是1个程序最大也不能超过192k吗?如果是这样那程序大,又要用到较多内存,是不是只能换芯片了

您好,CH32V307程序存储区CodeFlash大小为480K,这480K分为零等待区域和非零等待区域,都是可用于存储代码的,具体区域分配参考下图。零等待区域相较于非零等待区域,代码运行速度会快一些。若你MCU FLASH、RAM的大小配置为192+128,并不是说你只能存储192K的代码,只是说明192K是在零等待区域,剩余部分放在非零等待区域。若代码较大,你可以将对运行速度没有要求的数组或函数放在非零等待区域。下面链接是关于将数组或函数放在FLASH某一位置的方法,你可以看一下。后续若有问题,可邮箱(lzs@wch.cn)和我沟通。

https://www.cnblogs.com/liaigu/p/17330342.html

image.png 



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