刚找到的资料,虽然不够全,希望能帮到你。。。

祝愿同在努力的你,成功

CMD文件的作用:

在DSP里,程序执行过程中也有好多地方需要跳转,所以需要跳转的目标地址。如果你在编程序时知道你所要跳转的地址,那就更好的,但实际上,这是很不好控制的。所以就产生了.CMD。它有一个最大的好处,可以把每个段分配地址,所以比如你想从一个段跳到另一个段的时候,就很方便的知道这个段的起始地址。

CMD

它是用来分配rom和ram空间用的,告诉链接程序怎样计算地址和分配空间.所以不同的芯片就有不同大小的rom和ram.放用户程序的地方也不尽相同.所以要根据你的芯片进行修改.cmd文件分两部分.MEMORY和SECTIONS.

MEMORY

{

PAGE 0 ..........

PAGE 1.........

}

SECTIONS

{SECTIONS

{

.vectors .................

.reset .................

................

}

MEMORY是用来指定芯片的rom和ram的大小和划分出几个区间.

PAGE 0 对应rom;PAGE 1对应ram

PAGE 里包含的区间名字与其后面的参数反映了该区间的起始地址和长度.

如: PAGE 0 : VECS(区间名字): origin(起始地址) = 0h , length (长度)=040h

SECTIONS:(在程序里添加下面的段名如.vectors.用来指定该段名以下,另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“>”符号后的空间名字所在的地方。

如引用字段名“.vectors ”的程序或数据将被放到VECS ,VECS是PAGE0即是ROM空间 00H至40H的地方

SECTIONS

{

.vectors : { } > VECS PAGE 0

.reset : { } >

VECS PAGE 0

............

}

.vectors,.reset都是段名。 加不加“.”随你便,即.vectors表示名为 “.vectors”的段。

{}表示段的全部,{}> VECS PAGE 0表示将段的全部放入名为 VECS PAGE

0的内存区。

example:

MEMORY

{

PAGE 0: VECS: origin = 00000h, length = 00040h

LOW: origin = 00040h, length = 03FC0h

SARAM: origin = 04000h, length = 00800h

B0: origin = 0FF00h, length = 00100h

PAGE 1: B0: origin = 00200h, length = 00100h

B1: origin = 00300h, length = 00100h

B2: origin = 00060h, length = 00020h

SARAM: origin = 08000h, length = 00800h

}

SECTIONS

{

.text : { } > LOW PAGE 0

.cinit : { } > LOW PAGE 0

.switch : { } > LOW PAGE 0

.const : { } > SARAM PAGE 1

.data : { } > SARAM PAGE 1

.bss : { } > SARAM PAGE 1

.stack : { } > SARAM PAGE 1

.sysmem : { } > SARAM PAGE 1

}

1,系统定义:

.cinit 存放C程序中的变量初值和常量;

.const 存放C程序中的字符常量、浮点常量和用const声明的常量;

.switch 存放C程序中switch语句的跳针表;

.text 存放C程序的代码;

.bss 为C程序中的全局和静态变量保留存储空间;

.far 为C程序中用far声明的全局和静态变量保留空间;

.stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;

.sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空间

2,用户定义:

#pragma CODE_SECTION (symbol, "section name";

#pragma DATA_SECTION (symbol, "section name"

cmd c语言 文件,DSP,如何编写CMD文件!(转)相关推荐

  1. ROS实战篇(二)如何创建自定义的msg文件以及自己编写launch文件?

    一.如何创建自定义的msg文件? msg文件介绍: 1.msg文件是用来描述ROS中自定义的消息类型的,可以被不同语言调用. 2.msg文件以 .msg 结尾,必须存放在软件包的msg文件夹下. 3. ...

  2. aidl生成java文件_Android Studio编写AIDL文件后如何实现自动编译生成

    Android Studio编写AIDL文件后如何实现自动编译生成 发布时间:2020-09-17 23:34:54 来源:脚本之家 阅读:111 作者:EdwardChu123 在目录src/mai ...

  3. C语言,后门程序,C语言CGI编程二 - 编写cmd后门

    里面该说的都说的很清楚.今天我们来用它来做一个后门,将后门放在有执行cgi权限的服务器上,通过客户端POST命令到cgi上并执行,达到控制服务器的目的. 首先下载官网上的压缩包.解压里面有cgic.c ...

  4. android上传文件php,PHP编写安卓文件上传接口

    为了快速满足安卓客户端或跨域文件上传接口,现在用PHP写个可以文件上传类.可通过安卓客户端或者其他域名的网站上传窗口,可以把文件上传指定的服务器中,下面是详细代码.//主方法获取上传文件 public ...

  5. 网页文件是用html语言创建的文本文件,HTML超文本标记语言,用它编写的文件(文档)的扩展名是.ppt...

    HTML 超文本标记语言,用它编写的文件(文档)的扩展名是.html或.htm 网站首页的主文件名:Index,Default HTML是一个标准的ASCII文件 HTML语言使用标记对,标记名> ...

  6. clw文件作用及不同后缀文件含义

    在VC中*.clw文件起什么作用,如果删除重新编译是否会再产生,如果不能会出现什么后果? Top 1 楼coyer(test)回复于 2003-05-15 11:28:56 得分 10 这个文件是向导 ...

  7. [DSP学习笔记]cmd文件的讲解

    一.前言 在笔者学习F28335的过程中,发现网上少有对于cmd文件的讲解,而学习DSP,肯定是要编写或修改cmd文件的.故笔者基于自己的学习经验,给出了自己对于cmd文件的理解. 在正式开始学习cm ...

  8. 易语言复制C指针,易语言教程API模块制作cmd复制文件

    使用cmd命令封装易语言复制文件. cmd_复制文件 1. 使用cmd命令复制文件 COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source ...

  9. app抢购脚本如何编写_如何用1个记事本文件征服全世界?——cmd批处理脚本编写...

    电脑可以定时帮你自动处理一些重复的事务.一键实现别人多键才能实现的功能,利用常用的cmd命令可以完成这些功能,这次我们从操作层面聊一聊,如何利用这些cmd命令在记事本中编写脚本,进而实现任何自己想实现 ...

最新文章

  1. cent卸载mysql_centos 7.x 安装/卸载MySQL
  2. SpringBoot使用AOP
  3. 【全栈React】第6天: 状态
  4. 使用WINAPI获得磁盘空间信息
  5. 尊重对手就是对自己最好的尊重
  6. java short 写法_Java Short longValue()用法及代码示例
  7. 第10课:动手实战基于 CNN 的电影推荐系统
  8. Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag
  9. js与Ajax实现浮动留言板(留言写入sqlserver数据库)
  10. 如何订阅MQTT服务器历史消息,MQTT协议之消息订阅
  11. 类重复引用_JVM类加载从JDK来看
  12. Hadoop HIVE 基本函数
  13. 如何录制回放测试用例并且添加检查点?
  14. 激战2:逐火之路-概念艺术设计
  15. Thinkphp 6.0商城系统,B2C商城系统全新UI
  16. matlab或_Matlab下载安装教程
  17. java script幻灯片效果,JS实现图片幻灯片效果代码实例
  18. xp系统打开sql服务器不可用,xp系统安装sql2000个人版无反应
  19. 苹果手机怎么关闭爱奇艺自动续费_爱奇艺回应涨价为用户创造优质服务,小编建议用户先关闭自动续费...
  20. vue 整合百度地图

热门文章

  1. 高并发负载均衡(三):LVS的DR模型试验搭建
  2. 汇编语言 修改内存中的过时数据
  3. NumPy之:标量scalars
  4. Libra教程之:Libra testnet使用指南
  5. 技术面试问项目难题如何解决的_【知识】同轴线如何当quot;网线quot;使用?解决改造项目中难题...
  6. Effective Java之避免使用受检的异常(五十九)
  7. Mining Precision Interface From Query Logs -- 学习笔记(二)
  8. 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列
  9. 1097 Deduplication on a Linked List (25 分)_35行代码AC
  10. 19行代码AC——例题 6-2 铁轨(Rails, UVa 514)——解题报告