ZHCACG6 march   2023 TM4C1230C3PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZXR , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2安装方法
    1. 2.1 更新 TivaWare 目录中的 FreeRTOS 版本
    2. 2.2 为 TM4C LaunchPad 添加 FreeRTOS 硬件驱动程序文件
  5. 3TM4C FreeRTOS 示例的架构
    1. 3.1 适当的时钟配置
    2. 3.2 硬件中断与 FreeRTOS 内核配合使用
    3. 3.3 Code Composer Studio 对 FreeRTOS 的调试支持
  6. 4示例工程演练
    1. 4.1 下载并导入示例
    2. 4.2 USB 示例
      1. 4.2.1 usb_dev_bulk
      2. 4.2.2 usb_dev_cdcserial
      3. 4.2.3 usb_dev_keyboard
    3. 4.3 以太网示例
      1. 4.3.1 enet_lwip
        1. 4.3.1.1 运行 enet_lwip 示例
      2. 4.3.2 enet_io
        1. 4.3.2.1 运行 enet_io 示例
  7. 5参考文献

适当的时钟配置

为了确保 FreeRTOS 内核以正确的时钟频率运行,必须注意将 TM4C 微控制器的正确系统时钟频率分配给 FreeRTOS 内核。FreeRTOSConfig.h 中的 configCPU_CLOCK_HZ 变量保存系统时钟频率的值。无论系统时钟频率发生任何变化,都必须相应地更新此变量。提供的所有示例均使用目标微控制器支持的时钟速度上限,TM4C123x 器件为 80MHz,TM4C129x 器件为 120MHz。

在每个 TM4C 微控制器的器件特定数据表的时钟控制 部分,提供了有效时钟速度选项的相关信息。根据时钟分频器设置的频率的精度是存在限制的。如果在 TivaWare 时钟配置函数中输入了不支持的频率,通常会配置为最接近的频率。如果时钟配置不正确(无法准确地反映外部晶体,或应使用的振荡器不正确),也会锁定器件,直到复位为出厂状态。最后,某些外设为了按照规格运行,对最低系统时钟频率有要求,这些外设包括 ADC(用于高速采样)、USB 和以太网(仅限 TM4C129x 系列)。

两个 TM4C 器件系列处理时钟配置的方式存在差异。

对于 TM4C123x 器件,系统时钟频率使用 SysCtlClockSet API 设置,只由通过函数调用传递的分频器确定。系统时钟的实际速率可由 SysCtlClockGet API 获得。但是,由于 FreeRTOSConfig.h 文件需要时钟速率的硬编码定义,因此对系统时钟频率的任何更改在插入 configCPU_clock_Hz 的新值之前,需要在内核未运行的情况下进行验证。

对于 TM4C129x 器件,系统时钟频率使用 SysCtlClockFreqSet API 进行设置,需要输入所需的系统时钟频率。然后它会返回实际系统时钟频率,该频率是根据与请求值最接近的值设置的。在提供的每个示例中,该值均存储在 g_ui32SysClock 中,可用于验证是否设置了正确的频率。提供给 SysCtlClockFreqSet 的时钟频率输入是 configCPU_CLOCK_HZ 变量。因此,只要定义了有效的 TM4C129x 时钟频率,工程就只需要进行一次更改。