微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > cc2640R2 ram不够的问题

cc2640R2 ram不够的问题

时间:10-02 整理:3721RD 点击:

项目本来用cc2640开发的,flash不够用了,终于等来了cc2640R2,将cc2640的程序移植到cc2640R2就出问题了,移植部分功能后编译不出错,但是蓝牙连接不上,定位到了ram超过一定size就会出这个问题,通过对比发现,cc2640的simple_peripheral工程的ICALL_RAM0_START=0x200043E8    cc2640R2的simple_peripheral工程的ICALL_RAM0_START=0x200040a0,很明显app可用的ram空间缩小了

然后试图去掉frontier自动适应边界的功能,手动修改ICALL_RAM0_START的大小,编译不报错,但是程序运行不起来

现在有两个问题: 1、ram空间是不是相对于cc2640减小了,可否修改ram分配?

                           2、HEAPMGR_SIZE=0自动分配堆空间,如果剩余ram不够程序运行分配,是不是编译也不会报错,程序运行才会出错?

由于项目处于测试阶段了,望尽快给个回复,好确定方案是不是行得通,是否能使用cc2640R2,谢谢

下面是移植后编译size信息,

53 268 bytes of readonly code memory
5 617 bytes of readonly data memory
15 031 bytes of readwrite data memory

Errors: none
Warnings: none

存储空间一样的,把部分stack固化在内部rom

试着优化编译参数。

新版确实解决了flash小的问题,但是ram空间分配给app的相对小了

在英文论坛得到了答案,由于R2版本把一部分RAM资源分配给了ROM的stack,所以比之前的版本确实少了,

在英文论坛得到了答案,由于R2版本把一部分RAM资源分配给了ROM的stack,所以比之前的版本确实少了,

请问你看到的论坛介绍连接可否发出来给我参考下,现在在做主机,在获取多从机句柄和信息时发现缓存不够,把 #define SBC_TASK_STACK_SIZE  改大了,完全就不动作,分配缓存就失败了。改小了就容易STACK溢出

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top