通用扩展语言(GEL)
来源:互联网 发布:购买域名之后怎么使用 编辑:程序博客网 时间:2024/05/01 17:15
通用扩展语言(GEL)
GEL是一种交互式语言,类似于C,用户可以用来建立函数,扩展CCS IDE的用途。用户按照GEL的语法来建立自己的GEL函数,然后将其加载到CCS IDE中。通过GEL,用户可以访问实际的或仿真的目标存储器,为CCS IDE的GEL菜单添加选项。GEL对于自动测试特别有用。可以从任何可以输入一个表达式的地方,调用GEL函数;也可以将GEL添加到Watch窗口里,以便在每个断点处执行。
使用关键字:
将GEL函数添加到CCS IDE的GEL菜单里。菜单项的关键字用来在GEL菜单里建立新的下拉项目清单。然后,使用关键字hotmenu、dialog或slider,添加新的菜单项。当选择了一个用户定义的菜单项,就出现一个对话框或slider目标。
l 关键字hotmenu将一个GEL函数添加到GEL菜单里,一旦被选择,就立即执行特定的函数。
l 关键字dialog建立一个GUI对话窗口,以便输入参数。一旦输入了合适的参数,单击执行按钮就可调用该函数。
l 关键字slider建立一个可以调节的控制器,可以用来改变单个参数的值。
GEL语法:
GEL是C语言的一个子集。不能说明主机变量,但是所有的变量必须在DSP程序中定义,并存在目标板上。在目标板上仅有的没有定义的标识符,是GEL函数和他们的参数。要计算一个变量时,CCS调试器从目标板取得必要的信息。带有标识符信息的COFF文件必须首先加载。
GEL支持一下的语句类型:
l 函数定义
l 函数参数
l 调用GEL函数
l Return语句
l If-else语句
l While语句
l GEL注释
l 预处理语句
GEL函数定义:
GEL函数定义在文本文件中,其扩展名是.gel。一个GEL文件可以包含多个GEL函数定义。
GEL函数不需要指定返回类型,也不需要任何头信息来定义所要求的参数类型。该信息通过数据值自动获得。就像标准C一样,一个GEL函数定义不能嵌套在另一个GEL函数定义中。
GEL函数参数:
可以通过在GEL函数中定义参数,来将自变量传递给一个GEL函数。与C函数参数不同的是,参数类型并不定义,只要求参数名。参数的类型由传递的自变量自动决定。
GEL参数可以是以下任意一种:
l 一个实际的/仿真的DSP目标板符号值
l 一个数字常量,如果传递的是任意的表达式或常数值
l 一个字符串常量
在程序执行时,传递的自变量决定参数所取的值。
调用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函数,用来控制实际/仿真目标板的状态、访问目标板的存储器以及在输出窗口显示结果。
- 通用扩展语言(GEL)
- GEL语言的使用
- GEL语言运用
- CCS中的GEL语言
- GEL
- 利用GEL语言对DSP初始化设置
- CCS GEL文件分析(转)
- 利用GEL语言对dsp初始化设置(转帖)
- CIL(通用中间语言)
- JS通用方法扩展
- JS通用方法扩展
- c语言实现通用数据结构(一):通用链表
- c语言实现通用数据结构(二):通用队列
- c语言实现通用数据结构(三):通用椎栈
- c语言实现通用数据结构:通用映射(HashMap)
- c语言实现通用数据结构(一):通用链表
- c语言实现通用数据结构:通用集合(HashSet)
- 基于C语言和GEL语言的Flash编程新方法(转帖)
- 在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法
- 人体动画FAQ
- WinCE桌面墙纸及图标更换
- 建立用例模型
- C/C++内存泄露故障(Memory Leak Faults)之简单篇
- 通用扩展语言(GEL)
- 标 题: 个人感受与真实世界的差异 zz
- 自动化测试框架的搭建
- H.264 视频编码
- Anti 进程内存保护
- C/C++:构建你自己的插件框架(2)
- 用PHP封装的MySQL数据库访问类-仅供学习探讨
- 主页开通
- .NET体系结构