VC5509的通用GEL代码
GEL是通用扩展语言(General Extension Language)的英文缩写,GEL是一个大小写敏感但缺少类型检测的解释性语言,只有int类型,在语法上可看作是C语言的一个子集。GEL主要用来扩展CCS的功能,方便用户调试程序,但不是必需的。当我们希望上电后立刻开启或实现某些功能,那么可以在项目中装载GEL文件(由TI提供或用户自行编写)来实现这个目的。此外,项目添加TI公司提供的GEL文件后往往会在CCS的GEL菜单中出现相关的子菜单,用户可以使用它,主要用于程序的调试控制。GEL文件可以看成你所建项目的“秘书”,可以帮你打打杂,处理一些繁琐的事情。
下面是一段VC5509的通用GEL文件代码:
StartUp()
{
GEL_MapOn();
GEL_MapReset();
GEL_MapAdd(0x0000C0,,0x00FF40,,);
GEL_MapAdd(0x010000,,0x030000,,);
GEL_MapAdd(0x040000,,0x3C0000,,);
GEL_MapAdd(0x400000,,0x400000,,);
GEL_MapAdd(0x800000,,0x400000,,); GEL_MapAdd(0xC00000,,0x400000,,); GEL_MapAdd(0xFF0000,,0x010000,,); GEL_MapAdd(0x000000,,0x000050,,);
GEL_MapAdd(0x000060,,0x007FA0,,);
GEL_MapAdd(0x008000,,0x018000,,);
GEL_MapAdd(0x020000,,0x1E0000,,);
GEL_MapAdd(0x200000,,0x200000,,);
GEL_MapAdd(0x400000,,0x200000,,); GEL_MapAdd(0x600000,,0x200000,,); GEL_MapAdd(0x0001,,0x0002,,);
GEL_MapAdd(0x0400,,0x0300,,);
GEL_MapAdd(0x07FE,,0x0002,,);
GEL_MapAdd(0x0800,,0x0014,,);
GEL_MapAdd(0x0C00,,0x000C,,);
GEL_MapAdd(0x0C20,,0x000C,,);
GEL_MapAdd(0x0C40,,0x000C,,);
GEL_MapAdd(0x0C60,,0x000C,,);
GEL_MapAdd(0x0C80,,0x000C,,);
GEL_MapAdd(0x0CA0,,0x000C,,);
GEL_MapAdd(0x0E00,,0x0001,,);
GEL_MapAdd(0x0E03,,0x0001,,);
GEL_MapAdd(0x1000,,0x0004,,);
GEL_MapAdd(0x1800,,0x000D,,);
GEL_MapAdd(0x1C00,,0x0001,,);
GEL_MapAdd(0x1E00,,0x0001,,);
GEL_MapAdd(0x2400,,0x0004,,);
GEL_MapAdd(0x2800,,0x001F,,);
GEL_MapAdd(0x2C00,,0x001F,,);
GEL_MapAdd(0x3000,,0x001F,,);
GEL_MapAdd(0x3400,,0x0002,,);
GEL_MapAdd(0x3800,,0x0005,,);
GEL_MapAdd(0x3C00,,0x000D,,);
GEL_MapAdd(0x4000,,0x0004,,);
GEL_MapAdd(0x4400,,0x0006,,);
GEL_MapAdd(0x4800,,0x001B,,);
GEL_MapAdd(0x4C00,,0x001B,,);
GEL_MapAdd(0x5800,,0x1000,,);
GEL_MapAdd(0x6800,,0x0004,,);
GEL_MapAdd(0x6C00,,0x0001,,);
GEL_MapAdd(0x7000,,0x0002,,);
GEL_MapAdd(0x7400,,0x0001,,);
GEL_TextOut("Gel StartUp Complete.\n");
}
OnTargetConnect()
{
C5509_Init();
}
menuitem "C5509_Configuration";
hotmenu CPU_Reset()
{
GEL_Reset();
GEL_TextOut("CPU Reset Complete.\n");
} hotmenu C5509_Init()
{
GEL_Reset();
TMCR_Reset();
GEL_TextOut("C5509 Memory Map Initialization Complete.\n");
} hotmenu C5509_USB_Enable()
{
GEL_MemoryFill(0x7000,,,0x0004);
GEL_TextOut("C5509 USB Module enabled.\n");
}
menuitem "C5509 EBSR Config";
hotmenu Data_EMIF_En()
{
GEL_MemoryFill(0x6C00,,,0x0200);
GEL_TextOut("C5509 Ext. Bus set to Data EMIF.\n");
}
hotmenu Full_EMIF_En()
{
GEL_MemoryFill(0x6C00,,,0x0201);
GEL_TextOut("C5509 Ext. Bus set to Full EMIF.\n");
}
hotmenu NonMuxed_EHPI_En()
{
GEL_MemoryFill(0x6C00,,,0x0202);
GEL_TextOut("C5509 Ext. Bus set to Non Muxed EHPI.\n");
}
hotmenu MuxEHPI_En()
{
GEL_MemoryFill(0x6C00,,,0x0203);
GEL_TextOut("C5509 Ext. Bus set to Muxed EHPI.\n");
}
menuitem "C5509 EMIF CE0 Config";
hotmenu CE0_Async16_En()
{
GEL_MemoryFill(0x0803,,,0x1FFF);
GEL_TextOut("C5509 CE0 set to 16-bit Async mode.\n");
}
menuitem "C5509 EMIF CE1 Config";
hotmenu CE1_Async16_En()
{
GEL_MemoryFill(0x0806,,,0x1FFF);
GEL_TextOut("C5509 CE1 set to 16-bit Async mode.\n");
}
menuitem "C5509 EMIF CE2 Config";
hotmenu CE2_Async16_En()
{
GEL_MemoryFill(0x0809,,,0x1FFF);
GEL_TextOut("C5509 CE2 set to 16-bit Async mode.\n");
}
menuitem "C5509 EMIF CE3 Config";
hotmenu CE3_Async16_En()
{
GEL_MemoryFill(0x080C,,,0x1FFF);
GEL_TextOut("C5509 CE3 set to 16-bit Async mode.\n");
} TMCR_Reset()
{
#define TMCR_MGS3 0x07FE
#define TMCR_MM 0x07FF
*(short *)TMCR_MGS3@IO = 0x0510;
*(short *)TMCR_MM@IO = 0x0000;
}
可以看到:GEL文件主要用来对VC5509的程序空间、数据空间、I/O空间等进行初始化,同时配置CCS开发环境,建立子菜单供用户在调试程序时选择使用。CCS启动时,Startup()函数被执行。支持Connect/Disconnect的CCS启动时,Startup()函数中不包括访问目标处理器的代码,目标处理器由回调函数OnTargetConnect()来初始化。
注意:GEL文件在CCS启动后常驻内存,在仿真器和目标系统上电的时候起到初始DSP的作用。在上电后再改变GEL文件将不会对DSP产生影响。
VC5509的通用GEL代码的更多相关文章
- div+css通用兼容性代码整理
一.Div+css通用兼容性代码 你可以在css开头加入 *html{padding:0px} <style> *html{padding:0px} /* Clear Fix */ .cl ...
- easyui弹出层在最顶层显示跳出iframe框架通用javascript代码
有时候我们用easyui在后台框架中弹框的时候,总是显示在框架页面里面而不是整个系统框架的上面,看着有些不太乐意. dialog = function (opts) { var query = par ...
- 网站安全通用防护代码(C#版本源码提供)
每一个开发者都会意识到,网站发布之前,需要进行安全检查. 那么如何拦截攻击者注入恶意代码?如何防御诸如跨站脚本攻击(XSS).SQL注入攻击等恶意攻击行为? 针对目前常见的一些安全问题,结合目前一些常 ...
- JavaScript之通用addLoadEvent代码源码
在执行javascript代码时 很多情况下 我们是希望代码在网页加载完毕后立刻进行的 大家可能会立刻想到使用window.onload时间处理函数,然后通过 window.onload=functi ...
- java清除所有微博短链接 Java问题通用解决代码
java实现微博短链接清除,利用正则,目前只支持微博短链接格式为"http://域名/字母或数字8位以内"的链接格式,现在基本通用 如果链接有多个,返回结果中会有多出的空格,请注意 ...
- C#导入导出数据到Excel的通用类代码
Excel文件导入导出,需引用Microsoft Excel 11.0 Object Library ///////////////////////////////////////////////// ...
- java中按字节获得字符串长度的两种方法 Java问题通用解决代码
jdk本身就自带获取字符串字节长度的api了,但字符串如果包含特殊符号或全半角符号或标点符号获取到的结果会有偏差,最好的证据就是新浪微博的字数统计了 // jdk自带的获取字节长度 //注意getBy ...
- java 实现新浪微博内容计数器 Java问题通用解决代码
http://www.mr3g.net/?p=220 参考sina的js版本而来,费弄最多的时间就是java对ansii码的判断了,js直接就是isascii()函数就可以实现了,java还要想办法 ...
- java替换文本中所有的正则符号 Java问题通用解决代码
开发时遇到一个需求,需要对一段文本中的所有正则符号进行转义,不然使用split分割方法分割文本的话无效,想到用替换来做,全部替换正则符号为转义后的符号 贴java实现代码: 1.测试版 ...
随机推荐
- 【FitNess】测试框架试用
参考网友的博客http://blog.csdn.net/funi16/article/details/8985280 1.官网下载jar包fitnesse-standalone.jar后安装. 2.进 ...
- setTimeOut(),和setInterVal()调用函数加不加括号!!!
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- 小课堂week14 Google软件测试之道
读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...
- python 序列化之JSON和pickle详解
JSON模块 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类 ...
- 多线程基本概论multithread
多线程 基本概念 进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 通过 活动监视器 可以查看 Mac 系统中所开启的进程 线程 进程要想 ...
- DB2数据库之间联邦
现在有以下两个数据库:sample,QIN 需要在数据库QIN中访问sample中的表ACT 1.数据库编目 C:\Users\QIN>db2 catalog tcpip node OLIVER ...
- rman 命令
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- 惊曝6.24AppCan移动开发大会参展名录,现场礼品超多!
AppCan移动开发者大会召开在即, 诸位参展商准备就绪, 移动圈的半边天都来了, 现场活动和礼品多到爆炸, 请大家一一过目! 排名不分先后,AppCan不偏心! 1.极验验证 首创滑动式拼图验证码. ...
- Stream,Reader/Writer,Buffered的区别(1)
Stream: 是字节流形式,exe文件,图片,视频等.支持8位的字符,用于 ASCII 字符和二进制数据. Reader/Writer: 是字符流,文本文件,XML,txt等,用于16位字符,也就是 ...
- HTML5做的浏览器欢迎界面自动跳转
HTML5做的浏览器欢迎界面自动跳转 思路很简单,随手装逼呗.根据时间来控制背景图和文字,背景图加了毛玻璃效果,效果直接看图,用javascript来实现. 完整代码 <!DOCTYPE htm ...