当前位置:首页 >> 能源/化工 >>

GEL整理汇总


1、GEL 简介 GEL(General Extension Language,通用扩展语言)是类似与 C 的一种解释性语言,它 可以 创建 GEL 函数, 以扩展 CCS 的用途。 按照 GEL 的语法创建 GEL 函数加载到 CCS 即 可。 GEL 支持以下类型的语句: 函数定义 函数参数 调用 GEL 函数 返回语句 if-else 语句 while 语句 GEL 注释 预处理语句 2.如何将 GEL 函数加载到 CCS 的 GEL 菜单 a :hotmenu 关键词 //joseph add menuitem "Set_zone6" /*添加一级菜单 Set_zone6*/ hotmenu Set_zone6() /*在 Set_zone6 下添加二级菜单 Set_zone6*/ { *(long *)0x0B34 = 0x00014c1f; /*XINTCNF2 config*/ *0x0B38 = 0x803e; /*XBANK config*/ *(long *)0x0B2C = 0x0043f1224; /*XTIMING6 config*/ } b : dialog 关键词 主要是创建一个需要输入参数的对话框 dialog funcName(参数 1 “参数说明”,参数 2 “参数说明”,......) { 语句...... } c : silder 关键词 主要是创建一个可以改变参数的滑动条 slider param_definition( minVal,maxVal,increment,pageIncre-ment,paramName),参数含义分别 为最小值,最大值,步进,页步进和变量名。 3.在 CCS 启动时自动加载 GEL 函数 将自己的函数加入到 Startup()或者把自己的函数命名为 Startup() 4.GEL 函数简介 1).GEL_Go(adress) CCS 菜单中的 debug->Go Main 就是调用的这个函数 2).GEL_MapAdd( address , page , length , readable , writeable) address:存储器起始地址 page:存储器类型 0 表示程序存储器,1 表示数据存储器 length:定义的存储器长度 readable:定义存储器是否可读,1 可读,0 不可读 writeable:定义存储器是否可写,1 可写,0 不可写 3).GEL_WatchAdd("expression","lable") 将表达式添加到 Watch 窗口,参数 lable 可选

GEL 是通用扩展语言(General Extension Language)的英文缩写,GEL 是一个大 小写敏感但缺少类型检测的解释性语言,只有 int 类型,在语法上可看作是 C 语言的一个子集。GEL 主要用来扩展 CCS 的功能,方便用户调试程序,但不是必 需的。当我们希望上电后立刻开启或实现某些功能,那么可以在项目中装载 GEL 文件(由 TI 提供或用户自行编写)来实现这个目的。此外,项目添加 TI 公司提 供的 GEL 文件后往往会在 CCS 的 GEL 菜单中出现相关的子菜单, 用户可以使用它, 主要用于程序的调试控制。GEL 文件可以看成你所建项目的“秘书”,可以帮你 打打杂,处理一些繁琐的事情。 CCS 的 GEL 语言是一种交互式的命令,它是解释执行的,即不能被编译成 可执行文件。它的作用在于扩展了 CCS Studio 的功能,可以用 gel 来调用一些菜 单命令,对 DSP 的存储器进行初始化配置等。但是作者建议对于使用仿真器和 DSP 功能板的仿真环境用户来说,这种 GEL 语言文件是没必要加入到配置中的。 gel 语言的重要性在于针对计算机模拟环境的用户,使用 gel 可以为其准备一个 虚拟的 DSP 仿真环境,但也不是非用不可的。 对于不同型号的 DSP,我们应选择相对应的 GEL 文件。
以 TMS320LF2407 为例: #define SCSR1 0x7018 ;定义 scsr1 寄存器 #define SCSR2 0X7019 ;定义 scsr2 寄存器 #define WDKEY 0x7025 ;定义 wdkey 寄存器 #define WDNTR 0x7029 ;定义 wdntr 寄存器 StartUp() ; 开始函数 { GEL_MapReset(); ; 存储空间复位 GEL_MapAdd(0x0000,0,0x7fff,1,1); 定义程序空间从 0000-7fff 可读写 GEL_MapAdd(0x8000,0,0x7000,1,1); 定义程序空间从 8000-f000 可读写 GEL_MapAdd(0x0000,1,0x10000,1,1); 定义数据空间从 0000-10000 可读写 GEL_MapAdd(0xffff,2,1,1,1); 定义 i/o 空间 0xffff 可读写 GEL_MapOn(); 存储空间打开 GEL_MemoryFill(0xffff,2,1,0x40); 在 i/o 空间添入数值 40h *(int *)SCSR1=0x0200; 给 scsr1 寄存器赋值 *(int *)SCSR2=0x000C; 给 scsr2 寄存器赋值,在这里可以进行 mp/mc 方式的转换 *(int *)WDNTR=0x006f; 给 wdntr 寄存器赋值 *(int *)WDKEY=0x055; 给 wdkey 寄存器赋值 *(int *)WDKEY=0x0AA; 给 wdkey 寄存器赋值 }

