配色: 字号:
GEL
2013-10-22 | 阅:  转:  |  分享 
  
张璞阳2011年9月27日GEL是通用扩展语言(GeneralExtensionLanguage)的英文缩写,GEL是
一个大小写敏感但缺少类型检测的解释性语言,只有int类型,在语法上可看作是C语言的一个子集。GEL文件GEL支持以下类型
的语句:函数定义函数参数调用GEL函数返回语句if-else语句whileordowhile语
句GEL注释预处理语句GEL的作用在于扩展CCSStudio的功能,可以用gel来调用一些菜单命令
,对DSP的存储器进行初始化配置等,但不是必需的。当希望上电后立刻开启或实现某些功能,那么可以在项目中装载GEL文件(由TI提供或
用户自行编写)来实现这个目的。但是建议对于使用仿真器和DSP功能板的仿真环境用户来说,这种GEL语言文件是没必要加入到配置中的。g
el语言的重要性在于针对计算机模拟环境的用户,使用gel可以为其准备一个虚拟的DSP仿真环境,但也不是非用不可的。”GEL文件
到底需不需要加载?GEL文件GEL函数库StartUp()OnTargetConnect()OnPreFileLoade
d()OnFileLoaded()OnReset()OnRestart()OnHalt()7个回调函数GEL_MapA
dd()GEL_MapAddStr()GEL_MapDelete()GEL_MapOn()GEL_MapOff()
GEL_MapReset()6个存储器映射函数C27x_E1_memory_mapC27x_E3_memory_map
GEL_OpenWindowGEL_CloseWindowGEL_TargetTextOutGEL_TextOut6
个其他函数合众达自带evmdm6437.gel文件中用到的GEL函数StartUp(){/进行CCS存储器映射,告知
目标处理器哪些空间可以访问,哪些不可以访问。/Setup_Memory_Map();}OnTargetConn
ect()//对处理器进行最小初始化{Setup_Cache();//设置缓存L1P,L1D,L2
Setup_Pin_Mux();//设置管脚Setup_Psc_All_On()
;//设置pscSetup_PLL0_594_MHz_OscIn();//设置d
sp主频[DSP@594MHz][Core1.20V]Setup_PLL1_DDR_135_MHz_OscIn
();//设置ddr时钟频率 Setup_Aemif_8Bit_Bus();//设置Async-EMIF[8
-bitbus]}GEL文件—回调函数对于CCS2.4或之后的版本,比如3.3版本启动时,如果指定的GE
L文件中包含Startup()函数,Startup()函数中不用包括访问目标处理器的代码,目标处理器由回调函数OnTargetCo
nnect()来初始化。Startup()和OnTargetConnect()函数GEL文件—回调函数在加载
program/symbol(.out)文件之前该回调函数执行。在该函数中执行另外的目标处理器初始化操作以保证程序可以加载和调试是
一个好的选择。例如,我们可以在该函数中初始化外部存储器。OnPreFileLoaded()函数OnFileLoaded()函
数该回调函数在加载program/symbol(.out)文件之后执行。可以建立调试源搜索路径(在没有CCS工程
文件的时候),设定断点和探针,完成软件的复位和重启。GEL文件—回调函数OnReset()函数当目标处理器复位
后该函数被调用。如果你需要每次重新启动程序设计了软复位,GEL_Restart()在此处调用。如上是DM642EVM.gel文件中
的OnReset()函数。GEL文件—回调函数OnRestart()函数OnHalt()函数当程序复位时调用该函数。
当CPU停止时调用该函数。还可以通过该回调函数记录变量和寄存器的值送给GEL_TextOut()函数显示出来。GEL文件—回调
函数GEL文件GEL函数库StartUp()OnTargetConnect()OnPreFileLoaded()OnF
ileLoaded()OnReset()OnRestart()OnHalt()7个回调函数GEL_MapAdd()G
EL_MapAddStr()GEL_MapDelete()GEL_MapOn()GEL_MapOff()GEL_Map
Reset()6个存储器映射函数C27x_E1_memory_mapC27x_E3_memory_mapGEL_Op
enWindowGEL_CloseWindowGEL_TargetTextOutGEL_TextOut6个其他函数合
众达自带evmdm6437.gel文件中用到的GEL函数GEL文件—存储器映射1).GEL_MapAdd(address,
page,length,readable,writeable)address:存储器起始地址page:存储器
类型0表示程序存储器,1表示数据存储器length:定义的存储器长度readable:定义存储器是否可读,1可读
,0不可读writeable:定义存储器是否可写,1可写,0不可写2).GEL_MapAddStr()GEL_M
apAddStr是GEL_MapAdd的增强型。Itprovidesthesamereadable/writablea
ttributesthatcanbespecifiedinGEL_MapAdd().However,italso
supportsadditionalparametersformemoryaccesssize,a“shared
memory”tag,andspecificationofmemorywaitstates.
所以GEL_MapAddStr()完全可以替代GEL_MapAdd()!作用:CCSStudio存储器映射告诉调
试器目标处理器的哪些存储区域可以访问哪些不能访问。CCSStudio存储器映射一般在StartUp()函数中执行。GEL_Ma
pAddStr(0x01800000,0,0x00010000,"R|W|AS4",0);//C64x+In
terrupt4).可以调用GEL_MapOn()orGEL_MapOff()来打开或关闭存储区映射。当存储区映射关闭时,C
CSStudio假定可以访问所有的存储区空间。5).GEL_MapReset()函数清除所有的存储区映射。没有存储区映射时,
缺省设置是所有的存储区空间都不能访问。GEL文件—存储器映射3).GEL_MapDelete()函数可以让存储器映射的一部
分被隔离开,当存储器部分区域不可用时,使用该函数将其隔离开,这样调试器就不会访问该区域。GEL文件GEL函数库Start
Up()OnTargetConnect()OnPreFileLoaded()OnFileLoaded()OnReset()
OnRestart()OnHalt()7个回调函数GEL_MapAdd()GEL_MapAddStr()GEL_Ma
pDelete()GEL_MapOn()GEL_MapOff()GEL_MapReset()6个存储器映射函数C27
x_E1_memory_mapC27x_E3_memory_mapGEL_OpenWindowGEL_CloseWi
ndowGEL_TargetTextOutGEL_TextOut6个其他函数合众达自带evmdm6437.gel文件中用
到的GEL函数GEL文件—其他函数GEL_TextOut()输出格式化字符串到输出窗口GE
L_TargetTextOut输出一个目标处理器上的格式化字符串到输出窗口GEL_CloseWindo
w关闭一个输出窗口GEL_OpenWindow打开一个输出窗口C27x_
E1_memory_map和C27x_E3_memory_map没有查到相关资料?此外,项目添加TI公司提
供的GEL文件后往往会在CCS的GEL菜单中出现相关的子菜单,用户可以使用它,主要用于程序的调试控制。GEL文件可以看成你所建项目
的“秘书”,可以帮你打打杂,处理一些繁琐的事情。使用关键词!在没有加载GEL函数之前,CCS的GEL菜单下为空。GEL文件—
关键词a:menuitem和hotmenu关键词添加一级菜单添加二级子菜单b:dialog关键GEL文件—关
键词c:slider关键词 主要是创建一个可以改变参数的滑动条sliderparam_definition(minV
al,maxVal,increment,pageIncre-ment,paramName)参数含义分别为最小值,最大值,步进,页
步进和变量名。GEL文件—关键词水晶头里面有8根有色线,网线的另一头,同样的颜色,同样的颜色顺序连接到交换机或
者HUB上。其实,在10M/100M的网络环境中,这8根线里,只有4根线是有用的(接触点面从左往右依次是1,2,3,6),其他都没
用。1、2点用于发送数据,3、6点用于接收数据。我们单机之所以无法实现联网,其实就是1、2发出去的数据没有回应消息。而3、6则是收
不到任何信号。如若有回应,则就构成了回环网络。在合众达板子上边测试了“以太网接口”,测试结果显示“FAIL...error
code12...quitting”表示测试失败,猜想是否出在回环网线问题?不理解自闭环测试方式是什么意思?关于回环网线疑惑1?疑惑1?测试过程“#defineSW_BREAKPOINTasm(”SWBP0“);”中asm(“SWBP0”)指令是什么意思?学习《TI公司推出的CCS3.3开发环境中文入门指导书》的时候,通过SymbolBrowser(符号浏览器)查看工程源文件中有“dm6437.c”文件(该文件包含EVMDM6437_init()等函数),但是却找不到,不知为何?疑惑2?
献花(0)
+1
(本文系曦若至宝首藏)