好文档 - 专业文书写作范文服务资料分享网站

详细手把手教你学dsp教程学习笔记

天下 分享 时间: 加入收藏 我要投稿 点赞

寄存器文件的空间分配

(1) 使用data section方法将寄存器文件分配到数据空间

(2) 数据段映射到寄存器对应的存储空间

条件编译

预处理程序提供了条件编译的功能。 可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。 条件编译有三种形式,下面分别介绍:

1. 第一种形式:

#ifdef 标识符 程序段1 #else

程序段2 #endif

它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为: #ifdef 标识符

第七章 存储器的结构、映像及cmd文件的编写 总线结构为哈佛结构

什么叫分页机制?

http://www.eefocus.com/article/09-05/71862s.html

分页机制在段机制之后进行,以完成线性—物理地址的转换过程。段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址。

分页机制管理的对象是固定大小的存储块,称之为页(page)。分页机制把整个线性地址空间及整个物理地址空间都看成由页组成,在线性地址空间中的任何一页,可以映射为物理地址空间中的任何一页(我们把物理空间中的一页叫做一个页面或页框(page frame))。

使用段的好处在于实现模块化编程

Cmd文件的编写:

1、注释支持:/* */但不支持//,有些关键字必须大写如SECTIONS/MEMORY 2、通过MEMORY伪指令来指示存储空间和SECTIONS分配存储空间。 格式如下:

SECTIONS {

/* Allocate program areas: */

.cinit : > FLASHA PAGE = 0 .pinit : > FLASHA, PAGE = 0 .text : > FLASHA PAGE = 0 Codestart : > BEGIN PAGE = 0 Ramfuncs : LOAD = FLASHD, RUN = RAML0,

LOAD_START (_RamfuncsLoadStart), LOAD_END (_RamfuncsLoadEnd), RUN_START (_RamfuncsRunStart), PAGE = 0

Csmpasswds : > CSM_PWL PAGE = 0 csm_rsvd : > CSM_RSVD PAGE = 0

/* allocate uninitialized data sections: */

.stack : > RAMM0 PAGE = 1 .ebss : > RAML1 PAGE = 1 .esysmem : > RAMH0 PAGE = 1

/* For SDFlash to program these, they must be allocated to page 0 */ .econst : > FLASHA PAGE = 0 .switch : > FLASHA PAGE = 0

/* allocate IQ math areas: */

IQmath : > FLASHC PAGE = 0 /* Math Code */ IQmathTables : > ROM PAGE = 0, TYPE = NOLOAD /* Math Tables In ROM */

/* .reset is a standard section used by the compiler. It contains the */ /* the address of the start of _c_int00 for C Code. /* /* When using the boot ROM this section and the CPU vector */ /* table is not needed. Thus the default type is set here to */

/* DSECT */

.reset : > RESET, PAGE = 0, TYPE = DSECT Vectors : > VECTORS PAGE = 0, TYPE = DSECT

}

烧到FLASH中时,程序运行速度将大大降低,因此希望一些对时间要求较精准的子程序在RAM中运行。

那又如何做到呢??

1、 在FLASH.CMD中划分一段来设置RAM的载入和运行地址

2、 在源文件中利用调用函数memcpy()将FLASH中的内容复制到RAM中运

行。

3、 在头文件中定义新变量

F2812片内拥有18k*16位的ram空间和128k*16位的flash空间

第八章 时钟和系统控制

1、振荡器和锁相环

时钟就像人的心跳一样,对于系统而言他是很重要的。

详细手把手教你学dsp教程学习笔记

寄存器文件的空间分配(1)使用datasection方法将寄存器文件分配到数据空间(2)数据段映射到寄存器对应的存储空间条件编译预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的
推荐度:
点击下载文档文档为doc格式
8rnoe4xwbt57eja0ptd0
领取福利

微信扫码领取福利

微信扫码分享