在使用TI的CCS和仿真器进行AM335x的仿真调试时,一般使用CCS点击connect target连上仿真器后,会需要执行一个GEL文件,这个GEL文件的作用是什么呢?
简而言之,GEL文件就做了两件事儿:1.配置ARM;2.配置DDR。只有在这两部初始化完成后,你才能使用CCS去load程序。试想,程序加载完成后是运行在DDR上的,由ARM执行,如果这两部的初始化不完成,或者是初始化过程中出现了问题,程序肯定是没法正常运行的,加载程序是否能成功都是个问题。
所以重点来了:对于不同的开发板/客户板,这个GEL文件是一样的吗?答案多半是……不一样的!为什么这么说,让我们来看下GEL做的这两个初始化动作:
1. 关于对于ARM的配置:这个只要使用的是AM335x的芯片,这部分的内容基本一致,将ARM配置成为了OPP100的状态,但需要注意DDR的频率配置。拿StarterKit作为示例,StarterKit的DDR3运行频率为303MHz,如果你需要DDR3的芯片跑在400MHz的话,需要在ARM_OPP100_Configh函数中,将DDR_PLL_Config( CLKIN, 23,303, 1);修改为DDR_PLL_Config( CLKIN, 23,400, 1);
2. 关于DDR的配置:这个是差异最大的一点,因为板子上使用的DDR芯片不同(首先是类型不同:DDR2&#