STM32 最大数组能开多大的

2019-03-23 16:16发布

用STM32F103RCT6做一个串口转WIFI的模块。串口部分数据量比较大,做了一个全局变量的数组来做缓存。可是我发现数组的长度最大只能到2048个,也就是2K。如果再加大的话也不报错,但是是watch里看的话数组最大还是2047。
有没有人遇到过这个问题或者知道是咋回事的,给解释一下。
此帖出自小平头技术问答
7条回答
Li_Lei
1楼 · 2019-03-24 01:39.采纳回答
watch里能看到的数据量和版本有关系,模糊的记得keil哪个地方能调,不知道你是不是keil,不行你就用memory看吧。
这个数组大小基本上就是片上内存总量-堆-栈-其它全局量占用
迈尔风随
2楼-- · 2019-03-23 16:42
/ 没有遇到过,也没有定义过这么大的数组,如果总是2048个,有可能是编译器在什么地方限制了,不然理论上只要不超出内存大小,都没有问题
lcofjp
3楼-- · 2019-03-23 19:48
 精彩回答 2  元偷偷看……
jishuaihu
4楼-- · 2019-03-24 02:45
huo_hu 发表于 2018-4-8 22:43
watch里能看到的数据量和版本有关系,模糊的记得keil哪个地方能调,不知道你是不是keil,不行你就用memory ...

谢谢,我在网上也搜了一下,好像没有什么好办法,只能看memory了。
Li_Lei
5楼-- · 2019-03-24 03:08
 精彩回答 2  元偷偷看……
huaiqiao
6楼-- · 2019-03-24 03:48
如果是全局变量的话,应该按照你的这个STM32F103RCT6应该是有256K的flash空间。理论上不应该这么大就不行了。做过1024长度的没问题
mig29ee
7楼-- · 2019-03-24 05:53
应该是 watch 的限制。
watch 太大肯定会拖慢调试速度,所以有必要做出限制。

一周热门 更多>