主题中讨论的其他器件:C2000WARE、 SYSBIOS、 TMDSCNCD28069ISO
工具/软件:TI-RTOS
我们将 SysBIOS 和 C2000Ware_1_00_06_00头文件用于包含 TMDSCNCD28069ISO 的项目。 我们需要从控制卡的外部20MHz 振荡器运行时钟源、我们在实现这一目标时遇到了困难。 SysBIOS 引导实用程序虽然简洁,但似乎没有提供足够的灵活性来实现所有设置。 我们认为我们需要使用头文件包 F2806x_sysctrl.c 中的 SYSBIOS 和 InitSysCtrl()的组合。 请确认。
F2806x_sysctrl.c 文件包含的函数可用于对时钟发生器执行任何可能需要执行的操作。 例如,有一个名为 XTALOscSel()的函数可用于切换到外部20MHz 晶体源。
然而当我们调用 XTALSSEL()时,当调试器在我们的项目没有源代码的地址的 Estop 指令处停止时,处理器似乎进入了一个故障状态。 这在执行该指令(SysCtrlRegs.CLKCTL.bit.XTALOSCOFF = 0)后立即发生、即使代码在这之前使用了 EALLOW 也是如此。 在 BIOS 初始设置时钟后,是否有其他阻止用户运行 XTALOscSel()的东西? 请举例说明如何做到这一点。
我们已经尝试了许多调用此函数的组合、但都以相同的方式失败。 下面是我们尝试调用 XTALOscSel()的一些方法:
- 默认情况下,允许 SYSBIOS 引导模块禁用看门狗并配置 PLL,但随后从 main()上下文调用 XTALOscSel()。 如上所述、此操作失败。
- 允许 SYSBIOS 引导模块禁用看门狗,但不配置 PLL,然后从 main()上下文调用 XTALOscSel()。 如上所述、此操作失败。
- 完全删除 SYSBIOS 引导模块并插入禁用看门狗并调用 XTALOscSel()的用户复位挂钩函数。 如上所述、此操作失败。
-Ruben