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 , 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
为了更大限度地减少闪存空间,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 函数的优势。