N108 เป็นระบบปฏิบัติการแบบเรียลไทม์ที่เขียนขึ้นสำหรับชิป TM4C123 พร้อมรองรับ LCD ภายนอก เคอร์เนลของระบบปฏิบัติการถูกเขียนตั้งแต่เริ่มต้น ระบบปฏิบัติการขึ้นอยู่กับฮาร์ดแวร์ภายนอกบางอย่างเพื่อให้ทำงานได้อย่างถูกต้อง แต่สามารถปรับเปลี่ยนได้อย่างง่ายดายเพื่อให้พึ่งพาตนเองได้ สำหรับรายการทรัพยากรฮาร์ดแวร์ภายนอกที่จำเป็นโปรดดูด้านล่าง
ระบบปฏิบัติการมีปฏิสัมพันธ์กับเปลือกที่เหมือน Unix เชลล์ใช้การสื่อสารแบบอนุกรมผ่าน UART0 ของบอร์ดเพื่อส่งคำสั่งที่คุณพิมพ์ไปยังระบบปฏิบัติการ N108 ในการเชื่อมต่อกับระบบปฏิบัติการให้เชื่อมต่อ TM4C123 LaunchPad ของคุณกับคอมพิวเตอร์ของคุณผ่าน USB และดับเพลิงอินเทอร์เฟซอนุกรมเช่น CoolTerm สำหรับ Mac หรือ Putty สำหรับ Windows-และเชื่อมต่อกับพอร์ตอนุกรมที่คุณใช้ จากนั้นคุณควรจะเห็นพรอมต์ของ N108 Shell คุณสามารถออกคำสั่งจากอินเทอร์เฟซนี้
N108 ได้รับการสนับสนุนการโหลดกระบวนการอย่างเต็มรูปแบบดังนั้นคุณสามารถรวบรวมและเปิดโปรแกรม TM4C123 ของคุณเองโดยใช้ระบบปฏิบัติการนี้โดยไม่ต้องทดสอบระบบปฏิบัติการใหม่พร้อมกับโปรแกรมของคุณ ในการใช้คุณสมบัตินี้ให้รวบรวมโปรแกรมอิสระของคุณโดยใช้ Keil Uvision (หรือคอมไพเลอร์ ARM แบบฝังตัวอื่น ๆ ) และวางไฟล์ ELF ลงในการ์ด SD ที่จัดรูปแบบ FAT32 เชื่อมต่อการ์ด SD กับ TM4C123 ของคุณและเรียกใช้ระบบปฏิบัติการ จากเชลล์ของระบบปฏิบัติการพิมพ์ 'เปิดตัว' โดยที่ '' เป็นชื่อของไฟล์ ARM ELF ที่คุณมีในการ์ด SD ระบบปฏิบัติการควรเปิดโปรแกรมและเริ่มดำเนินการ
ระบบปฏิบัติการรองรับการโทรระบบเดียว: OS_DISPLAYMESSAGE การโทรช่วยให้คุณพิมพ์สตริงไปยัง LCD ST7735 ที่แนบมากับบอร์ด ใช้เวลาใน 4 พารามิเตอร์เพื่อระบุตำแหน่งบนหน้าจอที่คุณต้องการให้บอร์ดแสดงข้อความ สามารถเพิ่มการโทรเพิ่มเติมได้อย่างง่ายดายโดยการแก้ไขอาร์เรย์ const elfsymbol_t แบบคงที่ [] ที่พบภายใต้ os_critical/os.c และเพิ่มตัวชี้ลงในฟังก์ชั่นใหม่ของคุณ
ฉันกำลังคิดที่จะเพิ่มการโทรระบบเพิ่มเติมไปยังพื้นที่นี้เพื่อให้สามารถเข้าถึงทรัพยากร TM4C SOC ได้ง่ายขึ้น (แทนที่จะเป็นเพียงทรัพยากรภายนอก) tbd.
ระบบปฏิบัติการนอกกรอบอาศัยฮาร์ดแวร์ภายนอกสามชิ้นเพื่อใช้งานได้ตามปกติ: ชิปภายนอกเพื่อเชื่อมต่อไดรเวอร์อนุกรมด้วยและออกคำสั่ง (เช่นคอมพิวเตอร์ส่วนบุคคล), LCD และเครื่องอ่านการ์ด SD LCD ใช้เป็นแหล่งเอาต์พุต (พร้อมกับพอร์ตอนุกรม) และเครื่องอ่านการ์ด SD ถูกใช้โดยระบบไฟล์และตัวโหลดกระบวนการเพื่อโหลดและดำเนินการกระบวนการภายนอก สำหรับรายการคำสั่งเชื่อมต่ออนุกรมโปรดดูด้านล่าง ฉันใช้ ST7735 เป็นการส่วนตัวเนื่องจากอนุญาตให้ใช้การเชื่อมต่อ LCD และ SD ที่เข้ากันได้กับ SSI; แผนผังสำหรับที่รวมอยู่ด้านล่างเช่นกัน
ระบบปฏิบัติการนี้ออกแบบมาสำหรับการเปลี่ยนแปลงของชิปแขน TM4C123 อย่างไรก็ตามเลเยอร์ที่เป็นนามธรรมฮาร์ดแวร์ส่วนใหญ่จะถูกเก็บไว้ภายใต้ os_critical/hardwaremanager โมดูลนี้สามารถเปลี่ยนได้ง่ายมากสำหรับไดรเวอร์ที่รองรับในอุปกรณ์อื่น ๆ ระบบปฏิบัติการใช้เครื่องมือฮาร์ดแวร์ต่อไปนี้สำหรับการทำงานหลัก:
uart:
PLL:
GPIO:
SSI:
รหัสถูกออกแบบมาเพื่อใช้กับ Studio Code Texas Instruments Code Studio เพียงแค่โคลนที่เก็บและนำเข้าโครงการไปยังพื้นที่ทำงานของ CCS ของคุณ โครงการควรสร้างค้างคาวโดยไม่จำเป็นต้องทำงานเพิ่มเติม
ระบบปฏิบัติการนี้จะแฟลชนอกกรอบลงบน Ti TM4C123 Launchpad
ระบบปฏิบัติการใช้ LCD ST7735 ภายนอกสำหรับสองสิ่ง: เป็น LCD และเป็นเครื่องอ่านการ์ด SD ภายนอกสำหรับระบบไฟล์ ระบบปฏิบัติการของฉันยังใช้เพื่อวัตถุประสงค์อื่น ๆ เช่นการเชื่อมต่อกับเซ็นเซอร์ - โปรดละเว้นการเชื่อมต่อที่ไม่เกี่ยวข้องใด ๆ ในภาพที่สอง สิ่งสำคัญคือการเชื่อมต่อ ST7735
นี่คือแผนผังสำหรับวิธีการเชื่อมต่อสิ่งนี้กับ Launchpad ของคุณ: 

