2810和2812一样,CMD采用分页制,其中PAGE0用于存放程序空间,而PAGE1用于存放数据空间;
在CMD文件里有两个基本的段:初始化段和非初始化段。初始化段包含代码和常数等必须在DSP上电之后有效的数。故初始化块必须保存在片内FLASH等非易失性存储器,非初始化段中含有在程序运行过程中才像变量内写数据进去,所以非初始化段必须链接到非易失性存储器中如RAM。
已初始化段包括:.text,.cinit,.const,.pinit和.switch
.text:所有可以执行的代码和常量
.cinit:全局变量和静态变量的C初始化记录
.const:包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明
.econst:包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明
.pinit:全局构造器(C++)程序列表
在CMD文件里有两个基本的段:初始化段和非初始化段。初始化段包含代码和常数等必须在DSP上电之后有效的数。故初始化块必须保存在片内FLASH等非易失性存储器,非初始化段中含有在程序运行过程中才像变量内写数据进去,所以非初始化段必须链接到非易失性存储器中如RAM。
已初始化段包括:.text,.cinit,.const,.pinit和.switch
.text:所有可以执行的代码和常量
.cinit:全局变量和静态变量的C初始化记录
.const:包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明
.econst:包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明
.pinit:全局构造器(C++)程序列表
.switch:包含转换语气声明的列表
非初始化的段:.bss,.ebss,.stack,.sysmem,.esysmem(即存储空间)
.bss:为全局变量和局部变量保留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.bss空间
.ebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.ebss中
.stack:为系统堆栈保留的空间,主要用于和函数传递变量或为局部变量分配空间
.sysmem:为动态存储分配保留的空间。若有宏函数,此空间被宏函数占用,如果没有的话,此空间保留为0
非初始化的段:.bss,.ebss,.stack,.sysmem,.esysmem(即存储空间)
.bss:为全局变量和局部变量保留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.bss空间
.ebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.ebss中
.stack:为系统堆栈保留的空间,主要用于和函数传递变量或为局部变量分配空间
.sysmem:为动态存储分配保留的空间。若有宏函数,此空间被宏函数占用,如果没有的话,此空间保留为0
.esysmem:为动态存储分配保留的空间。若有far函数,此空间被相应占用,如果没有的话,此空间保留为0