N108是為TM4C123芯片編寫的完整實時操作系統,並支持外部LCD。操作系統的內核是從頭開始寫的。 OS依靠某些外部硬件來正常運行,但可以輕鬆修改以自給自足。有關所需外部硬件資源的列表,請參見下文。
通過Unix狀外殼與OS相互作用。 Shell使用板的UART0使用串行通信將您輸入的命令發送到N108操作系統。要與操作系統接口,請通過USB將TM4C123啟動板連接到計算機,並啟動串行接口(例如Mac的Coolterm或Windows putty) - 並連接到您使用的串行端口。從那裡,您應該可以看到N108 Shell的提示。您可以從此接口發出命令。
N108具有完整的流程加載支持,因此您可以使用此操作系統獨立編譯並啟動自己的TM4C123程序,而無需與程序一起重新編譯OS。要使用此功能,請使用Keil Uvision(或任何其他嵌入式ARM編譯器)編譯獨立程序,然後將ELF文件放入FAT32格式的SD卡中。將SD卡連接到您的TM4C123,然後運行OS。從操作系統的外殼中,輸入“啟動”,其中'是您在SD卡中擁有的ARM ELF文件的名稱。操作系統應啟動程序並開始執行。
OS支持一個系統調用:OS_DISPLAYMESSAGE。該呼叫使您可以將字符串打印到附加到板上的ST7735 LCD。它需要4個參數來指定您希望板顯示文本的屏幕上的位置。通過修改OS_Critical/OS.C下的靜態const elfsymbol_t symboltable []數組,可以輕鬆添加更多調用,並為您的新功能添加指針。
我正在考慮向該區域添加更多的系統調用,以便更輕鬆地訪問TM4C SOC資源(而不是外部資源)。 TBD。
開箱即用的操作系統依靠三個外部硬件來正常運行:外部芯片將串行驅動程序與串行驅動程序與命令(例如個人計算機),LCD和SD卡讀取器接口。 LCD用作輸出源(與串行端口一起),文件系統和過程加載程序使用SD卡讀取器來加載和執行外部進程。有關串行接口命令的列表,請在下面查看。我個人使用了ST7735,因為它允許SSI兼容的LCD和SD接口;示意圖也包括在下面。
該操作系統設計用於ARM TM4C123芯片的變化。但是,大多數硬件抽象層都存儲在OS_Critical/HardwareManager下。對於在其他設備上支持的驅動程序的驅動程序,該模塊很容易交換。操作系統使用以下硬件工具進行核心操作:
uart:
PLL:
GPIO:
SSI:
該代碼旨在與Texas Instruments Code Composer Studio一起使用。只需克隆存儲庫,然後將項目導入您的CCS工作區。該項目應在不需要其他工作的情況下建立蝙蝠。
該操作系統將在Ti TM4C123 Launchpad上閃爍到盒子外。
操作系統對兩件事使用外部ST7735 LCD:作為LCD,作為其文件系統的外部SD卡讀取器。我的操作系統也用於其他目的(例如與傳感器接口),因此請忽略第二張圖像中的任何無關連接。重要的是連接了ST7735。
以下是如何將其連接到您的Launchpad: 

OS之間的主要接口(在板上運行)是通過板載串行UART端口完成的。您可以在計算機上使用任何終端程序(例如Mac上的CoolEdge或Windows上的Putty)將這些命令發送到OS解釋器後,一旦啟動完成。
開箱即用,操作系統支持以下命令,如Shell/shell.c:
char* commandFormat[] =
{
"help",
"runproc <processname>"
}
很容易,但是這裡的想法是添加您自己的命令並與其餘操作系統接口。幫助基本上打印出相同的列表,而RunProc加載外部進程(存儲在插入ST7735突破板的SD卡中)並開始執行該程序。在空閒期間,只有解釋器運行。