CH32V307VCT6怎么把常量数组和不常用或不要求速度的代码放进flash非零等待区域

CH32V307VCT6:我有两个超大常量数组,透视变换打表用的数组,共176k多,怎么把这两个数组存到flash非零等待区域,像stm32一样直接加const修饰那个flash就快满了


还有怎么把一些函数不要求速度的也放到非零等待区域,因为代码有点大,尽量省点


主频144MHz,不会出错吧,我看应用手册上说:“在进行 FLASH 相关操作时,强烈建议系统主频不大于 120M。”


希望官方给出详细的解释和步骤,还是CH32V307VCT6的flash大小只有那么大,那个480k是假的吗?


我晓得你是谁了


这个我也想知道,手册上的480K-flash在实际应用时,并没有用上剩下的480-256K-flash,能不能以内存管理方式直接将数据代码塞到特定内存区域



您好,若需要将常量数组放在非零等待区域,可按照下图1配置。关于将函数放在非零等待区域,方法与常量数组方法一样,附件为参考例程,可以参考一下

icon_rar.gifCH32V307 数据常量地址定位.zipimage.png

图1


我看到例程里全都讲到了72M跑,有办法开144跑吗?


那个频率为144MHz不会出错吧,跑摄像头速度很重要,访问慢一点没关系,不会出错就行


还有我要改成128k的ram的话,是那个falsh1不能改,改ram和flash吧,如下图

image.png


对,你下载的时候还要重新配置一下应该


您好,主频设置为144MHz正常是没问题的。关于ld文件中FLASH与FALSH1的修改,一般可将FLASH1的起始地址设置为FLASH的结束地址,比如你设置FLASH设置为192K,那么FLASH1的起始地址设置为0x0030000,长度设置为480-192=288K,当然,若你设置FLASH小于256K,FLASH也可以按照例程的保持不变,也是没问题的。



请问重新设置了flash和ram大小但是芯片无法启动是什么原因?


您好,正常情况下,FLASH和RAM的大小配置只能按照规定的4种配置方式进行配置,如下图。若你有特殊需求或应用,可将具体问题通过邮箱(lzs@wch.cn)和我沟通下。

image.png


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