TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F CMD文件修改内存

之前使用CC2640R2F遇到了.cinit 数据过大超过了FLASH空间大小的问题

我将FLASH_SIZE 从0x00020000修改到了0x00030000 可以编译通过了!但是烧写软件的时候出现如下错误(大概80%进度)

是不是我还需要修改别的地方呢?如果有人能帮帮我,我将感激不尽!

Kevin Qiu1:

.cinit用来存放全局变量和静态变量初始化的常数,你在map文件中看下ram的使用情况

user6359397:

回复 Kevin Qiu1:

感谢您的回复,已经改好大小了,但是烧写软件的时候出现了上述错误,我该怎么解决呢?

Kevin Qiu1:

回复 user6359397:

根据错误提示信息只知道内存写入失败,不能确定具体是哪里的问题,所以让你看map文件.

你把map文件传上来

user6359397:

回复 Kevin Qiu1:

map.c

因为不支持.map文件上传,我将map文件的内容拷贝到.c文件中了

user6359397:

Count_ws.rar

已经将整个Workspace压缩好了,谢谢你

Kevin Qiu1:

回复 user6359397:

有些路径不对,导入不进来,看下ram和flash空间是否剩余,应该是程序的问题。如果你有CC26X2的板子,可以试一下.

user6359397:

回复 Kevin Qiu1:

…但是它的的确确提醒了我.cinit空间大于FLASH空间大小了,优化代码确实可以实现成功烧写,但是考虑到后续仍然需要添加整合大量的代码,于是我拓宽了FLASH空间,我将FLASH_SIZE 从0x00020000修改到了0x00030000,希望改完之后他能装下.cinit,除此之外并没有对其他地方有所改动,虽然修改完能编译通过,但是debug会失败,我不知道如何来排查这方面的问题,望大哥指点指点

user6359397:

回复 Kevin Qiu1:

ohh确实不够了,空间占满了。我应该只能从优化代码方面入手了,我的想法正确吗?

Kevin Qiu1:

回复 user6359397:

CC2640r2f 只有128KB 可编程flash 、28k sram,看了你的map文件,flash分配的空间达到了188+4kB、sram 33kB,都超出了。
代码优化可以从变量入手,去掉未使用的变量,另外对变量初始化赋值。你用到了这么多空间,感觉优化作用不太大,可能是添加的代码本身有问题。如果确实需要更大空间,推荐使用CC26X2系列,有352K flash和 80K SRAM。

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F CMD文件修改内存
分享到: 更多 (0)