Pomyślmy o procesorze w Twoim komputerze stacjonarnym. Wszystko, co robi, to uruchamianie instrukcji maszynowych i samo w sobie nie zajmuje się tak naprawdę „systemami operacyjnymi” lub „programami”.
Po włączeniu komputera procesor wskazuje pierwszą instrukcję i zaczyna się ona wykonywać.
Na Twoim pulpicie rozpocznie wykonywanie „systemu operacyjnego”. Ale nie ma powodu, aby procesor nie wykonywał żadnego wybranego zestawu instrukcji. (Może to nie być zbyt przydatne, ponieważ nadal chciałbyś wyświetlać wyniki na ekranie, a ta funkcja znajduje się w systemie operacyjnym). W tym samym czasie, jeśli instrukcje maszyny zawierały odpowiednie opkody, tak aby procesor wyświetlał poprawna sekwencja sygnałów do namalowania obrazu na monitorze, tym lepiej. Nie jest potrzebny system operacyjny.
Komputery stacjonarne robią tak wiele rzeczy , że generalnie wymagamy abstrakcji systemu operacyjnego. Ale w istocie wszystko, co robi procesor, to wykonywanie instrukcji.
To samo dotyczy procesora w maszynach koksowniczych i ekspresach do kawy. Wszystko, co robi, to wykonywanie instrukcji.
Cóż, pisanie instrukcji maszynowych krok po kroku jest żmudne. Tak więc, podobnie jak w przypadku komputerów stacjonarnych, zazwyczaj piszemy kod w języku C, który jest następnie kompilowany do kodu maszynowego. Ten kod maszynowy jest ładowany do wbudowanego procesora i działa.
Systemy wbudowane robią tak mało , że nie potrzebują pełnych systemów operacyjnych. Mikrokontroler może mieć 8 lub 16 pinów w chipie - w porównaniu z wynikami pinów w zwykłym gnieździe procesora.
Tak więc przepływ pracy polega na napisaniu kodu (powiedzmy w C), skompilowaniu go na komputerze stacjonarnym. Ten kompilator generuje kod maszynowy dla wbudowanego chipa. Następnie ten kod jest ładowany do mikroprocesora (i potrzebujesz do tego specjalnego sprzętu). Następnie włączasz chip i zaczyna on wykonywać instrukcje. Prosty!