Co to jest programowanie systemu wbudowanego i jego języki

Wypróbuj Nasz Instrument Do Eliminowania Problemów





System to układ wielu jednostek, zmontowanych razem, aby działały zgodnie z podanymi instrukcjami. System wbudowany to połączenie sprzętu i oprogramowania, które wykonuje określone zadanie w określonym czasie (co oznacza, że ​​powinien wykonywać tylko jedno określone zadanie, takie jak pralka). Główną zaletą korzystania z systemu wbudowanego w aplikacji jest to, że może on zminimalizować rozmiar i koszt, a także poprawia niezawodność i wydajność zadania. W tym artykule omówiono języki oprogramowania wbudowanego i system wbudowany programowanie i ich funkcje.

Składniki systemów wbudowanych

Poniżej przedstawiono składniki systemów wbudowanych




  • Wbudowany sprzęt: Mikrokontroler jest sercem systemu wbudowanego, w którym wiele urządzeń peryferyjnych jest połączonych z wbudowanym sprzętem w celu komunikacji.
  • Wbudowane RTO: Wbudowany system operacyjny czasu rzeczywistego służy do wykonywania wszystkich złożonych operacji (ar.
  • Sterowniki urządzeń: Działa jako pomost między systemami operacyjnymi i urządzeniami peryferyjnymi.
  • Stosy komunikacyjne: Służy do komunikacji z urządzeniami zewnętrznymi.
  • Aplikacje wbudowane: Wykonuje predefiniowaną funkcję wbudowanego urządzenia.
Wbudowane komponenty systemu

Wbudowane komponenty systemu

Wbudowane oprogramowanie

Oprogramowanie wbudowane lub programowanie systemu wbudowanego to oprogramowanie komputerowe, które służy do sterowania urządzeniami za pomocą zestawu instrukcji. Jest również nazywany jako oprogramowanie, różne urządzenia o różnych funkcjonalnościach można programować za pomocą oprogramowania wbudowanego, zachowując ograniczenia projektowe (takie jak ograniczenia czasu reakcji, ścisłe terminy i przetwarzane dane) oraz przechowując ostateczne dane w pamięć (Ram / Rom).



Oprogramowanie jest kontrolowane lub inicjowane przez interfejs maszyny. Wbudowane oprogramowanie jest wbudowane we wszystkie urządzenia elektroniczne, takie jak samochody, telefony, roboty, systemy ochrony itp., który jest prosty do uruchomienia na 8-bitowym mikrokontroler używając pamięci do kilku KB. Pomaga w przetwarzaniu złożonych operacji i określa dokładną strukturę obliczeniową.

Języki programowania systemów wbudowanych

Oprogramowanie wbudowane wykorzystuje system operacyjny, który jest systemem operacyjnym czasu rzeczywistego, który wykonuje jednocześnie wiele zadań. Programy osadzone są programowane przy użyciu programu C / C ++ , Phyton i Java Scripts i są przetwarzane w systemach operacyjnych, takich jak System operacyjny Linux , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE itp. Wybór języka programowania odgrywa kluczową rolę w tworzeniu oprogramowania wbudowanego, które opiera się na pewnych czynnikach przedstawionych poniżej,

  • Rozmiar : Ilość pamięci wymagana przez program odgrywa ważną rolę, ponieważ wbudowane procesory (mikrokontrolery) mają określoną ilość pamięci ROM (pamięć tylko do odczytu) w zależności od zastosowania.
  • Prędkość : Szybkość wykonywania programu musi być duża
  • Ruchliwość: Za pomocą jednego programu można skompilować różne procesory.
  • Wdrożenie jest trudne
  • Konserwacja jest trudna.

Programowanie systemu wbudowanego w języku asemblera

Programowanie systemu wbudowanego w język programowania (wejście) i konwertowanie do język na poziomie maszyny (wyjście) użycie asemblera można wyjaśnić na poniższym przykładzie, w którym dodajemy dwie liczby za pomocą dwóch rejestrów rozdzielnych i przechowujemy wynik w rejestrze wyjściowym.


Wejście

TUTAJ: MOV R0, # 01H

MOV nr 1, nr 02H

MOV A, R0

DODAJ A, R1

MOV P0, A.

SIMP TUTAJ

Wynik

Adres operand. Kodu

0000 78 01
0002 79 02
0004 E8 -
0005 29 -
0006 F5 80
0008 80 00

Kod asemblerowy służy do tworzenia wydajnego kodu pod względem rozmiaru i szybkości. Tworzenie większego kodu w języku asemblera staje się trudne, co może prowadzić do wyższych kosztów tworzenia oprogramowania i braku przenośności kodu. Dlatego aby przezwyciężyć tę wadę, używamy języka wysokiego poziomu, takiego jak wbudowany C .

Informacje o C, C ++, Javie i Embedded C

Programowanie C.

Język C to język zorientowany strukturalnie, opracowany przez Dennisa Ritchiego. Zapewnia mniejszy dostęp do pamięci przy użyciu prostego kompilatora i wydajnie dostarcza dane zgodnie z instrukcjami maszyny. Mają zastosowanie w szerokim zakresie, od systemów wbudowanych po superkomputery.

Osadzony C

Embedded C to rozszerzenie języka C, które służy do tworzenia systemów wbudowanych. Składnia jest podobna do języka C (jak funkcja główna, deklaracja funkcji, deklaracja typów danych, pętle itp.). Główną różnicą między wbudowanym językiem C a standardowym językiem C jest adresowanie wejścia-wyjścia sprzętu, operacje na punktach stałych i przetwarzanie przestrzeni adresowych.

Zastosowanie C w systemie wbudowanym ze względu na następujące zalety

  • Jest mały i łatwy do nauczenia się, zrozumienia i debugowania programu.
  • Wszystkie kompilatory C są kompatybilne ze wszystkimi urządzeniami wbudowanymi
  • Jest niezależny od procesora (to znaczy nie jest specyficzny dla konkretnego mikroprocesora lub mikrokontrolera).
  • Język C wykorzystuje połączenie języka asemblera i funkcji języka wysokiego poziomu
  • Jest dość wydajny, bardziej niezawodny, bardziej elastyczny, bardziej przenośny między różnymi platformami.
  • Programy opracowane w C są łatwiejsze do zrozumienia, debugowania i utrzymania.

Porównanie z innym językiem C wysokiego poziomu oferuje większą elastyczność, ponieważ jest stosunkowo małym językiem zorientowanym na strukturę i obsługuje bitowe wartości niskiego poziomu manipulacje danymi .

C ++

Język zorientowany obiektowo, taki jak C ++, nie jest opcjonalny przy opracowywaniu wydajnego programu w środowiskach badawczych, takich jak urządzenia wbudowane. Funkcje wirtualne i obsługa wyjątków w C ++ to niektóre specyficzne funkcje, które nie są wydajne pod względem miejsca i szybkości systemu.

JAWA

System wbudowany można zaprogramować w języku JAVA, korzystając z maszyny wirtualnej JAVA (JVM), która ma dostęp do wielu zasobów. Znajduje zastosowanie głównie w zaawansowanych aplikacjach (takich jak telefony komórkowe) i oferuje przenośność między systemami w celu przetwarzania aplikacji. Nie jest preferowane w przypadku mniejszych urządzeń wbudowanych.

Architektura i przykład wbudowanego programowania w języku C.

Architekturę programowania Embedded C można zrozumieć na przykładzie użycia Mikrokontrolery 8051 , gdzie jego funkcją jest mruganie żarówką LED podłączoną do PORTU1 kontrolera a używanym kompilatorem jest Keil C. Compiler. Poniżej znajduje się kod dla DOPROWADZIŁO migać.

Dyrektywa #include // preprocesora
Void delay (int) // deklaracja funkcji opóźnienia
Void main (void) // Główna funkcja
{
P1 = 0x00 // port1 jest wyłączony, więc dioda LED jest wyłączona i zapisana w reg51.h
while (1) // pętla nieskończoności
{
P1 = OxFF //// port1 jest włączony, więc dioda LED świeci
delay (1000) // przypisanie opóźnienia
P1 = 0X00 // port1 wyłączony
opóźnienie (1000)
}
}
Void delay (int d) // przypisanie funkcji opóźnienia
{
unsigned int i = 0 // zmienne przypisane lokalnie
dla (d> 0 d-)
{
dla (i = 250 i> 0i–)
dla (i = 248 i> 0i–)
}
}

Zalety

Poniżej przedstawiono zalety oprogramowania wbudowanego

  • Ładowanie danych jest szybsze
  • Koszt jest niski
  • Zużywa mniej zasobów.

Niedogodności

Poniżej przedstawiono wady oprogramowania wbudowanego

  • Aktualizacja jest złożona
  • Za każdym razem konieczne jest resetowanie, jeśli wystąpią jakiekolwiek problemy
  • Skalowalność dla małych wartości jest trudna.

Aplikacje

Poniżej przedstawiono aplikacje oprogramowania wbudowanego

  • Bankowość
  • Samochody
  • Urządzenia domowe
  • Samochód
  • Pociski itp.

FAQ's

1). Co to jest oprogramowanie wbudowane?

