版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、想飞豆豆制作 PAGE 22Part1:ccs3.3中新建一个DM6437的示例工程1、连接好板子,将板子上仿真器的usb口插到电脑上,启动ccs后,ccs会去获取板子信息并在打开的文件目录中自动生成一个文件,如图所示:笔者使用的是6437的板子2、用fiile-neww选择建建立一个个dspp/biios文文件在打开的对对话框中中选择你你使用的的板子的的型号,如如下图:这个时候cccs为为我们建建立了一一个biios文文件,以以图表显显示,里里面按照照所选板板子的类类型添加加相应的的硬件和和其他模模块。保保存这个个文件到到工程目目录下先先,文件件类型为为tcff。保存这个文文件的同同时,cc
2、cs按按照biios中中的配置置在当前前目录下下自动生生成了一一个cmmd文件件。此时时将tccf文件件和这个个cmdd文件同同时添加加到工程程中,使使用然后需要修修改一个个编译选选项,点点击下图图所示选选项进去去:6、 打开开后在编编译选项项对话框框总会看看到一个个命令行行,其中中最后一一句是-mv664000,因为为用的是是64667的板板子,所所以这个个选项要要修改成成 -mmv644+;否否则编译译会报错错:编译译选项不不正确;但并非非所有类类型的板板子都要要改,这这个只针针对型号号为644+的板板子。file-neww-soourcce ffilee建立一一个c源源文件,保保存并加加
3、入到工工程中。以下是示例例程序:#inclludee #inclludee #inclludee Int mmainn(Innt aargcc, SStriing arggv)/maiin函数数的类型型必须这这样写 unsiigneed iint i; unsiigneed iint summ=0; foor(ii = 0; i waarniing: enntryy poointt syymbool _c_iint000 uundeefinnedundeffineed fiirstt reeferrencced symbbol iin ffilee _prinntf E:WWorkkConnt
4、enntproojecctExxamppleTeestDeebuggttestt.obbj errror: syymbool rrefeerenncinng eerroors - ./DDebuug/TTestt.ouut nott buuiltt2)如果想想要prrinttf正确确输出信信息,ccmd文文件中必必须指定定heaap的大大小,即即cmdd文件这这样写:-c-stacck 00 x00000110000 /* Staack Sizze */-heapp 00 x00000110000 /* Heaap SSizee */前面这这三项必必不可少少MEMORRY LL2RAAM: o
5、o = 0 x11080000000 l = 0 xx0000200000 DDDR22: oo = 0 x88000000000 l = 0 xx1000000000SECTIIONSS .bsss L2RRAM .cinnit L2RRAM .cioo L2RRAM .connst L2RRAM .datta L2RRAM .farr L2RRAM .staack L2RRAM .swiitchh L2RRAM .syssmemm L2RRAM .texxt L2RRAM .ddrr2 DDRR2另外,我在在使用ddsp/bioos自动动生成的的cmdd文件进进行编译译的时候候,不会会报错
6、误误或警告告,但是是priintff就是不不能输出出任何东东西,后后来解决决了,具具体解决决方法见见后面的的:“ccss编译中中常见的的编译错错误及解解决方法法”的第4部部分compiile-rebbuilld aall;无错误误提示。此此时项目目就建立立并编译译好了。下下面就要要把程序序加载到到板子上上运行了了。首先要先连连接板子子,点击击debbug-coonneect如果连接成成功,会会看到下下面的效效果:未连接时:连接成功后后:连接成功的的同时,cccs会会打开一一二Diisasssemmblyy窗口,如如下图:加载程序吧吧,程序序编译后后,会在在当前目目录的DDebuug目录录下生成
7、成一个*.ouut的文文件,此此例中的的文件是是“64667EXXAM.outt”;通过过fille-loaad PProggramm加载这这个文件件加载后,DDisaasseemblly窗口口中会有有所变化化,如下下图:Debugg-RRun去去吧提示:1 Ccss的项目目不支持持创建在在中文目目录下。2 项目移移动到其其他文件件夹下面面时,需需要修改改*.ppjt中中的Projjectt SeettiingssProjeectDDir=E:WoorkCConttenttprrojeectEExammplee64467EEXAMM 到新的的目录。很简单的一一个例子子。希望望能帮助助入门的的朋
8、友。Part22:cccs中工工程的创创建-改改变工程程目录时时注意的的细节以64377为例:1、在安装装目录下下,打开开如下路路径下的的示例工工程:vvideeo_llooppbacckC:CCCStuudioo_v33.3boaardssevvmdmm64337_vv2ttesttsvvideeo_llooppbacckOk,如果果板子没没问题,肯肯定能编编译成功功的。2、有时候候我们需需要搬移移自己的的工程到到别的目目录或别别的机器器上去,此此处,将将这个工工程拷贝贝到F盘盘中去,再再重新打打开,编编译,你你会发现现此时提提示以下下错误:mainn.c, llinee 122: ffat
9、aal eerroor: couuld nott oppen souurcee fiile evvmdmm64337.hhtvp551466.h, llinee 122: ffataal eerroor: couuld nott oppen souurcee fiile evvmdmm64337_ii2c.hvideeo_llooppbacck_ttestt.c, llinee 122: ffataal eerroor: couuld nott oppen souurcee fiile evvmdmm64337_ddip.h找不到对应应的头文文件了?并且且你在工工程中也也打不开开这几个个文件,
10、打打开时会会提示:3、看来cccs在在找这些些个头文文件时,没没有从工工程中获获取正确确的路径径信息,打打开项目目文件,此此处是:viddeo_looopbaack.pjtt,会发发下以下下几行:Commpiller Seettiingss: DebbugOptioons=-g -q -frr.Debbug -i.iinclludee -d_DEEBUGG -mv664000+Commpiller Seettiingss: RelleasseOptioons=-q -o33 -ffr.Reeleaase -i.iinclludee -mvv64000+看意思是说说,包含含的头文文件的路路径是在
11、在.inccludde目目录下面面;如果果这个项项目在原原来默认认的目录录下,那那么是正正确的。因因为的确确能看到到所谓的的inccludde文件件夹,他他们就是是在tii默认安安装目录录下面的的。但是由于我我们改变变了项目目的路径径,那么么这些个个目录肯肯定是不不对的,所所以cccs无法法找到这这些个文文件了。4、那是不不是修改改过来就就好了。答案是肯定定的也是是否定的的,如果果我们找找到这个个inccludde目录录,并写写到pjjt文件件中,如如下所示示:Commpiller Seettiingss: RelleasseOptioons=-q -o33 -ffr.Reeleaase -i
12、CC:CCCSttudiio_vv3.33booarddseevmddm64437_v2inccludde -mmv64400+那么肯定是是可以的的。但是是如果我我们拷贝贝到别的的机器上上,而别别的机器器上的开开发板驱驱动或cccs的的安装路路径和我我们不一一样的话话呢?难难道重新新再找一一遍再写写一遍?可能你已经经想到了了,使用用相对路路径,那那么我们们先看看看ccss都在我我们环境境里面注注册了那那些环境境变量:5.1、打打开cmmd,切切换到cc盘。然然后输入入以下命命令:setaa.txxtSet命令令是查看看系统中中注册的的环境变变量的。操作符符是用来来重定向向用的,可可以将查查询到
13、的的结构重重定向到到一个ttxt文文件中。所所以上面面的命令令是那么么写的。5.2打开开a.ttxt.会看到到一堆的的环境变变量。其其中有这这么几个个是cccs相关关的:BIOSDDVSDDK_IINSTTALLL_DIIR=CC:ddvsddk_11_011_000_155BIOSUUTILLS_IINSTTALLL_DIIR=CC:ddvsddk_11_011_000_155biiosuutills_11_000_022BIOS_INSSTALLL_DDIR=C:/CCSStuddio_v3.3/bbioss_5_31_07BSL_EEVMDDM64437_INSSTALLLDIIR=CC
14、:CCCSttudiio_vv3.33booarddseevmddm64437_v25.3第四四个就是是我们想想要的目目录了。那那么现在在修改ppjt文文件中的的那两行行内容为为:Commpiller Seettiingss: DebbugOptioons=-g -q -frr.Debbug -i%BSLL_EVVMDMM64337_IINSTTALLLDIRR%/iinclludee -d_DEBBUG -mmv64400+Commpiller Seettiingss: RelleasseOptioons=-q -o33 -ffr.Reeleaase -i%BSLL_EVVMDMM64337
15、_IINSTTALLLDIRR%/iinclludee -mv664000+5.4编译译,连接接成功。并并且再也也不怕移移来移去去了。5.5注意意:有时时候可能能还有一一个地方方需要该该:Projjectt SeettiingssProjeectDDir=E:WoorkCConttenttprrojeectEExammpleeviideoo_looopbbackk指向项目文文件的绝绝对路径径。而项项目文件件中的相相对路径径都是基基于该路路径。Part33:ccs编编译中常常见的编编译错误误及解决决方法1 faastccopyy 提示示找不到到iallg.hh等头文文件,打打开cmmd文件件后看
16、到到目录包包含命令令有: -i%XXDAIIS_IINSTTALLL_DIIR%/pacckagges但是系统中中没有XXDAIIS_IINSTTALLL_DIIR这个个环境变变量,于于是找到到xdaais的的安装目目录:C:dvvsdkk_1_01_00_15xdaais_5_221然后添加系系统环境境变量:变量名:XXDAIIS_IINSTTALLL_DIIR变量值:CC:ddvsddk_11_011_000_155xddaiss_5_21注销或重启启或者kkilll掉exxploorerr后在运运行即可可2 cccs提示示:coouldd noot oopenn soourcce ffi
17、lee tti/ssdo/fc/acppy3/acppy3.h。和问题2相似,在cmd文件中找到另一条包含目录命令:-i%FFC_IINSTTALLL_DIIR%/pacckagges同样在系统统环境变变量里面面没有这这个东西西。因为为acppy3是是属于fframmewoork commponnentt 的东东西,所所以找到到fc的的安装目目录C:dvvsdkk_1_01_00_15fraamewworkk_coompoonennts_1_220_003添加系统环环境变量量:变量名:FFC_IINSTTALLL_DIIR变量值:CC:ddvsddk_11_011_000_155frramee
18、worrk_ccompponeentss_1_20_033、 在程程序中查查到其用用到了FFCPYY_IFFCPYY这个变变量:IFCPYY_Fxxns * fxxns = (IIFCPPY_FFxnss *)&FCCPY_IFCCPY;但是只在整整个工程程的.cc 或.h文件件中找到到如下FFCPYY_IFFCPYY的定义义:exterrn farr IFFCPYY_Fxxns FCPPY_IIFCPPY; 在当当前文件件前面这这样定义义的按上面的定定义,这这个FCCPY_IFCCPY肯肯定在其其它文件件中有定定义的,但但是并没没有找到到。最后在命令令连接文文件.ccmd文文件中找找到如下下
19、一行语语句:_FCPYY_IFFCPYY = _FFCPYY_TII_IFFCPYY;而且找找到 FFCPYY_TII_IFFCPYY 定义义如下:IFCPYY_Fxxns FCPPY_TTI_IIFCPPY = /* moodulle_vvenddor_intterffacee */ IAALGFFXNSS, /* IIALGG fuuncttionns */ FCPPY_TTI_cconttroll, /* Coontrrol funnctiion */ FCPPY_TTI_ddoCoopy /* Thhe ffcpyy fxxn */;因此推断,ccmd文文件中的的这个命命令将FFCPY
20、Y_IFFCPYY FCCPY_TI_IFCCPY两两个东西西等同起起来了,前前面的下下划线应应该是格格式需要要。有熟熟悉这个个的朋友友给解释释下。使用dspp/biios时时,prrinttf函数数默认不不起作用用。 这是是因为bbioss中没有有动态分分配heeap的的原因,默默认情况况下meem对hheapp的分配配如下图图所示:1)很明显显看到这这里选择择的是:no dynnamiic mmemoory heaaps但是取消选选中后,会会发现下下拉框中中并没有有任何选选项让选选择把hheapp放在哪哪里。如如下图所所示:并且会之前前弹出一一个对话话框:大概意思是是让你去去重新配配置一块
21、块独立的的内存块块。另外还有一一个地方方需要注注意,就就是dddr2的的设置。打打开dddr属性性,会发发现:创建heaap选项项居然是是灰色的的那那我去哪哪里创建建heaap呢?下面是正确确的步骤骤:3.1)首首先打开开MEMM的属性性对话框框,将nno ddynaamicc meemorry hheapps 复复选框取取消,并并按 应应用按钮钮后,点点击确定定按钮。如如下图所所示:3.2)这这时再去去打开dddr22的属性性对话框框:你会发现,这这个时候候“creeatee a heaap iin tthiss meemorry”项可以以用了,点点选此复复选框。然然后输入入适当的的大小,并
22、并点击应应用 后后再点确确定 按按钮退出出。如下下图所示示:3.3)此此时,我我们已经经为heeap分分配了一一段数据据空间了了,但是是还得回回到meem属性性对话框框中:此时就发现现,原本本只有一一项MEEM_NNULLL的下拉拉列表中中多了一一项DDDR2;选中DDDR22,ssegmmentt foor ddsp/bioos oobjeectss 和和 ssegmmentt foor mmallloc()/ffreee()都都选中dddr22.然后点应用用、确定定按钮后后退出。再再去试试试程序。PPrinntf函函数可以以用了。内存分配:MEMM_alllocc:如何何指定分分配对象象的
23、位置置?比如如分配到到ddrr中或ssramm中当时的Dmm64667内存存分配:然后定义变变量:fcpyIInpuut = (iint *)MMEM_allloc(1, ssizeeof(intt)*IINPUUTSIIZE, 8);fcpyOOutpput = (intt *)MEMM_alllocc(0, ssizeeof(intt)*IINPUUTSIIZE, 8);调试的时候候结果是是这样的的:经查资料得得知,mmem_allloc中中第一个个参数,指指定的是是内存分分配的位位置;其其值与系系统内存存heaap的定定义相关关,其具具体使用用如下: 11)如下下图所示示,在dddr中中
24、建立一一个heeap,并并指定hheapp_iddenttifiier_labbel)为为“_EXXTERRNALLHEAAP”,这个个名字可可以自己己随便起起。然后在程序序中,按按照heeap labbel定定义一个个变量,变变量名必必须和hheapplabbel下下划线后后面的名名字一样样,并且且类型是是extternnal的的,如: extternn intt EXTTERNNALHHEAPP;编译的时候候,编译译器会自自动将这这个整形形变量和和heaap llabeel联系系起来。如如果不写写“extternn”关键字字,不仅仅编译器器不能将将其和hheapp laabell联系起起来
25、,而而且连接接的时候候会提示示“EXTTERNNALHHEAPP”被双重重定义了了。因此此程序中中不能定定义和hheapp laabell 名字字相同的的变量。如如果有,就就必须是是extternn类型的的,编译译器会自自动将其其指向你你创建出出来的那那段heeap。最后memm_alllocc就可以以这样写写了:fcpyIInpuut = (iint *)MMEM_allloc(EXTTERNNALHHEAPP, ssizeeof(intt)*IINPUUTSIIZE, 8);程序编译连连接通过过,但是是在执行行的时候候提示CIOO BUUFFEER类类似的错错误:我在这里是是因为在在bioos为iiramm分配空空间地址址时由于于来回修修改,结结果导致致出现的的错误。后后来重新新按照标标准修改改bioos的ttcf文文件后,不不会再有有这个错错误了。Heap的的作用,内内存分配配中指定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中知识课件
- 厂长助理课件
- 初中长城课件模板下载课件
- 郑州人才公寓实施方案
- 农药创业行业前景分析报告
- 初中七年级科学教学设计:物质微观结构的模型构建与证据推理
- 初中地理九年级教学设计:中国疆域人口民族中考复习专题深度解析与核心素养构建
- 高中地理高三一轮复习教学设计:自然环境整体性与地域分异规律深度解析
- 小学三年级书法长横短横教学设计
- 初中生物七年级下册教学设计:水的利用与散失的探究式教学实践
- 厨师服务礼仪规范
- 旅游行业员工服务礼仪培训
- DB11∕T 1796-2020 文物建筑三维信息采集技术规程
- 智慧方案石化信息化建设项目炼化板块及智能解决方案
- 第8课 我为班级作贡献(教学课件)小学二年级上册 统编版《道德与法治》新教材
- 神经阻滞患者健康宣教
- 会务服务培训课件
- 桡骨远端骨折护理课件
- 企业装修项目管理制度
- JG/T 127-2007建筑门窗五金件滑撑
- 水池清洗、消毒、维护管理制度
评论
0/150
提交评论