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.

c6747+SDRAM +Flash系统,要想解决两个问题。1,想利用pwrm module实现deepsleep;2,没有加载任何gel文件,debugger是如何初始化SDRAM的?

您好,c6747+SDRAM +Flash系统,我们有两个问题:

1  想利用pwrm module实现deepsleep。我把c6748才有的pwrm移植到了c6747,并且用pwrm_powersleep(PWRM_SLEEP,0,0)实现了sleep,功耗从380毫安降到80毫安,但是还是觉得待机功耗太大。所以我想问的是还能不能进一步降低功耗?C6747+SDRAM+Flash这个系统,最低功耗到底能低到什么程度?

2 我用的是CCS6.x版本,我并没有对C674x_0指定.gel文件,那我用调试器加载程序的时候,会有默认的gel文件运行吗?如果有,这个默认的gel文件是在哪个目录里?

还有,我把.far和.const段放到了sdram里面,如果在emulator加载程序的时候没有执行任何gel文件,那sdram就不可用,那谁来负责初始化sdram并搬运.far和.const数据到初始化好的sdram里面?

有没有文档介绍一下emulator启动、搬运.text .data .const ...等等段、一直到运行到_c_int00的整个详细的过程??

非常感谢!!!

  • Alex Hu 说:
    2 我用的是CCS6.x版本,我并没有对C674x_0指定.gel文件,那我用调试器加载程序的时候,会有默认的gel文件运行吗?如果有,这个默认的gel文件是在哪个目录里?

    在CCS配置遍级选项里有路径。是CCS安装目录下的。

    Alex Hu 说:
    还有,我把.far和.const段放到了sdram里面,如果在emulator加载程序的时候没有执行任何gel文件,那sdram就不可用,那谁来负责初始化sdram并搬运.far和.const数据到初始化好的sdram里面?

    C674x boot采用AIS文件格式,在AIS文件里配置。

    Alex Hu 说:
    有没有文档介绍一下emulator启动、搬运.text .data .const ...等等段、一直到运行到_c_int00的整个详细的过程??

    错了,是一开始就从_c_int00运行的。在_c_int00里搬运这些段的。

  • Tony Tang 说:

    2 我用的是CCS6.x版本,我并没有对C674x_0指定.gel文件,那我用调试器加载程序的时候,会有默认的gel文件运行吗?如果有,这个默认的gel文件是在哪个目录里?

    在CCS配置遍级选项里有路径。是CCS安装目录下的。

    [/quote]

    在哪里设置?能说的具体一点吗?

  • Tony Tang 说:

    还有,我把.far和.const段放到了sdram里面,如果在emulator加载程序的时候没有执行任何gel文件,那sdram就不可用,那谁来负责初始化sdram并搬运.far和.const数据到初始化好的sdram里面?

    C674x boot采用AIS文件格式,在AIS文件里配置。

    Alex Hu 说:
    有没有文档介绍一下emulator启动、搬运.text .data .const ...等等段、一直到运行到_c_int00的整个详细的过程??

    错了,是一开始就从_c_int00运行的。在_c_int00里搬运这些段的。

    [/quote]

    我看了_c_int00的代码,说下我的理解;

    我觉得应该是我们点击debug的时候,emulator先根据默认的gel文件(但是这个.gel文件我还是找不到,而且我根本没有指定任何.gel文件,我的程序可以很好的跑起来。我很奇怪。)初始化sdram和其他的必要的寄存器,然后emulator再查看.cmd文件,把刚生成,out文件中各个段(.text  .const  和 .far等)加载到L2ram 和 sdram中,然后进入_c_int00.  

    这个_c_int00的源代码显示,它只是得到一些基本的堆,栈信息,还有拷贝cinit到bss而已,其他的段应该是emulator搬运的。

    至于ais,这个应该是当我们不采用emulator的时候才发挥作用。

    AIS会在.out文件中加入很多命令,这些命令能够被rom bootloader解释执行,完成诸如:sdram初始化,配置pll,搬运.text等各段的功能,然后再调用entry_point

    不知道我这样理解对于对?

  • GEL文件在target configuration file里。

  • Shine Zhang 说:

    GEL文件在target configuration file里。

    hi,shine

    谢谢你的回答。我的工程并没有指定这个,gel文件,也就是说那个地方是空的,那debug的时候还会执行某个默认的gel文件吗?

    还是你不指定gel,那就不执行?如果不执行,那么随之而来的问题就是,我的sdram没有初始化,包括pinmux也没有指定为emif管脚,那我放到sdram里面的.text,.const 和,far怎么可能放进sdram中去呢?

    谢谢回答,确实心里有个疙瘩。

  • 没有定义的话,就不会执行。

    GEL文件是在CCS调试代码时使用,在脱机运行时不需要GEL文件,SDRAM初始化配置在aisgen工具中完成,ROM bootloader在搬运代码前,会根据aigen工具生成的.ais文件里的内容执行相应的初始化。

  • 。我也遇到这个问题。然后找了一下 shine Zhang 在13年时回复过类似的问题。似乎是说,CCS5 之后的版本 都相当于把 gel文件固化好了,没有特殊需求不需要添加,所以你的工程那个地方是空的。但是为了扩展功能也可以添加gel。
    e2echina.ti.com/.../23773
    processors.wiki.ti.com/.../GSG:Adding_GEL_files_to_a_target_configuration_v5