VC5509的通用GEL代码
GEL是通用扩展语言(General Extension Language)的英文缩写,GEL是一个大小写敏感但缺少类型检测的解释性语言,只有int类型,在语法上可看作是C语言的一个子集。GEL主要用来扩展CCS的功能,方便用户调试程序,但不是必需的。当我们希望上电后立刻开启或实现某些功能,那么可以在项目中装载GEL文件(由TI提供或用户自行编写)来实现这个目的。此外,项目添加TI公司提供的GEL文件后往往会在CCS的GEL菜单中出现相关的子菜单,用户可以使用它,主要用于程序的调试控制。GEL文件可以看成你所建项目的“秘书”,可以帮你打打杂,处理一些繁琐的事情。
下面是一段VC5509的通用GEL文件代码:
1 StartUp() 2 { 3 GEL_MapOn(); 4 GEL_MapReset(); 5 GEL_MapAdd(0x0000C0,0,0x00FF40,1,1); 6 GEL_MapAdd(0x010000,0,0x030000,1,1); 7 GEL_MapAdd(0x040000,0,0x3C0000,1,1); 8 GEL_MapAdd(0x400000,0,0x400000,1,1); 9 GEL_MapAdd(0x800000,0,0x400000,1,1); 10 11 GEL_MapAdd(0xC00000,0,0x400000,1,1); 12 13 GEL_MapAdd(0xFF0000,0,0x010000,1,0); 14 15 GEL_MapAdd(0x000000,1,0x000050,1,1); 16 GEL_MapAdd(0x000060,1,0x007FA0,1,1); 17 GEL_MapAdd(0x008000,1,0x018000,1,1); 18 GEL_MapAdd(0x020000,1,0x1E0000,1,1); 19 GEL_MapAdd(0x200000,1,0x200000,1,1); 20 GEL_MapAdd(0x400000,1,0x200000,1,1); 21 22 GEL_MapAdd(0x600000,1,0x200000,1,1); 23 24 25 GEL_MapAdd(0x0001,2,0x0002,1,1); 26 GEL_MapAdd(0x0400,2,0x0300,1,1); 27 GEL_MapAdd(0x07FE,2,0x0002,1,1); 28 GEL_MapAdd(0x0800,2,0x0014,1,1); 29 GEL_MapAdd(0x0C00,2,0x000C,1,1); 30 GEL_MapAdd(0x0C20,2,0x000C,1,1); 31 GEL_MapAdd(0x0C40,2,0x000C,1,1); 32 GEL_MapAdd(0x0C60,2,0x000C,1,1); 33 GEL_MapAdd(0x0C80,2,0x000C,1,1); 34 GEL_MapAdd(0x0CA0,2,0x000C,1,1); 35 GEL_MapAdd(0x0E00,2,0x0001,1,1); 36 GEL_MapAdd(0x0E03,2,0x0001,1,1); 37 GEL_MapAdd(0x1000,2,0x0004,1,1); 38 GEL_MapAdd(0x1800,2,0x000D,1,1); 39 GEL_MapAdd(0x1C00,2,0x0001,1,1); 40 GEL_MapAdd(0x1E00,2,0x0001,1,1); 41 GEL_MapAdd(0x2400,2,0x0004,1,1); 42 GEL_MapAdd(0x2800,2,0x001F,1,1); 43 GEL_MapAdd(0x2C00,2,0x001F,1,1); 44 GEL_MapAdd(0x3000,2,0x001F,1,1); 45 GEL_MapAdd(0x3400,2,0x0002,1,1); 46 GEL_MapAdd(0x3800,2,0x0005,1,1); 47 GEL_MapAdd(0x3C00,2,0x000D,1,1); 48 GEL_MapAdd(0x4000,2,0x0004,1,1); 49 GEL_MapAdd(0x4400,2,0x0006,1,1); 50 GEL_MapAdd(0x4800,2,0x001B,1,1); 51 GEL_MapAdd(0x4C00,2,0x001B,1,1); 52 GEL_MapAdd(0x5800,2,0x1000,1,1); 53 GEL_MapAdd(0x6800,2,0x0004,1,1); 54 GEL_MapAdd(0x6C00,2,0x0001,1,1); 55 GEL_MapAdd(0x7000,2,0x0002,1,1); 56 GEL_MapAdd(0x7400,2,0x0001,1,1); 57 GEL_TextOut("Gel StartUp Complete.\n"); 58 } 59 OnTargetConnect() 60 { 61 C5509_Init(); 62 } 63 menuitem "C5509_Configuration"; 64 hotmenu CPU_Reset() 65 { 66 GEL_Reset(); 67 GEL_TextOut("CPU Reset Complete.\n"); 68 } 69 70 hotmenu C5509_Init() 71 { 72 GEL_Reset(); 73 TMCR_Reset(); 74 GEL_TextOut("C5509 Memory Map Initialization Complete.\n"); 75 } 76 77 hotmenu C5509_USB_Enable() 78 { 79 GEL_MemoryFill(0x7000,2,1,0x0004); 80 GEL_TextOut("C5509 USB Module enabled.\n"); 81 } 82 menuitem "C5509 EBSR Config"; 83 hotmenu Data_EMIF_En() 84 { 85 GEL_MemoryFill(0x6C00,2,1,0x0200); 86 GEL_TextOut("C5509 Ext. Bus set to Data EMIF.\n"); 87 } 88 hotmenu Full_EMIF_En() 89 { 90 GEL_MemoryFill(0x6C00,2,1,0x0201); 91 GEL_TextOut("C5509 Ext. Bus set to Full EMIF.\n"); 92 } 93 hotmenu NonMuxed_EHPI_En() 94 { 95 GEL_MemoryFill(0x6C00,2,1,0x0202); 96 GEL_TextOut("C5509 Ext. Bus set to Non Muxed EHPI.\n"); 97 } 98 hotmenu MuxEHPI_En() 99 { 100 GEL_MemoryFill(0x6C00,2,1,0x0203); 101 GEL_TextOut("C5509 Ext. Bus set to Muxed EHPI.\n"); 102 } 103 menuitem "C5509 EMIF CE0 Config"; 104 hotmenu CE0_Async16_En() 105 { 106 GEL_MemoryFill(0x0803,2,1,0x1FFF); 107 GEL_TextOut("C5509 CE0 set to 16-bit Async mode.\n"); 108 } 109 menuitem "C5509 EMIF CE1 Config"; 110 hotmenu CE1_Async16_En() 111 { 112 GEL_MemoryFill(0x0806,2,1,0x1FFF); 113 GEL_TextOut("C5509 CE1 set to 16-bit Async mode.\n"); 114 } 115 menuitem "C5509 EMIF CE2 Config"; 116 hotmenu CE2_Async16_En() 117 { 118 GEL_MemoryFill(0x0809,2,1,0x1FFF); 119 GEL_TextOut("C5509 CE2 set to 16-bit Async mode.\n"); 120 } 121 menuitem "C5509 EMIF CE3 Config"; 122 hotmenu CE3_Async16_En() 123 { 124 GEL_MemoryFill(0x080C,2,1,0x1FFF); 125 GEL_TextOut("C5509 CE3 set to 16-bit Async mode.\n"); 126 } 127 128 TMCR_Reset() 129 { 130 #define TMCR_MGS3 0x07FE 131 #define TMCR_MM 0x07FF 132 *(short *)TMCR_MGS3@IO = 0x0510; 133 *(short *)TMCR_MM@IO = 0x0000; 134 }
可以看到:GEL文件主要用来对VC5509的程序空间、数据空间、I/O空间等进行初始化,同时配置CCS开发环境,建立子菜单供用户在调试程序时选择使用。CCS启动时,Startup()函数被执行。支持Connect/Disconnect的CCS启动时,Startup()函数中不包括访问目标处理器的代码,目标处理器由回调函数OnTargetConnect()来初始化。
注意:GEL文件在CCS启动后常驻内存,在仿真器和目标系统上电的时候起到初始DSP的作用。在上电后再改变GEL文件将不会对DSP产生影响。
转载于:https://www.cnblogs.com/Camilo/p/3336935.html
VC5509的通用GEL代码相关推荐
- java精确除法计算,四舍五入 Java问题通用解决代码
java精确除法计算,四舍五入 Java问题通用解决代码 参考文章: (1)java精确除法计算,四舍五入 Java问题通用解决代码 (2)https://www.cnblogs.com/svenne ...
- java会编译失败吗?_请问为什么这个通用java代码不会编译?
为什么这个通用java代码不会编译? 在这个简化的例子中,我有一个泛型类,以及一个返回Map而不管类型参数的方法.当我没有在包含类上指定类型时,为什么编译器会清除地图上的类型?import java. ...
- 我的世界服务器物品代码,我的世界指令代码大全 2021通用指令代码汇总[多图]...
我的世界指令代码还有很多玩家都不清楚,那么手机版和电脑版通用指令是什么,大家输入什么代码可以使用,还不知道的玩家一起来看看吧. 我的世界2021通用指令代码汇总 /kill @e[type = evo ...
- 机械臂控制软件,上位机软件 此机器人上位软件。 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能
机械臂控制软件,上位机软件 此机器人上位软件. 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能,子程序编程功能,逻辑判断语句功能,示教编程功能(支持手柄),变量位置编程功能, ...
- JAVA通用分页代码
写的通用分页代码: SQL存储过程代码: CREATE proc page ( @table_name varchar(100),--表名 @count int,--每页显示好多行 @page int ...
- vba批量合并指定的sheet_Excel通用VBA代码一键合并多个工作表至总表!
原标题:Excel通用VBA代码一键合并多个工作表至总表! 一个工作簿中会有很多个相同格式,标题行内容和顺序都一样的工作表,我们想把这个工作表中的数据全部放至一个总表数据中. 图片上示例是3个工作表, ...
- I3C协议Single Data Rate(SDR)模式研读(六):通用命令代码(CCC)
官方I3C协议规范技术文档中文版 通用命令代码(CCC)是全局支持的命令,可以直接传输到特定的I3C从设备,也可以同时传输到所有I3C从设备. 本节指定如何在I3C总线上传输CCC,每个CCC如何工作 ...
- android webview中h5调用 拍照/相册 通用支持代码
android webview中h5调用 拍照/相册 通用支持代码. 在webview的 WebChromeClient 中,重写 // For Android >= 5.0 @Overri ...
- 走进首个通用无代码开发平台—iVX
目录 1. iVX简介 首个 通用 无代码 开发平台(应用可移植特性) 2. iVX三大属性 iVX的语言属性 iVX的云属性(云原生) iVX的工具属性 3. iVX两大能力 代码生成能力 &quo ...
最新文章
- Visual Studio Code打开终端控制台
- UML建模系列文章总结 (转载)
- 插入最快mysql8.0_MySQL8.0大表秒加字段,是真的吗?
- Ajax学习总结+案例
- How To Install IonCube Loader
- windowsf进程管理器中进程解释
- Python脚本控制的WebDriver 常用操作 十八 获取测试对象的css属性
- idea连接sqlite
- 动态规划实战14 leetcode-312. Burst Balloons
- 编译原理第四章课后题答案
- 霍尔高斯计G81在地磁测量上的运用
- Ubuntu电视卡安装指南
- 介绍一款喜欢的产品|产品经理面试题第2篇
- oracle阿拉伯数字转换成汉字,一个阿拉伯数字转中文数字的函数
- 【沐风课堂】MIRG for 3DMAX材质ID随机生成器使用教程
- 扫荡倾斜摄影单体化难题
- ssm基于微信小程序的新生自助报到系统+ssm+uinapp+Mysql+计算机毕业设计
- jdbc连接oracle11g
- Java基础知识英文选择题1——Basic of Java Programs.
- html弹出div弹窗
热门文章
- 制作MacOS U盘安装盘教程
- 基于Bootstrap的后台管理系统模板。AceAdmin停更前最后的两个版本
- docker学习——杂记
- java内存的图解_java内存图解
- plt python 自己制定cmap_在plt.cm.get-cmap中可以使用哪些名称?
- 开山斧0.3.8(跨平台版本)《源码已开放》
- 基于SSM的电影票预订系统 JAVA MYSQL
- mysql5.6 安装配置 老系统_Windows系统 Mysql5.6下载安装以及配置
- 下面给朋友们推荐100首可以在婚礼上使用的音乐
- 干货:O2O美团外卖四部曲