TI DSP--cmd文件

2019-07-26 19:27发布

cmd文件是使用TI芯片很重要的一步,了解它,能对整个软件系统的分布,对芯片本身资源的使用有一个更清晰的了解,从而达到优化系统的目的。CMD文件一句话来表达:定义芯片内部硬件资源和分配管理软件代码的一个配置文件。因此从cmd文件的组织上你能看到两个部分:1定义硬件资源,2管理软件代码

(非原创,总结与网络)用户通过编写CMD 文件,来管理、分配系统中的所有物理存储器和地址空间。CMD文件,全名连接命令文件(linkercommand files),以后缀.cmd结尾。
CMD文件其实就是 用户的“声明” ,包括两方面的内容:1、用户声明的整个系统里的存储器资源。无论是DSP 芯片自带的,还是用户外扩的,凡是可以 使用的、需要用到的存储器和空间,用户都要一一声明出来:有哪些存储器,它们的位置和大小。如果有些资源根本用不到,可以视为不存在,不必列出来;列出来也无所谓。2、用户如何分配这些存储器资源,即关于资源分配情况的声明。用户根据自己的需要,结合芯片的要求,把各 种数据分配到适当种类、适当特点、适当长度的存储器区域
编写CMD文件例子
  1. /**********************************************************************************************/

  2. -stack 200h                  /* #1  */

  3. /**********************************************************************************************/

  4. MEMORY                  /* #2 声明存储空间 */

  5. {

  6. PAGE 0 ://PAGE 0程序存储空间

  7. VECS  : origin = 0000h , length =0040h  /* 中断向量   */  /* #3 */

  8. PROG  : origin = 0100h , length =7F00h  /* 片上 FLASH  */  /* #4 */



  9. PAGE 1 ://PAGE1 数据存储空间

  10. B2   : origin = 0060h , length =0020h  /* DARAM B2 块 */  /* #5 */

  11. B0B1  : origin = 0200h , length =0200h  /* DARAM B0 块 */  /* #6 */

  12. SARAM : origin = 0800h , length = 0800h /* SARAM 块  */  /* #7  */

  13. ExtSRAM : origin = 8000h , length = 8000h /* 外部存储器  */  /* #8  */

  14. }

  15. /**********************************************************************************************/

  16. SECTIONS                  /* #9 分配段到存储空间 */

  17. {

  18. .vectors :  > VECS  PAGE 0  /* 中断向量表  */  /* #10 */.vectors代表输出段, >VECS同样可以写成load=VECS或VECS,和load平级的还有run,run定义输出段将会在哪里运行,语法run=VECS或run>VECS,当只出现一个run或load时表示地址相同

  19. .text  :  > PROG  PAGE 0   /* 代码    */  /* #11 */

  20. .cinit  :  > PROG  PAGE 0          /* #12 */



  21. .bss  : > SARAM PAGE 1          /* #13*/

  22. 这个其实是.bss load = SARAM PAGE1

  23.                    {

  24. *.(bss)

  25.                     }的简写。表示输入端和输出段同名

  26. .stack  :  > B0B1  PAGE 1          /* #14 */



  27. .extdata :  > ExtSRAM PAGE 1          /* #15 */ }

  28. /**********************************************************************************************/
复制代码

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。