[问答] 6678工程如何分配存储器地址范围

mqrzyy ( 楼主 ) 2018-6-25 06:54:26  显示全部楼层
各位好!
        之前使用ccs3.3创建2812的工程时,一般直接在TCF文件中手动的去重新分配存储器的地址范围,然后生成的cmd文件中也可以看到具体分配的结果。
        目前使用ccs5想对6678的工程也对存储器地址范围进行一个分配,但是没有找到方法。
        从网上找到的一个工程中实现了这种分配,从编译过程中生成的link.cmd文件可以看出分配结果如下:
MEMORY
[
    L2SRAM (RWX) : org = 0x800000, len = 0x40000
    MSMCSRAM_MASTER (RWX) : org = 0xc000000, len = 0x100000
    MSMCSRAM_SLAVE (RWX) : org = 0xc100000, len = 0x100000
    MSMCSRAM_IPC (RWX) : org = 0xc200000, len = 0x200000
    DDR3 (RWX) : org = 0x80000000, len = 0x10000000
]
    同时,该cmd文件有说明如下,文件是自动生成的,每次clean project后就会消失,所以修改这个cmd文件不是最好的办法。
/*
 * Do not modify this file; it is automatically generated from the template
 * linkcmd.xdt in the ti.targets.elf package and will be overwritten.
 */
    求助各位具体应该如何实现存储器地址的重新分配,是修改tcf文件么?还是应该怎么办?

4个回复

sdsasaf 发表于 2018-6-25 07:04:43
你是想把固定地址分配给固定数组么?
回复

举报 使用道具

opqooq 发表于 2018-6-25 07:09:49
1、在CCS5中地址范围分配就是根据cmd文件来实现的,我目前没有接触到你所说的TCF文件。
2、如果你只是创建最简单的CCS project,cmd文件可以手动添加,并且随意修改。如果你的工程需要用到实时操作系统,比如SYS/BIOS,对应的是RTSC project,那这时的cmd文件是在编译的时候自动生成,并且无法修改。
3、使用自己定义的cmd文件对工程进行编译之后,可以在debug或者release目录下的map文件里查看详细的内存分配情况。
回复

举报 使用道具

sunllordong 发表于 2018-6-25 07:24:42
1.CCSV5的存储器分配一方面是通过cmd文件中完成,可以在cmd中指定L2,DDR3,MSMC等存储区域的物理起始地址,长度等。并且cmd文件不会在clean project时消失,在编译时,编译器根据cmd文件进行存储器分配,变量定位等,编译完成会生成一个.map文件,这个文件有编译完成后各个存储区的分配、使用情况,以及各个段的具体放置位置等,您可以参考,这个文件会随着clean project时消失。
2.另一方面CCSV5支持在cfg文件中进行存储区域分配(与cmd功能一致),cfg文件是CCSV5对SYS/BIOS操作系统进行配置的工具,在cfg文件中进行了文件分配后,就不用cmd文件了。
回复

举报 使用道具

mqrzyy 发表于 2018-6-25 07:41:44
感谢各位的解答,可能是我对问题描述的不清楚。
我现在使用的时SYS/BIOS,需要对里面的DDR3以及MSMCSRAM进行一个分配,比如问题当中将MSMCSRAM分成了三部分,其中每一部分的首地址以及长度均由我来控制。使用的时候比如我可以将.text段放在MSMCSRAM_MASTER上。
例如:
SECTIONS
[
    .text: load >> MSMCSRAM_MASTER
]

这个问题我刚刚解决了,是参考文档《TI SYS/BIOS v6.35 Real-time Operating System User's Guide》第六章memory的内容。
需要重新建立一个platform packages,然后在里面实现自定义的分配。

文档中还提到了一个链接:http://rtsc.eclipse.org/docs-tip/Demo_of_the_RTSC_Platform_Wizard_in_CCSv4,可视化的介绍了文档第6章的主要内容。
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-9-20 01:06 , Processed in 0.433883 second(s), 22 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表