DSP

对GEL文件的理解

2019-07-13 11:17发布

最近在自学dsp的书中,总是会看到GEL文件的编写。之前一直被我跳过了,今天去图书馆换了本书,又看到GEL文件,就静下心来看看是咋么回事。 其实GEL文件是配合CCS集成环境使用的,起到配置CCS环境和初始化dsp环境的作用。它在硬件仿真环境是没太大用处的,但在软件仿真中提供一个虚拟的dsp硬件初始化环境。 在网上总结了GEL文件的一般架构: 1、首先是StartUp函数: StartUp() { C5509_Init(); GEL_TextOut("GEL StartUp complete. "); } 这部分用于初始化最小系统,使得CCSStudio在处理器上处于可信赖的Good状态。 不过注意有些支持脱机的新版本好像要用新的回调函数OnTargetConnect()来调用C5509_Init(),StartUp就放空。 2、接下来是利用menuitem创建一级菜单,然后用hotmenu、dialog或slider等创建二级菜单,相当于自定义了可视化界面,添加了自己想要的功能。 menuitem "My Function";
hotmenu C5509_Init()
{
GEL_Reset();
GEL_MapOn(); //打开存储器映射 GEL_MapReset(); //清除所有存储器映射 GEL_MapAdd(........); //配置存储器映射 ...... *(int *)SCSR1=0x0200; //给寄存器赋值,前面有宏定义
...... GEL_TextOut("C5509_Init Complete. "); } hotmenu LoadMyProg()
{
GEL_Load("mytest.out"); //打开项目文件、装载项目文件,并且自动执行到main()
GEL_Go(main); } GEL文件只是在仿真器和目标系统上电的时候起到初始化dsp的作用,在上电后再改变GEL文件将不会对DSP产生影响,除非断电后再上电。就是说,GEL文件一旦加载,函数就会一直驻留在内存中,知道卸载为止。