การเชื่อมต่อหลักระหว่างระบบปฏิบัติการ (การทำงานบนบอร์ด) ทำได้ผ่านพอร์ต UART แบบอนุกรมออนบอร์ด คุณสามารถใช้โปรแกรมเทอร์มินัลใด ๆ บนคอมพิวเตอร์ของคุณ-เช่น CoolEdge บน Mac หรือ Putty บน Windows-เพื่อส่งคำสั่งเหล่านี้ไปยัง OS Interpreter เมื่อ Boot-Up เสร็จสมบูรณ์
ระบบปฏิบัติการรองรับคำสั่งต่อไปนี้ตามที่เห็นใน shell/shell.c:
char* commandFormat[] =
{
"help",
"runproc <processname>"
}
เปล่ามาก แต่ความคิดที่นี่คือการเพิ่มคำสั่งและอินเทอร์เฟซของคุณเองกับระบบปฏิบัติการที่เหลือ โดยทั่วไปแล้ว Help จะพิมพ์รายการเดียวกันนี้ในขณะที่ RunProc โหลดกระบวนการภายนอก (เก็บไว้ในการ์ด SD ที่แทรกลงในกระดานฝ่าวงล้อม ST7735) และเริ่มดำเนินการโปรแกรมนั้น ในระหว่างที่ไม่ได้ใช้งานมีเพียงล่ามเท่านั้น