ch32v307怎么修改堆大小?

使用wchnet和cjson,发现cjson中调用malloc返回总是0地址,考虑是不是堆内存不够了?

应该就是堆太小了吧,cJSON_Print中malloc默认256,改为16以后malloc成功,若为32都分配不成功,默认heap大小怎么改呢?


修改 flash的配置改为 192k+128K这样的配置,默认堆栈是不是都能多一些?


修改以后,是不是还需要手动修改Link.ld?


您好,ld链接脚本中,没有明确定义heap堆的大小,按照其定义,动态数据段,除了stack占用的,剩下的都可用于heap,通过malloc进行动态管理。关于FLASH和RAM的大小修改,需要手动修改ld文件中FLASH和RAM的大小,改为192+128,然后通过WCHISPTool工具选择192+128分配方式进行下载。WCHISPTool工具下载链接如下:

/downloads/WCHISPTool_Setup_exe.html 

image.png


请问下,在程序运行时,怎么查看ram和flash运行情况?


您好,若你是指查看FLASH、RAM占用情况,在MounRiver编译后可查看占用信息,可以按下面链接内容参考配置一下

https://blog.csdn.net/qq_36353650/article/details/121923689?spm=1001.2014.3001.5501

https://blog.csdn.net/qq_36353650/article/details/121968743?spm=1001.2014.3001.5501



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