N108 adalah sistem operasi real-time penuh yang ditulis untuk chip TM4C123, dengan dukungan untuk LCD eksternal. Kernel OS ditulis dari awal. OS bergantung pada perangkat keras eksternal tertentu untuk berfungsi dengan baik, tetapi dapat dengan mudah dimodifikasi untuk menjadi swasembada. Untuk daftar sumber daya perangkat keras eksternal yang diperlukan, silakan lihat di bawah.
OS berinteraksi dengan melalui shell seperti Unix. Shell menggunakan komunikasi serial melalui UART0 papan untuk mengirim perintah yang Anda ketik ke sistem operasi N108. Untuk berinteraksi dengan OS, hubungkan LaunchPad TM4C123 Anda ke komputer Anda melalui USB dan Fire-Up A Serial Interface-seperti Coolterm untuk Mac atau Putty untuk Windows-dan sambungkan ke port serial yang Anda gunakan. Dari sana, Anda harus dapat melihat prompt shell N108. Anda dapat mengeluarkan perintah dari antarmuka ini.
N108 memiliki dukungan pemuatan proses penuh, sehingga Anda dapat secara mandiri menyusun dan meluncurkan program TM4C123 Anda sendiri menggunakan OS ini, tanpa harus mengkompilasi ulang OS bersama dengan program Anda. Untuk menggunakan fitur ini, kompilasi program independen Anda menggunakan Keil Uvision (atau kompiler lengan tertanam lainnya) dan masukkan file ELF ke dalam kartu SD yang diformat FAT32. Hubungkan kartu SD ke TM4C123 Anda, dan jalankan OS. Dari shell OS, ketik 'Launch', di mana '' adalah nama file ARM Elf yang Anda miliki di kartu SD. OS harus meluncurkan program dan mulai mengeksekusi.
OS mendukung satu panggilan sistem: OS_DISplayMessage. Panggilan memungkinkan Anda untuk mencetak string ke LCD ST7735 yang terpasang pada papan. Dibutuhkan dalam 4 parameter untuk menentukan di mana di layar Anda ingin papan menampilkan teks. Lebih banyak panggilan dapat dengan mudah ditambahkan dengan memodifikasi array statis ELFSSYMBOL_T Symboltable [] yang ditemukan di bawah OS_CRITICAL/OS.C, dan menambahkan pointer ke fungsi baru Anda.
Saya sedang berpikir untuk menambahkan lebih banyak panggilan sistem ke area ini untuk memungkinkan akses yang lebih mudah dari sumber daya SOC TM4C (bukan hanya sumber daya eksternal). Tbd.
OS, di luar kotak, bergantung pada tiga potong perangkat keras eksternal untuk berfungsi secara normal: chip eksternal untuk menghubungkan driver serial dengan dan untuk mengeluarkan perintah (seperti komputer pribadi), LCD, dan pembaca kartu SD. LCD digunakan sebagai sumber output (bersama dengan port serial), dan pembaca kartu SD digunakan oleh sistem file dan proses pemuatan untuk memuat dan menjalankan proses eksternal. Untuk daftar perintah antarmuka serial, silakan lihat di bawah ini. Saya secara pribadi menggunakan ST7735 karena memungkinkan untuk interfacing LCD dan SD yang kompatibel dengan SSI; Skema untuk itu termasuk di bawah ini juga.
Sistem operasi ini dirancang untuk variasi chip ARM TM4C123. Namun, sebagian besar lapisan abstraksi perangkat keras disimpan di bawah OS_CRITIS/HARDWARemanager. Modul ini dapat dengan mudah ditukar untuk pengemudi yang didukung pada perangkat lain. Sistem operasi menggunakan alat perangkat keras berikut untuk operasi intinya:
UART:
PLL:
GPIO:
SSI:
Kode ini dirancang untuk digunakan dengan Texas Instruments Code Composer Studio. Cukup klon repositori, dan impor proyek ke ruang kerja CCS Anda. Proyek harus membangun kelelawar, tanpa diperlukan pekerjaan tambahan.
Sistem operasi ini akan mem-flash out-of-the-box ke launchpad TI TI TM4C123.
OS menggunakan LCD ST7735 eksternal untuk dua hal: sebagai LCD dan sebagai pembaca kartu SD eksternal untuk sistem file -nya. OS saya juga digunakan untuk tujuan lain - seperti berinteraksi dengan sensor - jadi tolong abaikan koneksi asing di gambar kedua. Yang penting adalah membuat ST7735 terhubung.
Berikut adalah skema untuk bagaimana menghubungkan ini ke launchpad Anda: 

Antarmuka utama antara OS (berjalan di papan) dilakukan melalui port UART serial on-board. Anda dapat menggunakan program terminal apa pun di komputer Anda-seperti Cooledge di Mac atau Putty di Windows-untuk mengirim perintah ini ke Interpreter OS setelah boot-up selesai.
Di luar kotak, sistem operasi mendukung perintah berikut, seperti yang terlihat di shell/shell.c:
char* commandFormat[] =
{
"help",
"runproc <processname>"
}
Sangat Barebones, tetapi idenya di sini adalah untuk menambahkan perintah dan antarmuka Anda sendiri dengan sisa sistem operasi. Bantuan pada dasarnya mencetak daftar yang sama ini, sementara RUNPROC memuat proses eksternal (disimpan dalam kartu SD yang dimasukkan ke dalam papan breakout ST7735) dan mulai mengeksekusi program itu. Selama idle, hanya penerjemah yang berjalan.