通用扩展语言(GEL)

来源:互联网 发布:购买域名之后怎么使用 编辑:程序博客网 时间:2024/05/01 17:15

通用扩展语言(GEL

GEL是一种交互式语言,类似于C,用户可以用来建立函数,扩展CCS IDE的用途。用户按照GEL的语法来建立自己的GEL函数,然后将其加载到CCS IDE中。通过GEL,用户可以访问实际的或仿真的目标存储器,为CCS IDEGEL菜单添加选项。GEL对于自动测试特别有用。可以从任何可以输入一个表达式的地方,调用GEL函数;也可以将GEL添加到Watch窗口里,以便在每个断点处执行。

 

使用关键字:

GEL函数添加到CCS IDEGEL菜单里。菜单项的关键字用来在GEL菜单里建立新的下拉项目清单。然后,使用关键字hotmenudialogslider,添加新的菜单项。当选择了一个用户定义的菜单项,就出现一个对话框或slider目标。

关键字hotmenu将一个GEL函数添加到GEL菜单里,一旦被选择,就立即执行特定的函数。

关键字dialog建立一个GUI对话窗口,以便输入参数。一旦输入了合适的参数,单击执行按钮就可调用该函数。

关键字slider建立一个可以调节的控制器,可以用来改变单个参数的值。

 

GEL语法:

GELC语言的一个子集。不能说明主机变量,但是所有的变量必须在DSP程序中定义,并存在目标板上。在目标板上仅有的没有定义的标识符,是GEL函数和他们的参数。要计算一个变量时,CCS调试器从目标板取得必要的信息。带有标识符信息的COFF文件必须首先加载。

GEL支持一下的语句类型:

函数定义

函数参数

调用GEL函数

Return语句

If-else语句

While语句

GEL注释

预处理语句

 

GEL函数定义:

GEL函数定义在文本文件中,其扩展名是.gel。一个GEL文件可以包含多个GEL函数定义。

GEL函数不需要指定返回类型,也不需要任何头信息来定义所要求的参数类型。该信息通过数据值自动获得。就像标准C一样,一个GEL函数定义不能嵌套在另一个GEL函数定义中。

 

GEL函数参数:

可以通过在GEL函数中定义参数,来将自变量传递给一个GEL函数。与C函数参数不同的是,参数类型并不定义,只要求参数名。参数的类型由传递的自变量自动决定。

GEL参数可以是以下任意一种:

一个实际的/仿真的DSP目标板符号值

一个数字常量,如果传递的是任意的表达式或常数值

一个字符串常量

在程序执行时,传递的自变量决定参数所取的值。

 

 

调用GEL函数和语句:

可以再可以输入C表达式的任何地方调用一个GEL函数;可以从任何能接受有效C表达式的对话框中调用一个GEL函数;还可以再一个GEL函数中调用另一个GEL函数。但是,GEL函数不支持递归调用。当一个GEL函数正在执行时,不能运行它自己的其他副本。

向一个GEL函数传递自变量是可选的,省略的自变量设为默认值。

GEL支持标准C#define预处理关键字,这是当前唯一可用的预处理关键字。

 

 

加载/卸载GEL函数:

定义了包含GEL函数的文件后,必须将其加载CCS,才可以再文件中访问。GEL函数于是就驻留在CCS的存储器里,可以随时执行。GEL函数的驻留,要到用户消去相应的文件为止。当加载的文件被修改,必须将其卸载,然后在修改生效之前再加载。

GEL加载器在加载时要检查文件的语法错误,但不检查变量是否定义。所以,可以在加载包含符号信息的COFF文件前,加载GEL文件。也可以引用尚未定义或加载的GEL函数。执行GEL函数时,符号必须定义。若在加载时,CCS发现语法错误,它会中断加载过程并显示出错信息。必须先修改错误,然后再次加载。

 

 

启动时自动执行GEL函数:

GEL函数允许用户根据需要来配置CCS环境。用户可能希望在每次启动CCS时,都设置自己的环境。可以再启动时,将GEL文件名传递给CCS,而不用每次都是用File->Load Gel来加载GEL文件,然后再执行GEL函数。这就通知CCS自动扫描并加载指定的GEL文件。如果不仅希望加载GEL文件,还希望执行该函数,则可以在StartUp()文件中命名一个用户的GEL函数。当一个GEL文件加载到CCS时,它会搜索名为Startup()的函数。如果在文件里找到此函数,就自动执行它。

例:

StartUp()

{

GEL_MapOn();

GEL_MapAdd(0,0,0xf000,1,1);

GEL_MapAdd(0,1,0xf000,1,1);

}

Dialog LoadMyFile()

{

GEL_Load("myfile.out");

GEL_Go(main);

}

在上面的例子中,每次启动CCS时,存储器映像特性打开,将函数LoadMyFile()加给GEL菜单。

 

 

查看表达式列表:

所有GEL函数和表达式都是用表达式计算器来计算。可以再计算器中列出需要计算的表达式。选择View->expression_r List,出现expression_rs Executing对话框。在此框中,可以查看当前正在计算的表达式。

 

内建GEL函数:

CCS提供了很多内建的GEL函数,用来控制实际/仿真目标板的状态、访问目标板的存储器以及在输出窗口显示结果。

原创粉丝点击