资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,*,智能算法部学习交流会,张璞阳,2011,年,9,月,27,日,1,2025/1/4 周六,学习要点,GEL,文件,回调函数,存储器映射,关键词,疑惑?,2,2025/1/4 周六,GEL,是通用扩展语言(,General Extension Language),的英文缩写,,GEL,是一个大小写敏感但缺少类型检测的解释性语言,只有,int,类型,在语法上可看作是,C,语言的一个子集。,GEL,文件,GEL,支持以下类型的语句:,函数定义,函数参数,调用,GEL,函数,返回语句,if-else,语句,while or do while,语句,GEL,注释,预处理语句,3,2025/1/4 周六,GEL,的作用在于扩展,CCS Studio,的功能,可以用,gel,来调用一些菜单命令,对,DSP,的存储器进行初始化配置等,,但不是必需的,。,当希望上电后立刻开启或实现某些功能,那么可以在项目中装载,GEL,文件,(由,TI,提供或用户自行编写)来实现这个目的。但是建议对于使用,仿真器和,DSP,功能板,的仿真环境用户来说,这种,GEL,语言文件是,没必要,加入到配置中的。,gel,语言的,重要性在于针对计算机模拟环境,的用户,使用,gel,可以为其准备一个虚拟的,DSP,仿真环境,但也不是非用不可的。”,GEL,文件到底需不需要加载?,4,2025/1/4 周六,GEL,文件,GEL,函数库,StartUp(),OnTargetConnect(),OnPreFileLoaded(),OnFileLoaded(),OnReset(),OnRestart(),OnHalt(),7,个回调函数,GEL_MapAdd(),GEL_MapAddStr(),GEL_MapDelete(),GEL_MapOn(),GEL_MapOff(),GEL_MapReset(),6,个存储器映射函数,C27x_E1_memory_map,C27x_E3_memory_map,GEL_OpenWindow,GEL_CloseWindow,GEL_TargetTextOut,GEL_TextOut,6,个其他函数,合众达自带,evmdm6437.gel,文件中用到的,GEL,函数,5,2025/1/4 周六,StartUp(),/*,进行,CCS,存储器映射,告知目标处理器哪些空间可以访问,哪些不可以访问。*,/,Setup_Memory_Map();,OnTargetConnect()/,对处理器进行最小初始化,Setup_Cache();/,设置缓存,L1P,L1D,L2,Setup_Pin_Mux();/,设置管脚,Setup_Psc_All_On();/,设置,psc,Setup_PLL0_594_MHz_OscIn();/,设置,dsp,主频,DSP 594 MHzCore 1.20V,Setup_PLL1_DDR_135_MHz_OscIn();/,设置,ddr,时钟频率,Setup_Aemif_8Bit_Bus();/,设置,Async-EMIF8-bit bus,GEL,文件,回调函数,对于,CCS 2.4,或之后的版本,比如,3.3,版本启动时,如果指定的,GEL,文件中包含,Startup(),函数,,Startup(),函数中不用包括访问目标处理器的代码,目标处理器由回调函数,OnTargetConnect(),来初始化。,Startup(),和,OnTargetConnect(),函数,6,2025/1/4 周六,GEL,文件,回调函数,在加载,program/symbol(.out),文件之前该回调函数执行。在该函数中执行另外的目标处理器初始化操作以保证程序可以加载和调试是一个好的选择。例如,我们可以在该函数中初始化外部存储器。,OnPreFileLoaded(),函数,7,2025/1/4 周六,OnFileLoaded(),函数,该回调函数在加载,program/symbol(.out),文件之后执行。可以建立调试源搜索路径(在没有,CCS,工程文件的时候),设定断点和探针,完成软件的复位和重启。,GEL,文件,回调函数,8,2025/1/4 周六,OnReset(),函数,当目标处理器复位后该函数被调用。如果你需要每次重新启动程序设计了软复位,,GEL,_Restart(),在此处调用。如上是,DM642EVM.gel,文件中的,OnReset(),函数。,GEL,文件,回调函数,9,2025/1/4 周六,OnRestart(),函数,OnHalt(),函数,当程序复位时调用该函数。,当,CPU,停止时调用该函数。还可以通过该回调函数记录变量和寄存器的值送给,GEL_TextOut(),函数显示出来。,GEL,文件,回调函数,10,2025/1/4 周六,GEL,文件,GEL,函数库,StartUp(),OnTargetConnect(),OnPreFileLoaded(),OnFileLoaded(),OnReset(),OnRestart(),OnHalt(),7,个回调函数,GEL_MapAdd(),GEL_MapAddStr(),GEL_MapDelete(),GEL_MapOn(),GEL_MapOff(),GEL_MapReset(),6,个存储器映射函数,C27x_E1_memory_map,C27x_E3_memory_map,GEL_OpenWindow,GEL_CloseWindow,GEL_TargetTextOut,GEL_TextOut,6,个其他函数,合众达自带,evmdm6437.gel,文件中用到的,GEL,函数,11,2025/1/4 周六,GEL,文件,存储器映射,1).,GEL_MapAdd,(address,page,length,readable,writeable),address:,存储器起始地址,page:,存储器类型,0,表示程序存储器,,1,表示数据存储器,length:,定义的存储器长度,readable:,定义存储器是否可读,,1,可读,,0,不可读,writeable:,定义存储器是否可写,,1,可写,,0,不可写,2).,GEL_MapAddStr,(),GEL_MapAddStr,是,GEL_MapAdd,的增强型。,It provides the same readable/writable attributes that can be specified in GEL_MapAdd().,However,it also supports additional parameters for memory access size,a“shared memory”tag,and specification of memory wait states.,所以,GEL_MapAddStr(),完全可以替代,GEL_MapAdd(),!,作用:,CCSStudio,存储器映射,告诉调试器目标处理器的哪些存储区域可以访问哪些不能访问。,CCSStudio,存储器映射,一般在,StartUp(),函数中执行。,GEL_MapAddStr(0 x01800000,0,0 x00010000,R|W|AS4,0);/C64x+Interrupt,12,2025/1/4 周六,4).,可以调用,GEL_MapOn(),or,GEL_MapOff(),来打开或关闭存储区映射。当存储区映射关闭时,,CCSStudio,假定可以访问所有的存储区空间。,5).,GEL_MapReset(),函数清除所有的存储区映射。没有存储区映射时,缺省设置是所有的存储区空间都不能访问。,GEL,文件,存储器映射,3).,GEL_MapDelete(),函数可以让存储器映射的一部分被隔离开,当存储器部分区域不可用时,使用该函数将其隔离开,这样调试器就不会访问该区域。,13,2025/1/4 周六,GEL,文件,GEL,函数库,StartUp(),OnTargetConnect(),OnPreFileLoaded(),OnFileLoaded(),OnReset(),OnRestart(),OnHalt(),7,个回调函数,GEL_MapAdd(),GEL_MapAddStr(),GEL_MapDelete(),GEL_MapOn(),GEL_MapOff(),GEL_MapReset(),6,个存储器映射函数,C27x_E1_memory_map,C27x_E3_memory_map,GEL_OpenWindow,GEL_CloseWindow,GEL_TargetTextOut,GEL_TextOut,6,个其他函数,合众达自带,evmdm6437.gel,文件中用到的,GEL,函数,14,2025/1/4 周六,GEL,文件,其他函数,GEL_TextOut(),输出格式化字符串到输出窗口,GEL_TargetTextOut,输出一个目标处理器上的格式化字符串到输出窗口,GEL_CloseWindow,关闭一个输出窗口,GEL_OpenWindow,打开一个输出窗口,C27x_E1_memory_map,和,C27x_E3_memory_map,没有查到相关资料?,15,2025/1/4 周六,此外,项目添加,TI,公司提供的,GEL,文件后往往会在,CCS,的,GEL,菜单中出现相关的子菜单,用户可以使用它,主要用于程序的调试控制。,GEL,文件可以看成你所建项目的,“,秘书,”,,可以帮你打打杂,处理一些繁琐的事情。,如何将,GEL,函数加载到,CCS,的,GEL,菜单?,使用关键词!,在没有加载,GEL,函数之前,,CCS,的,GEL,菜单下为空。,GEL,文件,关键词,16,2025/1/4 周六,a,:,menuitem,和,hotmenu,关键词,添加一级菜单,添加二级子菜单,b,:,dialog,关键,GEL,文件,关键词,17,2025/1/4 周六,c,:,slider,关键词,主要是创建一个可以改变参数的滑动条,slider param_definition(minVal,maxVal,increment,pageIncre-ment,paramName),参数含义分别为最小值,最大值,步进,,页步进,和变量名。,GEL,文件,关键词,18,2025/1/4 周六,水晶头里面有,8,根有色线,网线的另一头,同样的颜色,同样的颜色顺序连接到交换机或者,HUB,上。其实,在,10M/100M,的网络环境中,这,8,根线里,只有,4,根线是有用的(接触点面从左往右依次是,1,,,2,,,3,,,6,),其他都没用。,1,、,2,点用于发送数据,,3,、,6,点用于接收数据。我们单机之所以无法实现联网,其实就是,1,、,2,发出去的数据没有回应消息。而,3,、,6,则是收不到任何信号。如若有回应,则就构成了回环网络。,在合众达板子上边测试了“以太网接口”,测试结果显示“,FAIL.error code 12.quitting”,表示测试失败,猜想是否出在回环网线问题?不理解自闭环测试方式是什么意思?,关于回环网线,疑惑,1,?,19,2025/1/4 周六,疑惑,1,?测试过程,20,2025/1/4 周六,“,#define SW_BREAKPOINT asm(”SWBP 0“);,”中,asm(“SWBP 0”),指令是什么意思?学习,TI,公司推出的,CCS3.3,开发环境中文入门指导书,的时候,通过,Symbol Browser,(符号浏览器)查看工程源文件中有“,dm6437.c,”文件(该文件包含,EVMDM6437_init,()等函数),但是却找不到,不知为何?,疑惑,2,?,21,2025/1/4 周六,
展开阅读全文