ImageVerifierCode 换一换
格式:PPT , 页数:41 ,大小:1.16MB ,
资源ID:7436504      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7436504.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(DSP-如何构建一个的工程PPT学习课件.ppt)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

DSP-如何构建一个的工程PPT学习课件.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第4章 如何构建一个完整的工程,1,目录,1、一个完整的工程有哪些文件构成及其作用,2、怎样创建一个新的DSP工程,3、通用扩展语言GEL,2,4.1 DSP开发环境、硬件平台,DSP开发通常需要软件开发环境和硬件平台。,软件开发环境:,CCS(Code,Composer,Studio),是TI公司为方便开发人员而设计的软件环境。,硬件平台:,由仿真器和目标板组成。仿真器的作用是将目标板和PC机连起来,使得您可以在CCS里对目标板上的DSP进行编程,烧写和调试等工作,而目标板是指具有DSP芯片,上电后能保

2、证DSP独立运行电路板,,3,一个完整的工程由哪些文件构成,打开CCS3.3软件前的准备工作,1.要确定访问的文件中不含中文字符,因为CCS3.3是英文字符的软件;,2.将TMS320F2812例程文件夹中的Gpio文件夹复制到CCS3.3安装路径下MyProjects文件夹里,4,打开CCS软件后,打开工程的方式有以下两种:一种是点击菜单栏的Project,Open,另一种方法是左侧Files窗口内,点击,“,Projects,”,然后右键,点击,“,Open,Project,”,。,5,打开gpio工程之后,gpio.pjt工程会显示在左侧Files窗口内。,点击gpio.pjt左边的加号

3、工程内部的文件就展现在我们面前了,下面我们来分析一下构成该工程的文件。,首先我们看到的是Include文件夹下面有很多后缀是.h的文件,这就是2812的头文件了,头文件的作用是定义了2812内部寄存器的数据结构。头文件一般情况下不需要修改,如果你需要定义一些在整个工程内都具有作用域的全局变量的时候,可以在头文件中定义这些变量,具体的方法我们以后在例程或项目实践中应该会有介绍。,6,然后是libraries下面扩展名为.lib的库文件,它是C语言系统的库文件。,7,库文件下面是source文件夹,里面的文件都是以.c为扩展名的,顾名思义,就是源文件,也就是我们开发时编写的软件代码都是保存在这些

4、文件中的。,8,最后是以.CMD为扩展名的文件,这个文件的作用是用来分配存储空间的。由于DSP编译器的编译结果是未定位的,DSP也没有操作系统来定位执行代码,DSP系统的配置需求也不尽相同,因此我们根据实际的需求,自己定义代码的存储位置。打个通俗的比喻,就是我们有一个仓库,现在需要把货物存放到仓库里面去,为了便于日后取用货物,我们将货物分门别类,然后把它们存放到指定的位置去。把哪些货物放到哪个位置的规则,就是我们的CMD文件的内容。,CMD文件又分成两种。一种是分配RAM空间的,用来将程序load到RAM内进行调试,因为我们大部分时间都是在调试程序,所以多用这类CMD,gpio工程中的sram

5、cmd就是用于分配RAM空间的,另一种是分配FLASH空间的,当程序调试完毕后,需要将其烧写到FLASH内部进行固化,这个时侯我们就需要使用这类CMD文件了。,9,总结,1、,头文件:,以.h为后缀的文件,主要定义了芯片内部寄存器结构、中断服务程序等内容。,2、,库文件,:以.lib为后缀的文件,包含了寄存器的地址和对应标示符的定义,还包含标准C/C+运行支持的库函数。,3、,源文件,:所编写的代码都写在各个源文件中;包含了所有要实现功能的代码,是工程的核心。,4、,CMD文件,:分配RAM空间,用来将下载到RAM中的程序进行调试,是因为DSP编译器编译结果是未定位的,DSP也没有相应系统来

6、执行代码,DSP系统的配置需求也不尽相同,因此需要定义代码的存储位置。,10,4.2 怎样创建一个新的DSP工程,1.打开CCS,点击菜单栏里的Projects,点击New,会跳出新工程设置的对话框,如下图所示。,11,2、在Projects栏内我们填写工程的名字:hellodsp。检查Location,如果您都是按照默认路径来的,那没有问题,如果不是默认路径,您得手工指定一下文件路径,确认没有问题后点击Finish。我们发现在myprojects文件夹下多了hellodsp文件夹,hellodsp文件夹下生成了hellodsp.pjt文件,而且在CCS左侧的Files栏内,出现了我们刚刚创建

