1.CMD概述
CMD的全称为链接命令配置文件,用户可以通过编写CMD文件来管理和分配单片机上的物理存储器还有地址空间,其主要包括两方面的内容:1.声明系统的存储器资源,包括片上的资源还有外接的资源(MEMORY指令)以及声明资源分配情况(SECTIONS指令)。
2. MEMORY指令
MENORY指令用于指示存储空间,可以用过PAGE n对可用资源进行分页,n最大为255,在ti的例程中PAGE 0作为储存程序的空间而把PAGE作为储存数据的空间。PAGE n里面写的就是可用空间的信息如以下例子:
前面的FLASH_BANK0_SEC0指的是该存储空间被定义的名字(可修改),orrgin代表的是该空间的起始地址,length表示存储空间的长度,配置的时候要根据下面的内存分配表来操作。
能看到上述例子中的其实地址是在Flash Bank 0中的,280049有两个128k的存储单元那么上述例子就表明存储在第一个单元内
3. SECTIONS指令
SECTIONS指令的作用是分配段到MEMORY指令所定义的空间,即把你编写的或者执行中产生的数据或代码按照你的要求存储到实际的存储空间内。
3.1段的定义与种类
当我们的代码编译之后就会分为很多的段,主要分为两种:已初始化的段还有未初始化的段,这两个段最大的区别就是已初始化的段包含的都是一些不会变化的东西,而未初始化的段通常都是一些要用于动态存储的数据