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

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 寄存器初始化、看门 狗禁止。


相关文章:
德国必买品总结
黑人头 Gliss 系列营养水(不知道是不是这样翻译)400ml,2.95EU 黑人头 Gliss3 分钟发膜 1.99EU 黑人头 TAFT GEL-WAX 0.99EU 总之黑人头的美发用品不会超过 3...
gel seni ozliyorum !
GEL整理汇总 5页 1财富值 ccs_gel 2页 免费 GEL文件的功能 7页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈...
各种凝胶目录
各种凝胶目录_医药卫生_专业资料。各种凝胶的目录汇总 Atoll 可供选择的填料目录...CA Actigel Ultraflow 6 Sterogene, Carlsbad, CA Aminogel Sterogene, Carlsbad...
必备词汇大汇总[整理]-新课标
必备词汇大汇总[整理]-新课标 英语词汇英语词汇隐藏>> 英文电影之必备词汇大汇总...(去角质) Eye gel(眼胶) Eye mask(眼膜) Eye shadow(眼影) Eyeliner(眼线(...
生物化学名词解释精华版汇总
生物化学名词解释精华版汇总_医学_高等教育_教育专区。生物化学习题三---名词解释...15,凝胶电泳(gel electrophoresis):以凝胶为介质,在电场作用下分离蛋白质或核酸...
银染法汇总
银染法汇总_财务管理_经管营销_专业资料。蛋白质染色方法银染法 EMBL Silver staining...L of same buffer without trypsin (enough to cover gel pieces) and ...
汇总表格
研发表格汇总 13页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能...Njio Paralysis caused by the venom of the wasp, Microbracon gelechiae ...
口腔药物学试题答案总结by陈秋雯
(gel)、贴剂(paste) 糖皮质激素按作用时间分类,各类的代表药物 根据药理作用...口腔临床药物学重点整理 34页 2下载券 口腔临床药物学-考试必过... 暂无评价...
金属基复合材料整理
4)从液态金属基体汇总原位形成增强体的工艺,可用铸造方法制备形状复杂、尺寸较大...(第 21 页) 球磨分散、超声分散、溶胶凝胶(sol –gel)法分散以及分散介质选择...
各类词汇汇总四
关键词:各类英语词汇汇总 同系列文档 各类词汇汇总一 各类词汇汇总二 各类词汇汇总...眼部嗜喱 eye gel;日霜 day cream;晚霜 night cream;中性 normal;油性 oily;...
更多相关标签:
整理汇总 英文 | 武汉美食超强汇总整理 | 汇总整理成一份简报 | 磁盘碎片整理 | 桌面整理 | 桌面整理软件 | 碎片整理 | 整理 英文 |