7、的hellodsp.pjt。,12,3.根据前面一个完整工程的组成情况的分析,我们首先来准备头文件。由于头文件多数情况下是不需改动的,也就是说大家用的头文件都是一样的,因为是定义2812的内部资源,所以可以将newproject文件夹内的头文件全部复制到hellodsp文件夹。,4.将newproject文件夹内的.lib文件和.cmd文件同样复制到hellodsp文件夹。,5.下面就剩下源文件了。我们先来分析一下newproject文件夹下各个源文件的内容,以便于我们更好的理解和采用这种文件结构。,13,F2812常用的源文件,序号,文件名,主要内容,1,DSP28_Adc.c,AD初始化函

8、数,2,DSP28_CpuTimers.c,CPU定时器初始化函数,3,DSP28_ECan.c,增强型Can初始化函数,4,DSP28_Ev.c,事件管理器Ev初始化函数,5,DSP28_Gpio.c,通用I/O模块初始化函数,6,DSP28_Mcbsp.c,多通道缓冲串行口初始化函数,7,DSP28_Sci.c,串行通信接口初始化函数,8,DSP28_Spi.c,串行外围接口初始化函数,9,DSP28_SysCtrl.c,系统控制模块初始化函数,10,DSP28_Xintf.c,外部接口初始化函数,11,DSP28_XIntrupt,外部中断初始化函数,12,DSP28_InitPerip

9、herals.c,包含了其他的外设初始化函数,13,DSP28_PieCtrl.c,PIE控制模块初始化函数,14,DSP28_PieVect.c,对PIE中断向量进行初始化,15,DSP28_DefaultIsr.c,包含了F2812所有外设中断函数,16,DSP28_GlobalVariableDefs.c,定义了F2812的全局变量和数据段程序,14,通过上面的分析我们可以看到几个文件非常重要,DSP28_DefaultIsr.C,,DSP28_GlobalVariableDefs.C,,DSP28_PieCtrl.C,DSP28_PieVect.C,,DSP28_SysCtrl.C,,

10、把这些未编辑过的文件复制过来。其他的外设相关的文件,这个工程中涉及到哪个外设,就把这个外设相关的源文件复制过来,一起加入工程。,接下来就是往工程内添加文件了。首先我们来添加库文件。点击,“,hellodsp.pjt,”,,右键,点击,“,Add,Files,to,Project,”,,跳出了添加文件的对话框,15,在筛选框栏内选择,“,Object,and,Library,Files,”,,就会看到RTS2800N.lib,点击并打开,便将库文件添加到工程中来了。,16,用同样的方法,来添加sources文件夹下的源文件和CMD文件。只是添加源文件时,筛选框的条件是,“,C+,Source,F

11、ile(*.cpp;*.cc;*.cxx),”,添加CMD文件时,筛选框的条件应当选择,”,Linker,Command,File(*.cmd;*.lcf),”,。,创建main函数:点击菜单栏中的,File,”,New,”,”,Source File,”,,在编辑区域内出现了一个新的Untitled1文件,17,点击,“,File,”,“,Save,”,,会出现保存文件的对话框。文件名填写,“,hellodsp,”,,关键要注意的是保存类型,因为我们现在要建立的是源文件,所以选择,“,C/C+Source Flies(*.c*),”,,点击保存。,18,这时,我们看到原来的,“,Untitl

12、ed1,”,变成了,“,hellodsp,”,了。我们在hellodsp文件内输入以下内容:,然后点击保存,并关闭hellodsp.c文件。,再用我们刚才添加文件的方法将hellodsp.c添加到工程中来。,19,点击工具栏上的,“,Rebuild All,”,,对hellodsp.pjt进行编译:,编译结果如图所示,出现了一个warning:,根据warning的提示是用默认的1024bytes来创建.stack section,就是堆栈段。点击菜单栏的,”,Project,”,”,build options,”,,弹出编译选项的对话框。选择,“,Linker,”,标签,在Stack Siz

13、e(-stack)栏填写,“,800,”,,点击确定。,20,重新编译:,21,4.3 通用扩展语言GEL,GEL是General Extended Language的缩写,即通用扩展语言,是一种类似于C的解释性语言。用户可以通过在文件中使用GEL语言来创建函数,从而扩展CCS的功能。通过GEL,可以访问目标板的存储器,并为CCS的GEL菜单添加选项。,22,4.3.1 GEL语法,GEL语法支持的语句类型,序号,GEL语法支持的语句,1,GEL函数,包括函数的定义、参数、调用,2,Return语句,3,If-else语句,4,While语句,5,GEL注释语句,6,预处理语句,GEL是C语言

14、的一个子集,23,GEL函数的定义,GEL函数定义如下,斜体字表示变量:,funcName(,parameter1,parameter2,parameter n,),statements,funcName GEL函数名,parameters 有效的GEL参数,statements 有效的GEL语句,注:GEL函数定义在文本文件中,其扩展名是.gel。一个GEL文件可以包含多个GEL函数的定义,但是一个GEL函数定义不能嵌套在另一个GEL函数的定义中。,24,例4-1 定义平方函数,square(a),return a*a;,square(1.5)=2.25;,square(3)=9。,在GEL

