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.

SYS/BIOS怎么知道外部晶振频率?

Other Parts Discussed in Thread: TMS320C6747, SYSBIOS

芯片是TMS320C6747。

刚开始接触SYS/BIOS,之前都是跑裸机程序,PLL初始化都是自己写的驱动,知道需要外部晶振频率。

然而在SYS/BIOS中没有找到外部晶振的设定选项。

1:是SYS/BIOS自动识别晶振?

2:还是必须用24MHz晶振?

Platform Setting这个地方(CPU clock frequency)没看明白,这个设置是---

1:仅仅通知SYS/BIOS芯片的频率?(真实系统频率由开发者设定)

2:需要SYS/BIOS根据此设定自动计算芯片频率?(真实频率由SYS/BIOS设定)

  • 不是自动识别,也可以选用其他频率的晶振。
    图形中的配置直接根据你实际cpu跑的频率配置就行了。
    PLL的配置跟裸机下配置程序一样。
  • 您好:
    我按照文档中的操作,但是会一直卡在选择芯片部分,下拉框中没有芯片信号
    而且在文档中也未说明在哪里修改外部晶振,platform中clock speed默认就是300,也就是C6747的最高频率
    在文件ti_platforms_evm6747.java中第182行默认了主频为300

    抱歉说了那么多,我的问题很简单:
    定时器是用的外部晶振时钟源,现在我的定时器是准的,但是我没有设定外部晶振,我想知道为什么是准的。
    1:是SYS/BIOS自动识别晶振?
    2:还是必须用24MHz晶振?
  • 您好:
    定时器是用的外部晶振时钟源AUXCLK,现在我的定时器是准的,但是我没有设定外部晶振,我想知道为什么是准的。芯片是TMS320C6747.
    我设置了定时周期为1000us,然后观察PRD寄存器中的重装值就是24000,也就是说SYS/BIOS知道外部晶振是24M?
    这里是我最疑惑的地方。
  • 您好,太感谢您了。
    文档中【TI RTOS doesn`t setup the device clocks】能解释这个频率只是仅仅通知SYS/BIOS,真实频率由开发者设定。
    我的clock模块绑定了定时器0,在配置文件中添加:
    var ti_sysbios_timers_timer64_Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
    ti_sysbios_timers_timer64_Timer.intFreqs[0] = {hi: 0, lo: 24000000};
    其中24000000就是晶振频率,这个频率默认就是24M,和我的板子上的晶振一致。
    修改成12000000后,PRD寄存器的值就变成了12000