2 GEL 回调函数
Startup()函数 2.1 Startup()函数

当 CCS 运行时首先执行这个 GEL 函数 当我们自己需要设定某功能上电后立即开启, 那么可以在这个函数里面实现。 以 2407 的看门狗为例子, 因为上电后 2407 的看门狗 是自动开启的, 但我们在调试程序的时 候都是把看门狗关闭的, 所以想在调试程序的时候 可以把关看门狗的任务放在 GEL 中。 以下就是这个小程序 #define WDCR 0X7029 #define WDKEY 0X7025 Startup() { WDCR=0X68; } Startup()函数在 GEL 文件加载时会自动运行,这样就可以实现上电关闭看门狗功能了 GEL(General Extension Language 通用扩展语言)是一种解释语言,类似与 C 语言,这个文件 中的函数是按照先后顺序执行的。 GEL 函数可以用来配置 CCS 开发环境,也可以用来初 始化目标 CPU。当启动 CCS 时,扫描启动的 GEL 文件并加载文件中包含的 GEL 函数,如 果文件中包含 Startup()函数,则包含 的所有函数都运行 GEL 存储空间映射函数可以用来 描述处理器的存储空间映射。 Startup() { /* startup 内的所有函数都要执行 */ GEL_MapOn(); GEL_MapAdd(0,0,0xf000,1,1); GEL_MapAdd(0,1,0xf000,1,1); } 对于支持 Connect /Disconnect 的 CCS Studio(V2.4 或之后的版本,比如 3.1 版本,3.3 版 本)启动时,如果指定的 GEL 文件中包含 Startup()函数,通过它建立基本的 CCSStudio 内存 映射关系,进行不需要访问目标处理器的基本初始化操作。Startup()函数中不用包括访问目 标处理器的代码,目标处理器由回调函数 OnTargetConnect()来初始化。

2.2 OnTargetConnect()函数 2.2 OnTargetConnect()函数 绝对最小的系统初始化处理, 保证 CCSStudio 在目标处理器上处于一种可信 赖的状态。例如:禁止看门狗时钟、DSP 复位结束 DSP OnTargetConnect()函数 函数。 每一次和目标处理器建立连接时都调用 OnTargetConnect()函数。 下面我们以 6437 为例,gel 的源码如下: StartUp( ) { /*进行 CCSStudio 存储器映射,告知目标处理器哪些空间可以访问,哪些不可以 访问。*/ 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 MHz][Core
1.20V]

Setup_PLL1_DDR_135_MHz_OscIn();//设置 ddr 时钟频率 Setup_Aemif_8Bit_Bus( ); // 设置 Async-EMIF[8-bit bus] } OnPreFileLoaded()函数 2.3 OnPreFileLoaded()函数 在加载 program/symbol(.out)文件之前该回调函数执行。在该函数中执行 另外的目标处理器初始化操作以保证程序可以加载和调试是一个好的选择。 /* This function is called automatically when the 'Load Program'*/ /* Menu item is selected. */ OnPreFileLoaded() { FlushCache(); IER = 0; IFR = 0; init_emif(); } OnReset()函数 2.4 OnReset()函数 当目标处理器复位后该函数被调用。 如果你需要每次重新启动程序设计了软 复位,GEL GEL_Restart()在此处调用。 GEL /* This function is called automatically after a SW Reset has been executed. OnReset(int nErrorCode) {