15、函数square中,并没有指定返回值的类型,也没有说明参数a的类型,这是GEL语言和C语言的区别,25,例4-2 定义初始化对话框函数,dialog Init(filename,“,File to be Loaded,”,CPUname,“,CPU Name,”,initValue,“,Initialization Value,”,),GEL_Load(filename,CPUname);,a=initValue;,首先,dialog不是指返回值的类型,这个函数里也没有返回值。dialog是关键字,意思是对话框,也就是说当调用函数Init的时候,会弹出一个对话框,该对话框会有3个项,分别是函数

16、的3个参数:filename、CPU Name和initValue。每个参数后面紧跟的字符串是对参数的描述。,26,4.3.2 GEL函数的参数,GEL参数可以是以下任意一种:,一个实际的/仿真的DSP目标板符号值。,一个数字常量,如果传递的是表达式或者常数值。,一个字符串常量。,27,例4-3 分析GEL函数参数,Initialize(a,filename,b),targVar=b;,a=0;,GEL_Load(filename);,return b*b;,下面是对函数Initialize的正确调用:,Initialize(targetSymbol,,“,C:,CCStudio_v3.3My

17、ProjectsgpioDebuggpio.out,”,,,28*4+2.52)。,当执行函数Initialize时,参数a被定义为DSP的标示符targetSymbol,参数filename初始化为字符串常量,“,C:,CCStudio_v3.3MyProjectsgpioDebuggpio.out,”,,参数b通过计算成为常数114.52。这些值在函数中对应参数的地方使用。,28,GEL函数的调用,通常可以在可以输入C表达式的任何地方调用一个GEL函数;可以从任何能接受有效C表达式的对话框中调用一个GEL函数;还可以在一个GEL函数中调用另一个GEL函数。,29,4.3.3 GEL语句,返

18、回语句,If-else语句,While语句,注释语句,预处理语句,30,GEL返回语句,GEL在一个函数里支持标准C的返回语句,,其一般形式为:,return expression;,一个返回语句并不是需要返回一个值,一个没有表达式的返回语句将控制返回到调用处,但并不返回有用的值。这和当函数执行到终点时仍没有遇到返回语句的结果是一样的,与标准C语言不同的是,GEL函数的定义并不需要指定返回值的类型,返回值的类型在程序运行时决定。,31,GEL if-else语句,GEL支持标准C的if-else语句。通用格式为,:,if(expression),statement1,else,statemen

19、t2,执行if-else语句时,两个语句中只有一个才会执行。statement1和statement2可以是一个单语句,也可以是用括号括起来的多个语句。,32,GEL while语句,GEL的while语句类似于标准C的while语句,,但是GEL不支持标准C的continue和break语句。,通用格式为:,while(expression),statement,执行while语句时,先计算表达式expression的值。如果expression的值为真,语句执行,表达式被从新计算。这里的statement可以是单语句,也可以是括号里的多个语句。,33,GEL注释,GEL支持标准C语言的注释

20、GEL的注释,限用字符/*和*/,可以跨越若干行。,34,GEL预处理语句,GEL支持标准C的#define预处理关键字,,这也是唯一可用的预处理关键字。,下面的语句,使预处理器用给定的字符序列取代标识符,,其中字符序列前后的空格都不要:,#define identifier token-sequence,下面的语句(第一个标识符和括号之间没有空格),是一个宏定义,其参数是标识符列表:,#define identifier(identifier-list)token-sequence,35,4.4 关键字hotmenu,使用关键字hotmenu,将一个GEL函数添加到GEL菜单,里,则该函

21、数一旦被选中就立即执行,其语法如下:,hotmenu funcname,statements,36,37,关键字dialog,使用关键字dialog,向GEL菜单添加GEL函数,,并为参数输入创建一个对话框。从GEL菜单选择该函数时,,会出现一个对话窗口,并提示输入参数。,函数定义时紧跟在参数后面的字符串用来在对话窗口里描述参数。其语法如下:,dialog funcName(paramName1,“,param1 definition,”,paramName2,“,param2 definition,”,),statements,其中 paramName1是函数内部使用的参数变量名;paramName2是对参数的描述。,38,39,关键字slider,使用关键字slider,向GEL菜单添加GEL函数。,当从GEL菜单执行该函数时,就会出现滑动条来控制,传递给GEL函数的值。,每次移动滑动条,就用新的参数来调用GEL函数,,该参数反映的是滑动条的位置。其格式如下:,Slider parma_definition(minVal,maxVal,increment,pageIncrement,paraName),statements;,40,41,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服