在ccs6中如何自己编写一个ccs cmd文件 添加

后使用快捷导航没有帐号?
查看: 1080|回复: 3
CCS+C6678LE开发记录04:编写CMD文件+读取Bitmap
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
这里所说的CMD文件是指在CCS的Project中添加的CMD文件。就我目前所理解的,大概就是链接装配到Target上用到的“指令”。
首先来看看默认的CMD文件(安装MCSDK后)是什么样的/*&&
*&&Linker command file&&
*/&&
&&
-c&&
-heap&&0x41000&&
-stack 0xa000&&
&&
/* Memory Map 1 - the default */&&
MEMORY&&
{&&
& & L1PSRAM (RWX)&&: org = 0x0E00000, len = 0x7FFF&&
& & L1DSRAM (RWX)&&: org = 0x0F00000, len = 0x7FFF& &
&&
& & L2SRAM (RWX)& &: org = 0x0800000, len = 0x080000&&
& & MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000&&
& & DDR3 (RWX)& &&&: org = 0x,len = 0x&&
}&&
&&
SECTIONS&&
{&&
& & .csl_vect& &&& && & MSMCSRAM&&
& & .text& && & && && & MSMCSRAM&&
& & GROUP (NEAR_DP)&&
& & {&&
& & .neardata&&
& & .rodata& &
& & .bss&&
& & } load & MSMCSRAM&&
& & .stack& && &&& && & MSMCSRAM&&
& & .cinit& && &&& && & MSMCSRAM&&
& & .cio& && &&&&& && & MSMCSRAM&&
& & .const& && &&& && & MSMCSRAM&&
& & .data& && & && && & MSMCSRAM&&
& & .switch& &&&&& && & MSMCSRAM&&
& & .sysmem& &&&&& && & MSMCSRAM&&
& & .far& && &&&&& && & MSMCSRAM&&
& & .testMem& & && && & MSMCSRAM&&
& & .fardata& & && && & MSMCSRAM&&
& & platform_lib && && & MSMCSRAM&&
}&&复制代码一般简单的测试,添加默认的CMD文件就可以了,详细步骤参见
CCS+C6678LE开发记录03:常规入门HeloWorld.cn/thread--1.html
但是在一次测试(读取Bitmap图片)中发现了一些问题为了更详细的追踪问题,我在子程序中添加了许多信息输出,以下是一个示例在对小尺寸图片进行测试时发现没有问题,当图片尺寸太大时就会出现“内存分配失败”的错误我特意找来一张6k*4k的超大图片测试,的确有问题
内存分配出问题一般是因为没有足够的空闲对于那些零散的小块如果不足所需,也只能寻找更大的空闲区域如果找不到就会返回失败信息
既然是在heap上分配,那么我们就需要检查CMD文件中关于MEMORY分配的布局了显然,默认的-heap=0x41000 显然不够用
于是修改-heap&&0x&&/* 512MB */ 够用了
关于一些段的含义,可以参考.bss& && &存放全局和静态变量
.ebss& &&&长调用的.bss(超过了64K地址限制)
.stack& & 存放C语言的栈
.sysmem& &存放C语言的堆
.esysmem&&長调用的.sysmem(超过了64K地址限制)
.text& &&&可执行代码和常数(program)
.switch& &switch语句产生的常数表格(program/低64K数据空间)
.pinit& & Tables for global constructors (C++)(program)
.cinit& & 用来存放封全局和静态变量的初始化常数值(program)
.const& & 全局和静态的const变量初始化值和字符串常数,(data)
.econst& &长.const(可定位到任何地方)(data) 始化块
我们将内存映射的MEMORY中DDR3设置得更大一些,然后让heap等sections装入到这一段,这样就可改写CMD文件如下/*&&
*&&Linker command file&&
*/&&
&&
-c&&
-heap&&0x&&/* 512MB */&&
-stack 0x10000&&
&&
/* Memory Map */&&
MEMORY&&
{&&
& & L1PSRAM (RWX)&&: org = 0x0E00000, len = 0x7FFF&&
& & L1DSRAM (RWX)&&: org = 0x0F00000, len = 0x7FFF& &
&&
& & L2SRAM (RWX)& &: org = 0x0800000, len = 0x080000&&
& & MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000&&
& & DDR3 (RWX)& &&&: org = 0x,len = 0x7FFFFFFF&&/* length=2^32-1, 4GB */&&
}&&
&&
SECTIONS&&
{&&
& & .csl_vect& &&& && & MSMCSRAM&&
& & .text& && & && && & MSMCSRAM&&
& & GROUP (NEAR_DP)&&
& & {&&
& & .neardata&&
& & .rodata& &
& & .bss&&
& & } load & DDR3 /*MSMCSRAM*/&&
& & .stack& && &&& && & DDR3 /*MSMCSRAM*/&&
& & .cinit& && &&& && & MSMCSRAM&&
& & .cio& && &&&&& && & DDR3 /*MSMCSRAM*/&&
& & .const& && &&& && & MSMCSRAM&&
& & .data& && & && && & MSMCSRAM&&
& & .switch& &&&&& && & MSMCSRAM&&
& & .sysmem& &&&&& && & DDR3 /*MSMCSRAM*/&&
& & .far& && &&&&& && & MSMCSRAM&&
& & .testMem& & && && & MSMCSRAM&&
& & .fardata& & && && & MSMCSRAM&&
& & platform_lib && && & MSMCSRAM&&
}&&复制代码修改之后,测试可行但是这样做似乎效率很低,我在测试一张大小的RGB图片时,读取数据用了了3分多钟!
本帖子中包含更多资源
才可以下载或查看,没有帐号?
请修改签名 ^_^
在线时间1062 小时
威望1491 分
芯币2119 枚
E金币83 枚
TA的帖子TA的资源
纯净的硅(高级), 积分 1491, 距离下一级还需 509 积分
纯净的硅(高级), 积分 1491, 距离下一级还需 509 积分
不应该这么慢吧,是你的程序影响了速度的可能性大一些。
作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
你好我看网上其他人,没有cmd这个步骤,而是建立一个配置文件,想问下有为什么
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
楼主可否附上读取图片文件的全部操作?刚开始学习,需要详细一些,谢谢!
Powered by
逛了这许久,何不进去瞧瞧?1485人阅读
DSP技术研究(17)
Section目标文件中最小单位称为块,一个块就是最终在存储器映象中占据连续空间的一段代码或数据。
1、COFF目标文件包含三个默认的块:
.text可执行代码
.data已初始化数据
.bss为未初始化数据保留的空间
2、汇编器对块的处理
未初始化块
& & & & & & & & & & & & .bss & & &变量存放空间
& & & & & & & & & & & & .usect & &用户自定义的未初始化段
& & & & & & & & & & & & .text & & 汇编指令代码
& & & & & & & & & & & & .data & & 常数数据(比如对变量的初始化数据)
& & & & & & & & & & & & .sect & & 用户自定义的已初始化段
& & & & & & & & & & & & .asect & &通.sect,多了绝对地址定位功能,一般不用
3、C语言的段
未初始化块(data)
& & & & & & & & & & & & .bss & & &存放全局和静态变量
& & & & & & & & & & & & .ebss & & 长调用的.bss(超过了64K地址限制)
& & & & & & & & & & & & .stack & &存放C语言的栈
& & & & & & & & & & & & .sysmem & 存放C语言的堆
& & & & & & & & & & & & .esysmem &长调用的.sysmem(超过了64K地址限制)
& & & & & & & & & & & & .text & & 可执行代码和常数(program)
& & & & & & & & & & & & .switch & switch语句产生的常数表格(program/低64K数据空间)
& & & & & & & & & & & & .pinit & &Tables for global constructors (C++)(program)
& & & & & & & & & & & & .cinit & &用来存放对全局和静态变量的初始化常数值(program)
& & & & & & & & & & & & .const & &全局和静态的const变量初始化值和字符串常数,(data)
& & & & & & & & & & & & .econst & 长.const(可定位到任何地方)(data)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:247979次
积分:3047
积分:3047
排名:第7264名
原创:56篇
转载:23篇
评论:85条
(1)(2)(6)(8)(4)(6)(2)(1)(1)(6)(9)(2)(6)(1)(1)(1)(1)(1)(2)(6)(12)怎样生成CCS中的可执行文件
[问题点数:20分,结帖人smile_nk]
怎样生成CCS中的可执行文件
[问题点数:20分,结帖人smile_nk]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。CCS中为什么不能在新建工程中添加。C .cmd等文件?_百度知道
CCS中为什么不能在新建工程中添加。C .cmd等文件?
cmd等文件,CCS中为什么不能在新建工程中添加,求教高手我是初学学者。C
包括工程文件回复 lican0816 的帖子需要先建一个文件.c文件.lib ,.asm .cmd ,把它们放在一个文件夹里
其他类似问题
为您推荐:
cmd的相关知识
其他1条回答
然后从中挑选一个example来作为自己的程序的模板,建议用这个办法,并在这个基础上进行程序编写:找到TI对应芯片的Headfile初学的时候
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁DSP基于CCS向量文件编写和汇编语言设计实验_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
DSP基于CCS向量文件编写和汇编语言设计实验
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩12页未读,继续阅读
你可能喜欢

我要回帖

更多关于 ccs cmd文件 添加 的文章

 

随机推荐