This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请问下载程序时运行了GEL文件,还需要在程序中使用platform_init() API初始化吗?

Other Parts Discussed in Thread: TMS320C6678

芯片:TMS320C6678

硬件环境:TMDXEVMC6678LE

软件环境:CCSv5.2.1

看GEL文件知道它会初始化DDR3和PLL等,而platform_init() API也会初始化DDR3、PLL以及PHY等,所以想问一下下载程序时运行了GEL文件,还需要在应用程序内部调用platform_init() API吗?

要求:应用程序需下载到DDR3中运行,所用应用程序是由Hello World例程适当改编而成。

问题描述可能不太清楚,望大家帮忙解答,谢谢!

  • 你好,因为你的应用程序需下载到DDR3中运行,所以需要使用GEL来初始化DDR3等。

    如果GEL已经做过初始化工作,相同的工作在platform_init()中也可以不做,但是建议加上platform_init(),因为脱机自启动运行时候会用到的。

  • Titan你好,

    有两个问题:

    (1)使用了GEL后,我选择了先不用platform_init()来进行测试,结果失败。

    由于需要使用UART且已加载GEL,故进入主程序我直接初始化UART,如下

    但是单步运行至下图

    程序退出,提示如下

    请问这个是什么地方出了问题?

    (2)如果在主程序中加上platform_init(),由于platform_init()会改变PLLD、PLLM等参数值,在已加载GEL文件的情况下这么做不会出错吗?

    谢谢!

  • 你好,“

    ”这个不一定是错误,因为有时候单步调试到LIB里面的函数时,此时因为已经封装程LIB,所以不能单步到该函数,此时会出现这个提示,跳过既可以,并不是错误。

    “platform_init()会改变PLLD、PLLM等参数值,在已加载GEL文件的情况下这么做不会出错吗?”不会出错,如果重复设置,数据会覆盖重置。

  • 明白了,谢谢,Titan!