在使用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,DDR3,LPDDR;再者不同厂家、相同厂家不同型号的时序参数不一样),板子的layout布线也不一样,所以说这里多半是要做改动的!(当然如果是抄板,或者是同一批layout、物料做的板子,这个是可以共用的。)

GEL文件在TI的AM335x开发中负责ARM和DDR的初始化。内容包括ARM配置为OPP100状态,DDR配置因芯片类型、时序参数和布局差异而异。DDR配置涉及EMIF和PHY时序,可通过特定工具计算和优化。DDR3还需软件校平以确保最佳PHY时序。
最低0.47元/天 解锁文章
418

被折叠的 条评论
为什么被折叠?



