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 , TM4C123BH6ZRB , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZRB , 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 内核配合使用

在微控制器上管理 RTOS 的一个重要因素是正确处理微控制器硬件中断的使用,不会干扰 RTOS 内核和调度程序。由于 FreeRTOS 的目标是与芯片和编译器无关,因此没有处理特定器件硬件中断的独特插件。硬件中断处理发生在内核和调度程序之外,必须使用非常精简的中断服务例程 (ISR) 来处理。最大限度地减少执行 ISR 所花费的周期,可使调度程序更快地控制应用程序。

由于大多数 ISR 需要处理已触发的特定事件,因此 FreeRTOS 内核提供了将事件处理从 ISR 推迟到一项任务的方法,该任务是内核的一部分,由调度程序安排运行。这些推迟的任务已配置了优先级,使开发人员能够获得与 ISR 处理相同的灵活性,可以设置优先级,确保首先处理最重要的中断。通过这种方法,可以最大限度地减少硬件 ISR 处理,同时仍确保应用程序所需的优先级。

要了解有关推迟中断处理以及 FreeRTOS 中断安全 API 的更多详细信息,以及内核如何执行上下文切换,请参阅掌握 FreeRTOS 实时内核中的中断管理章节。

从 TM4C 微控制器的角度来看,配置中断包括将 ISR 映射到中断矢量表,以便在触发硬件中断时执行 ISR。有两种方法可以将新中断正确登记到中断矢量表中。TivaWare™ 用户入门指南TivaWare 矢量表和 IntDefaultHandler 部分对这些方法进行了详细说明。