随笔分类 -  DSP

摘要:一、C5509时钟发生器的两个功能1.将从CLKIN引脚输入的时钟信号变换为适当频率的CPU时钟,提供给CPU、外设和其他模块使用;2.将CPU时钟通过可编程分频器输出到CLKOUT引脚。时钟发生器内部有数字锁相环PLL(phaselockring)和时钟模式寄存器(CLKMD)。二、时钟发生器的工作模式1.旁路模式BypassMode 时钟模式寄存器CLKMD中的PLLENABLE位为0,此时锁相环(PLL)被禁用,输出时钟信号频率为输入时钟信号频率的一分频、二分频或者四分频。分频值由BYPASSDIV确定:BYPASSDIV分频值0010121X4旁路模式下LOCK位为0。2.锁定模式L. 阅读全文
posted @ 2013-12-26 23:00 Andy Cheung 阅读(2143) 评论(0) 推荐(0)
摘要:一、CMD文件链接命令文件(LinkCommandFiles),以后缀.cmd结尾,简称CMD文件。CMD文件的两大功能是指示存储空间和分配段到存储空间。在编写CMD文件时,主要采用MEMORY和SECTIONS两条伪指令。在281x调试时,可以将程序代码链接到Flash或者RAM,因此对应两种CMD文件。MEMORY伪指令作用:指示存储空间。语法如下:MEMORY{PAGE0:name0[(attr)]:origin=constant,length=constantPAGEn:namen[(attr)]:origin=constant,length=constant}PAGE:用来指示存储空 阅读全文
posted @ 2013-12-24 10:57 Andy Cheung 阅读(5719) 评论(0) 推荐(1)
摘要:pragma伪指令通过pragma伪指令告诉编译器如何对待特定的函数、对象或代码段。TMS320C28xC/C++编译器支持如下形式的pragma伪指令: CODE_SECTION(func,“sectionname”); DATA_SECTION(symbol,“sectionname”);注意:func和symbol必须在函数外声明或定义。同时,pragma伪指令也必须在函数外,且位于声明、定义或引用func和symbol之前,否则,编译器会给出警告信息。CODE_SECTIONCODE_SECTION用于为函数func在一个名为sectionname的段中指定空间。C语言的标准用法是.. 阅读全文
posted @ 2013-12-24 10:30 Andy Cheung 阅读(687) 评论(0) 推荐(0)
摘要:TMS320C28x编译器允许在C程序中嵌入汇编指令,通过下面声明实现: asm(“assemblertext”);其中assemblertext指汇编代码。asm指令一般用来处理C/C++语句较难实现的硬件操作。举例: #defineEINTasm("clrcINTM") #defineDINTasm("setcINTM") 阅读全文
posted @ 2013-12-24 10:24 Andy Cheung 阅读(855) 评论(0) 推荐(0)
摘要:constØ使用:const数据类型变量名;Ø作用:优化存储器的分配,表示变量的内容是常数,不会改变。Ø举例:constchartab[1024]={显示数据};volatile(易变的,不稳定的)Ø使用:volatile数据类型变量名;Ø作用:用于声明存储器或外设寄存器,以此来说明所定义的变量是“可变的”,是可以被DSP的其他硬件修改的,而不仅仅由C程序本身修改。Ø举例:volatilestructSYS_CTRL_REGSSysCtrlRegscregisterØ使用:cregister数据类型变量名;Ø作用: 阅读全文
posted @ 2013-12-24 10:18 Andy Cheung 阅读(1028) 评论(0) 推荐(0)
摘要:为了使用CSL来进行编译和连接,必须先配置CCS开发环境。1.指定目标设备 Project/options/complier/preprocessor,在definesymbols中输入设备支持符。设备支持符与DSP的型号有关,见上篇博文的表1-2.2.确定使用小存储模式还是大存储模式,并指定需要的CSL和RTS库 Project/options/complier/advanced,选中largememorymodel单选框或者smallmemorymodel单选框。 Project/options/linker/basic,LibrarysearchPath中应该显示\c5500\cs... 阅读全文
posted @ 2013-12-20 21:47 Andy Cheung 阅读(1362) 评论(0) 推荐(0)
摘要:一、简单介绍 CSL是函数,宏和符号常数的集合,用来控制和配置片上外设。(Chip Support Library) 每一个外设都有自己对应的CSL模块。每个模块有自己的支持符,来表示对于给定的设备,该模块是否被支持。比如若当前的设备支持DMA模块,则_DMA_SUPPORT为1,否则为0。表1-1为各CSL模块的介绍、头文件、模块支持符。 表1-2为CSL支持的C5000系列的设备、每个设备对应的库文件(分小存储模式和大存储模式)和每个设备的设备支持符(在CCS中设置编译选项时使用)。二、命名规则CSL中函数、宏和数据类型的命名规则如表1-3所示。三、数据类型CSL的数据类型定义于st... 阅读全文
posted @ 2013-12-20 21:03 Andy Cheung 阅读(3749) 评论(0) 推荐(0)
摘要:GEL是通用扩展语言(General Extension Language)的英文缩写,GEL是一个大小写敏感但缺少类型检测的解释性语言,只有int类型,在语法上可看作是C语言的一个子集。GEL主要用来扩展CCS的功能,方便用户调试程序,但不是必需的。当我们希望上电后立刻开启或实现某些功能,那么可以在项目中装载GEL文件(由TI提供或用户自行编写)来实现这个目的。此外,项目添加TI公司提供的GEL文件后往往会在CCS的GEL菜单中出现相关的子菜单,用户可以使用它,主要用于程序的调试控制。GEL文件可以看成你所建项目的“秘书”,可以帮你打打杂,处理一些繁琐的事情。下面是一段VC5509的通用GE 阅读全文
posted @ 2013-09-24 15:05 Andy Cheung 阅读(614) 评论(0) 推荐(0)