ZHCU861A March   2021  – August 2022 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.   请先阅读
    1.     关于本手册
    2.     术语表
    3.     德州仪器 (TI) 提供的相关文档
    4.     支持资源
    5.     商标
  2. 1TivaWare SDK 简介
    1. 1.1 TivaWare SDK 文件夹细目分类
  3. 2TivaWare 示例工程
    1. 2.1 TivaWare 开发板示例
    2. 2.2 TivaWare 外设示例
    3. 2.3 如何将示例工程导入 CCS
  4. 3在 Code Composer Studio 中将文件和库关联到 TivaWare 工程中
    1. 3.1 在 CCS 中链接文件
    2. 3.2 在 CCS 中链接库
  5. 4如何调试 TivaWare 库
    1. 4.1 如何引导 Code Composer Studio 找到源文件
    2. 4.2 如何重新构建 TivaWare 库
  6. 5如何将 TivaWare 添加到现有 CCS 工程中
    1. 5.1 路径变量
    2. 5.2 包含路径
    3. 5.3 预定义变量
    4. 5.4 库链接
  7. 6TivaWare 引导加载程序
    1. 6.1 在 Code Composer Studio 中修改要用于引导加载的 TivaWare 工程
    2. 6.2 如何使用 LM 闪存编程器引导加载
  8. 7软件最佳做法
    1. 7.1 栈/堆设置和栈溢出
    2. 7.2 中断服务例程
      1. 7.2.1 最佳做法
      2. 7.2.2 TivaWare 矢量表和 IntDefaultHandler
    3. 7.3 TivaWare 硬件头文件
    4. 7.4 ROM 和 MAP TivaWare 前缀
  9. 8TM4C 资源
  10. 9修订历史记录

ROM 和 MAP TivaWare 前缀

为了更大限度地减少闪存空间,TM4C 微控制器将 TivaWare 的 DriverLib 加载至 ROM 存储器。然而,在 ROM 中包含的 DriverLib 是一个旧版本,因此必须使用最新的 TivaWare DriverLib 通过闪存执行任何更新的函数或新函数。为了更轻松地了解 ROM 中加载的哪些函数是最新的,以及必须从闪存执行哪些函数,TivaWare 包含一个映射文件,用于确定是否使用 ROM 函数或闪存函数。在此设置中,每个 DriverLib 函数可能都有三个函数调用,即泛型函数调用、ROM 前缀函数调用(函数以“ROM_”开始)和 MAP 前缀函数调用(函数以“MAP_”开始)。

对于所有 ROM 前缀函数调用,需要 rom.h 头文件,它将从 ROM 存储器映射中选择正确的函数来执行。如果 ROM 中不存在该函数,则会出现编译器错误,指示该函数不可用。在某些情况下,在 rom.h 中删除了关联勘误表的旧 ROM 函数以避免滥用,在这些情况下,应使用最新 TivaWare 中的 DriverLib 函数。在其他情况下,ROM 函数可能根本不存在。这就增加了复杂性,不利于程序员使用。

为了简化这一流程,提供了函数调用的第三个选项 - MAP 前缀。所有 DriverLib 函数调用都根据是否存在 ROM 版本在 rom_map.h 头文件中定义了一个等效函数。因此,通过使用 MAP 前缀,无需猜测何时使用 ROM 或闪存 DriverLib 函数,同时还可以最大限度地减少 DriverLib 的闪存占用。在应用程序文件中包含 rom_map.h 后,只需在所有 DriverLib 函数中添加 MAP 前缀即可利用所有可用 ROM 函数的优势。