Zagadnienia na koloeium + opracowania

Nasza ocena:

4
Pobrań: 147
Wyświetleń: 560
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Zagadnienia na koloeium + opracowania - strona 1

Fragment notatki:


Poniżej znajduje się lista zagadnień obowiązujących na kolokwium:
01. Co to jest system wbudowany?
System wbudowany (ang. embedded system) - wyspecjalizowany system komputerowy, który staje się integralną częścią obsługiwanego przez niego sprzętu.
02. Wymień komponenty spotykane w systemach wbudowanych.
03. Co decyduje o silnej pozycji języka C w oprogramowaniu dla systemów wbudowanych?
Szybkie pisanie kodu (co ma znacznie przy szybkim wdrażaniu urządzenia na rynek), łatwa przenoszalność kodu (na inne kontrolery podobnych rodzin), czytelność, mały kod wynikowy (oczywiście większy niż asemblera, ale wciąż mały). Jeśli chodzi o mikrokontroler STM32, to jest on zoptymalizowany pod kątem języka C/C++, producent udostępnia darmowe biblioteki w tym języku.
04. Podaj najważniejsze wg Ciebie różnice między oprogramowaniem napisanym w assemblerze i w C
Asembler - trudny w analizie, praktycznie niemożliwe przenoszenie kodu między inne rodziny kontrolerów (inne instrukcje, nazwy rejestrów), najszybszy kod, zużywa najmniej miejsca w pamięci.
C - łatwość analizy, przenoszalność kodu, szybkość pisania programu, dłuższy kod wynikowy, zajmuje więcej miejsca w pamięci
05. Czym jest proces budowania programu napisanego w języku C ?
Jest to proces, w którym z kodu źródłowego powstaje obiekt gotowy do wgrania na mikrokontroler.
06. Wymień kroki budowania programu napisanego w języku C.
07. Do czego służy interfejs JTAG ?
Do wgrywania i debugowania
08. Co trzeba zrobić aby móc skorzystać z funkcji printf w oprogramowaniu na mikrokontroler ?
Trzeba funkcji write wywoływanej przez funkcję printf wskazać gdzie ma wysłać string.
09. Co to jest kod startowy ? Czym się zajmuje ?
Nasz program w C jest obudowany tzw. kodem startowym. Kod ten jest generowany automatycznie albo musimy go sami napisać (w systemach embedded raczej to drugie)
Kod startowy:
-przygotowuje sprzęt do wykonania programu
- inicjalizuje odpowiednie bloki pamięci
- często zawiera tablicę wektorów przerwań
- decyduje co zrobić po powrocie z main()
- jest najczęściej pisany w assemblerze (dla STM32 można go napisać w C)
W STM32 ułatwiono tworzenie kodu startowego w języku C dzięki wprowadzeniu predefiniowanej lokacji w pamięci, gdzie znajduje się początkowa wartość wskaźnika stosu - są to pierwsze 4 bajty
pamięci kodu. Podczas resetu rdzeń automatycznie ładuje zapisany tam adres jako MSP (Main Stack Pointer). Dzięki temu wygenerowany podczas kompilacji języka C kod może od razu korzystać ze stosu (i najczęściej domyślnie korzysta zrzucając tam np. zawartość rejestrów, które są modyfikowane podczas wywołania funkcji).


(…)

…) lub w osobnej sekcji, ale nie są kopiowane do RAM. W niektórych przypadkach łańcuchy tekstowe są domyślnie kopiowane z pamięci kodu do pamięci operacyjnej. Szczególnie jeśli pamięć FLASH jest w osobnej przestrzeni adresowej (np. AVR) a jeżeli chcemy aby tak nie było, musimy to wymusić na linkerze specjalnym atrybutem.
13. Dlaczego stosowanie standardowych funkcji C (np. printf) w oprogramowaniu…

W jaki sposób rozdzielić dostępne zasoby elektronicznego systemu wbudowanego (moc obliczeniową / czas procesora / pamięć) aby optymalnie zrealizować zestaw zadań tak, aby wymagania funkcjonalne, restrykcje czasowe i inne wymagania zostały spełnione? Projektując odpowiednio oprogramowanie.
20. Co to jest wielozadaniowość.
cecha systemu operacyjnego umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu.
21…
… o równym priorytecie przydzielać sprawiedliwie moc obliczeniową
- przerywać zadania zablokowane, izolować zadania
- precyzyjnie kontrolować i monitorować stos
- odciążyć programistę od konieczności sztucznego dzielenia zadań na małe fragmenty
- dostarczać funkcji pozwalających precyzyjnie kontrolować czas wykonywania zadań
- dostarczać metod synchronizacji kilku zadań
- dostarczać metod diagnostycznych…
… typu mainframe system operacyjny ogólnego przeznaczenia kładł nacisk na sprawiedliwy podział zasobów jednostki obliczeniowej pomiędzy użytkowników. Obecnie systemy tego typu mają za zadanie głównie rozdzielenie (ale nadal sprawiedliwe) zasobów pomiędzy kilka uruchomionych jednocześnie aplikacji, zapobiegając „blokowaniu” komputera. Można powiedzieć że jest to rodzaj miękkiego systemu czasu…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz