Luminary Micro從其第3代Stellaris產品DustDevil家族開始,在芯片內部獨立地集成了ROM存儲器,更好的解決了ISP功能和并增強程序加密特性,同時還創新地將Luminary的驅動庫固化在ROM當中,這樣就把更多的Flash空間留給用戶使用。由于固化驅動庫到ROM中節省了FLASH的成本,芯片的整體成本也將降低,也就提高了單片機的市場競爭力。用戶編程時,只需要調用ROM中的API函數就可以操作外設,非常簡便。
驅動庫函數固化在ROM當中,好處有:
1. 不會占用用戶的任何Flash資源
2. 最大限度提高代碼密度
3. 加快程序執行速度
4. 這是Luminary免費提供的,不存在版權問題(royalty-free)
5. 固化的驅動庫同時也是bootloader(即ISP下載),提供UART、I2C、SSI等多種接口
【ROM庫函數用法1】
● 首先保證你使用的芯片屬于Luminary Micro第三代產品DustDevil家族,如LM3S5749
● 在程序的開頭做如下定義:
#define TARGET_IS_DUSTDEVIL_RA0
#include <rom.h>
● 然后在每個調用的庫函數名前面加上ROM_前綴就可以了
【ROM庫函數用法2】
● 首先保證你使用的芯片屬于Luminary Micro第三代產品DustDevil家族,如LM3S5749
● 在程序的開頭做如下定義:
#define TARGET_IS_DUSTDEVIL_RA0
#include <rom.h>
#include <rom_map.h>
● 然后在每個調用的庫函數名前面加上MAP_前綴就可以了
前綴MAP_要比前綴ROM_可移植性好
如果去掉對<rom.h>的包含,則不使用ROM庫
【注意事項】
驅動庫版本不能太舊,否則不會支持ROM庫特性,推薦采用3223以上版本
ROM庫不支持某些庫函數,如SysCtlDelay()