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.

请问工程属性里时钟频率设置和堆栈大小的问题



debug选项里有时钟频率设置,但是频率设置不是通代码初始化的吗,请问这里的时钟频率有什么用,和初始化代码不一样会怎样呢?

程序里时钟初始化: 

InitPll(DSP28_PLLCR,DSP28_DIVSEL);

在c2000 linker选项里有堆栈stack大小设置,但是cmd里也有指定 .stack段大小和位置,这两个不一行会怎么呢?

cmd文件里:

   RAMM1      : origin = 0x000400, length = 0x000400    

   ……

.stack           : > RAMM1,     PAGE = 1


楼主入门小白,还请各位赐教。

  • 问题1,OSCCLK是晶振频率,比如28335一般外部晶振30mhz,PLLCR里面的value是倍频值,clkindiv是分频,使F28335工作在150mhz,那么配置pll10倍频再2分频可得到,这些参数配置一般要和硬件匹配。

    参考手册:http://www.ti.com.cn/cn/lit/ug/sprufb0d/sprufb0d.pdf

    2.Stack空间尽可能大吧,程序运行中不会导致Stack空间溢出。

  • 在c2000 linker选项里有堆栈stack大小设置,但是cmd里也有指定 .stack段大小和位置,这两个不一行会怎么呢?

    cmd文件里:

       RAMM1      : origin = 0x000400, length = 0x000400    

       ……

    .stack           : > RAMM1,     PAGE = 1

    Eric:

    堆栈是由linker属性来设置的,也就是你看到的300,  一般都是够用的啦。如果要设得更大,必须小于cmd里面的stack映射的存储块,否则编译报错。当然,cmd里面的stack也可以映射到一个更大的存储块。