init_emif(); }

OnRestart()函数 2.5 OnRestart()函数 当程序复位时调用该函数。 3 存储器映射 CCSStudio 存储器映射告诉调试器目标处理器的那些存储区域可以访问那 些不能访问。CCSStudio 存储器映射一般在 StartUp()函数种执行。 3.1 GEL GEL_MapAdd()函数 该函数添加一个存储区域到存储区映射中。 3.2 GEL GEL_MapOn()和 GEL GEL_MapOff()函数 可以调用 GEL GEL_MapOn() or GEL GEL_MapOff()来打开或关闭存储区映射。当存储 区映射关闭时,CCSStudio 假定可以访问所有的存储区空间。 3.3 GEL GEL_MapReset()函数 GEL_MapReset()函数清除所有的存储区映射。没有存储区映射时,缺省设置 GEL 是所有的存储区空间都不能访问。 4 尽量避免使用 GEL 初始化 可以考虑在 GEL 文件中使用 GEL GEL_MapAdd()建立存储区映射以准许 CCSStudio 可以调试,但是不在 GEL 文件中执行外设设置例如:EMIF 寄存器初始化、看门 狗禁止。


相关文章:
]总结的国外上市的品种
(美国) 抑制剂,抗抑郁症 Renagel 其他 GelTex(美国) 美国 1998 磷酸盐多聚物,治疗肾衰 美国 1998 刺激胰岛 B 细胞分泌胰岛素,治美国 1998 治疗肺结核 ...
【强烈推荐】德语语法总结
Sie gelobt sich zu helfen. (她答应帮忙。) Ich schwoere mir zu arbeiten...建设工程造价管理重点整理 工程造价计价与控制考前提分 2014造价工程师各科目冲刺...
【强烈推荐】德语语法总结_图文
Sie gelobt sich zu helfen. (她答应帮忙。) Ich schwoere mir zu arbeiten. Ich besuch mir einen Nein, ich habe kein Geld Du singst dir ein Lied. ...
近五年高考真题整理归纳:名词,冠词和代词
近五年高考真题整理归纳:名词,冠词和代词_高考_高中教育_教育专区。近五年高考真题...2013 课标)India attained independence in 1947, after ___ long struggel. ...
牙周病学总结--北医 (1)
受取样方法的影响而使结果不同(Egelberg 实验) 影响龈沟液量的因素 机械刺激...中医学整理,北医教材总结... 60页 5下载券 北医专升本2009微生物学... 9页...
医学细胞生物学英译汉总结
STM SDS polyacrylamid gelSDS-聚丙烯酰胺凝胶电 泳 electrophoresis 传代培养 secondary culture 切片 section single molecular fluorescence 单分子荧光成像 imaging ...
图标icon设计的四个基本要点总结
文档贡献者 calegel 贡献于2012-12-20 专题推荐 百度认证-大数据营销01 优秀产品经理指南 DTCC2014:百分点内存数... 百度认证SEM02关键词优化......
总结的化妆品diy资料
特点: 可製作水溶性透明凝胶 可用作 o/w(水包油)乳液的增稠剂,稳定乳液体系 可製作不含乳化剂的「乳霜凝胶」(cream-gel) 无需中和,把凝胶粉未入水中搅拌便可...
化妆品使用方法大总结
卸妆乳可以说是历史最悠久的卸妆品,欧美比较流行乳类,日系产品 多为用 GEL ...整理笔尖的同时,调 和了遮瑕笔的颜色,使涂抹出瑞芙澜教您怎么更好的使用化妆...
常考功能动词总结
动名词+动词+介词 eine Verabredung treffen Veranlassung haben Verantwortung ü bernehmen die Verbindung bekommen eine Verdacht hegen Vergeltung ü ben ...
更多相关标签: