TI中文支持网
TI专业的中文技术问题搜集分享网站

关于AM335X StarterWare主频设置问题的求助

求助论坛各位大神,那位能告诉我AM3358的StaeterWare开发包中想要设置工作频率为1GHz是修改那个函数代码,求助啊,找半天没找到,谢谢了

Steven Liu1:

你是想问load.out文件这种调试的时候怎么修改?还是想问直接运行image文件的时候?

前者的话修改GEL文件,后者的话修改bootloader

wei Wang34:

回复 Steven Liu1:

load .out文件,我想要在1GHz频率下测试算法的速度,能不能说具体点???

Steven Liu1:

回复 wei Wang34:

这种情况下,你的ARM核初始化,DDR的初始化,都是在GEL文件中完成的,所以你需要要设置主频为1G,也是需要在这个GEL文件中修改的。另外可否提供一下,你使用的AM335x的开发板类型?或者是芯片的丝印Part No.

我们不是所有的开发板都是支持1GHz的,GPEVM,StarterKit, BB最高只是到720MHz。BBB能跑在1GHz,下面就以BBB的GEL为例,简述一下,如果是你自己做的板子,也是修改应的地方:

先找到这个函数,这里就是做初始化的地方:红色的部分注释掉原来的部分,并增加ARM_OPPNitro_Config()函数,用来配置1GHz频率。

hotmenu AM335x_BeagleBlack_Initialization() { GEL_TextOut("**** AM335x BeagleBlack Initialization is in progress ………. \n","Output",1,1,1); ARM_OPPNitro_Config(); // ARM_OPP100_Config(); DDR3_EMIF_Config(); GEL_TextOut("**** AM335x BeagleBlack Initialization is Done ****************** \n\n\n","Output",1,1,1); }

然后在下面搜索ARM_OPP100_Config函数的实现,复制并修改成为ARM_OPPNitro_Config函数:

hotmenu ARM_OPPNitro_Config() //ARM_OPP100_Config(){GEL_TextOut("**** AM335x ALL PLL Config for OPP == OPP100 is in progress ……… \n","Output",1,1,1);GetInputClockFrequency();if(CLKIN==24){MPU_PLL_Config( CLKIN, 23, 1000, 1);//MPU_PLL_Config( CLKIN, 23, 500, 1); CORE_PLL_Config( CLKIN, 23, 1000, 10, 8, 4); DDR_PLL_Config( CLKIN, 23, 400, 1); PER_PLL_Config( CLKIN, 23, 960, 5); DISP_PLL_Config( CLKIN, 23, 48, 1); GEL_TextOut("**** AM335x ALL ADPLL Config for OPP == OPP100 is Done ……… \n","Output",1,1,1);}else GEL_TextOut("**** AM335x PLL Config failed!! Check SYSBOOT[15:14] for proper input freq config \n","Output",1,1,1);}

特别需要注意的是,如果设置为1GHz的时候,VDD_MPU的电压必须要满足datasheet的范围1.325V +/- 4%。

最后附上原始的BBB GEL文件。

wei Wang34:

回复 Steven Liu1:

我用的是米尔科技的MYD-AM3358开发板,另外问一下,starterware提供的gel文件有五个,请问用哪个比较好?五个gel文件以附件发送

Steven Liu1:

回复 wei Wang34:

这5个分别对应的是TI官方发布的五种开发板。

开发板所使用的DDR不同,有的是DDR2,有的是DDR3,而且layout也有差别,所以不同的开发板都需要与之对应的GEL文件。

建议你看一下这个:浅析 GEL 文件在 ARM 初始化时的作用和修改:http://www.deyisupport.com/files/m/sitara_arm/11904.aspx

我不确定米尔科技的开发板是自己做的还是照着TI原厂的EVM板copy的,需要咨询一下米尔科技的相关人员,如果是自己做的layout,那肯定是有自己的一个GEL文件,这5个都不适用。我们的开发板资料可以在这里找到:http://processors.wiki.ti.com/index.php/AM335x_Resource_Guide(English/%E4%B8%AD%E6%96%87)

硬件开发资源-评估板中

Steven Liu1:

回复 wei Wang34:

另外插一句,你能看到主芯片上面的丝印料号吗?比如类似AM3358BZCZ80之类的。只有当这个料号带有BZCZ100的标识时,他才能跑到1GHz。否则的话,其他的只能跑到对应的频率比如300M, 600M, 800M, 720M。那么用这块评估板就干不了你想做的事情了,需要换块支持1GHz的芯片或者评估板。

wei Wang34:

回复 Steven Liu1:

主板的丝印号码是AM3358BZZCZA100

Steven Liu1:

回复 wei Wang34:

这是OK的,可以跑在1GHz,找米尔要到GEL文件,做以上修改后,注意调整VDD_MPU的供电电压为1.325V后,方可测试。供电电压这里,一定要注意设对了。

wei Wang34:

回复 Steven Liu1:

谢谢您了,对了,我还有一个问题想要请教一下,在starterware提供的mmu.c文件中有一个函数:MMUEnable,里面有一个CP15MMUEnable(); 跑到这里程序就跑飞了,而且我找了整个StarterWare开发包都没有找到CP15MMUEnable();这个函数的源代码,求指导,附件是mmu.c的源代码

/** * \brief Updates the Translation Table Base with the address of Master Page * Table and enables MMU. * * \param masterPt Master Page Table Base Address * * \return None. * * \Note Only TTB0 is used for page table walking. **/void MMUEnable(unsigned int *masterPt){ /* Set TTB0 register */ CP15Ttb0Set((unsigned int)masterPt);

/* Enable MMU */

CP15MMUEnable();}

user4149105:

回复 Steven Liu1:

这资料很不错,多谢

赞(0)
未经允许不得转载:TI中文支持网 » 关于AM335X StarterWare主频设置问题的求助
分享到: 更多 (0)