Oprogramowanie wbudowane lub programowanie systemu wbudowanego to oprogramowanie komputerowe, które służy do sterowania urządzeniami za pomocą instrukcji.

2). Jakie programy są używane w oprogramowaniu systemu wbudowanego?

Wbudowane programy systemowe są programowane w językach C lub C ++, Phyton i Java Scripts.

3). Jaka jest różnica między systemami wbudowanymi a zwykłym systemem?

System wbudowany to połączenie sprzętu i oprogramowania, które zostało zaprojektowane w określonym celu. Procesy są przetwarzane sekwencyjnie. Podczas gdy zwykły procesor jest systemem operacyjnym czasu rzeczywistego RTO, jest wymagany tam, gdzie istnieje potrzeba wykonywania równoległego.

4). Jakie są różne typy systemów wbudowanych?

Systemy wbudowane są podzielone na dwie kategorie

  • W oparciu o wymagania dotyczące wydajności i funkcjonalności są one dalej klasyfikowane jako działające w czasie rzeczywistym, autonomiczne, sieciowe, mobilne.
  • Na podstawie wydajności mikrokontrolera są one dalej klasyfikowane jako skala małej, średniej i zaawansowanej

5). Główne zastosowania systemów wbudowanych

Główne zastosowania systemu wbudowanego to

  • Pralka
  • Aparaty cyfrowe
  • Odtwarzacz muzyczny itp.

System wbudowany to połączenie sprzętu i oprogramowania. Gdzie oprogramowanie wbudowane są programowane w językach C lub C ++, Phyton i Java Scripts. Działają w systemie Linux, micro C / OS, QNX itp. Język C stanowi podstawowy język do pisania kodów oprogramowania wbudowanego. Jest to zatem przegląd oprogramowania wbudowanego i jego architektury wyjaśniona za pomocą programu.