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卡中)并开始执行该程序。在空闲期间,只有解释器运行。