本博客为本人学生时代的技术博客,工作后10年已经不再更新,需要关注可以访问geekpm.com,点击访问!

CCS2.2和CCS3.1在读写GEL文件上的区别之二

下面具体谈一下GEL文件的执行过程。使用CCSStudio Setup工具,可以为在系统配置中的每一个处理器指定一个启动GEL 件。当CCSStudio启动时,GEL 件加载到PC机的内存中,由CCS根据加载的GEL文件对目标板进行初始化。在CCS2.2,主机和目标板的初始化工作都在GEL文件的Startup()函数中执行,而CCS2.2必须在打开时就会连接目标板同时进行初始化。但是对于支持Connect/DisconnectCCSStudio例如CCS3.1,打开后目标板并没有被自动连接,这样的GEL文件中的初始化程序并没有正确执行,因为CCSStudio启动时和目标处理器是断开的。当Startup()函数试图访问目标处理器时会出错。因此在CCS3.1中需要回调函数来重新执行初始化。下面可以将SEEDDM642.gelEVMDM642.gel做一个对比。

首先是SEEDDM642.gel中的StartUp()

EVMDM642.gel中的StartUp()

 

从这个函数的对比就可以看到前一个在StartUp()中就已经完成了GELemif的初始化工作,而在后一个中就没有,这一点和前面说的软件打开时目标板的连接方式刚好一致。

因此在CCS3.1gel文件中就多了这样一段函数:

即在目标板连接的时候进行初始化操作,由此就可以理解为什么前面弹出的警告了,将SEEDDM642.gel对应的部分修改后在运行警告消失,即在软件打开时不对芯片初始化,改在芯片连接时进行。

    同样可以看一下gel文件中的其他函数:

由此可以更深刻的了解gel文件的作用和两个版本的区别了。

posted @ 2010-03-21 13:10  emouse  阅读(814)  评论(0编辑  收藏  举报