Mari kita pikirkan tentang prosesor di desktop Anda. Yang dilakukannya hanyalah menjalankan instruksi mesin, dan dengan sendirinya, tidak benar-benar peduli tentang "sistem operasi" atau "program".
Anda menyalakan komputer Anda, prosesor menunjuk ke instruksi pertama, dan itu mulai dijalankan.
Di desktop Anda, ia mulai menjalankan "sistem operasi". Tetapi tidak ada alasan bahwa Anda tidak dapat membuat prosesor menjalankan set instruksi yang Anda pilih. (Ini mungkin tidak terlalu berguna, karena Anda masih ingin menampilkan hasil ke layar, dan fungsi itu berada di OS.) Pada saat yang sama, jika instruksi mesin Anda terdiri dari opcode yang tepat sehingga prosesor akan menampilkan urutan sinyal yang benar untuk melukis gambar di monitor, semakin baik. Tidak diperlukan OS.
Desktop melakukan begitu banyak hal yang biasanya membutuhkan abstraksi dari OS. Tetapi pada intinya, semua prosesor lakukan adalah menjalankan instruksi.
Sama untuk prosesor di mesin Coke dan mesin Kopi. Yang dilakukannya hanyalah menjalankan instruksi.
Nah, menulis instruksi mesin sedikit demi sedikit itu membosankan. Jadi, seperti halnya dengan desktop, kami biasanya menulis kode dalam C, yang kemudian dikompilasi ke dalam kode mesin. Kode mesin itu dimuat ke prosesor tertanam dan itu berjalan.
Sistem tertanam hanya melakukan sedikit hal sehingga tidak perlu OS penuh. Sebuah mikrokontroler mungkin memiliki 8 atau 16 pin pada chip - dibandingkan dengan skor pin pada soket CPU biasa Anda.
Jadi alur kerjanya adalah menulis beberapa kode (misalnya, dalam C), kompilasi pada mesin desktop Anda. Kompiler itu menghasilkan kode mesin untuk chip yang tertanam. Kemudian kode itu dimuat ke mikroprosesor (dan Anda memerlukan perangkat keras khusus untuk melakukan ini.) Kemudian Anda menyalakan chip dan mulai menjalankan instruksi. Sederhana!