Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Podobne dokumenty
Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Podstawy programowania

Opis efektów kształcenia dla modułu zajęć

Wykład 4. Środowisko programistyczne

Programowanie w C. dr inż. Stanisław Wszelak

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Tworzenie oprogramowania

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

2. Architektura mikrokontrolerów PIC16F8x... 13

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

METODY I NARZĘDZIA PROJEKTOWANIA APLIKACJI DLA MIKROKONTROLERÓW JEDNOUKŁADOWYCH

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

AsLinkEx instrukcja obsługi

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

MIKROKONTROLERY I MIKROPROCESORY

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Technologie informacyjne - wykład 12 -

Szkolenia specjalistyczne

Laboratorium Mikroinformatyki. Emulatory Sprzętowe

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie w języku C++ Grażyna Koba

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Narzędzia programowe

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Podział algorytmów ze względu na obszar zastosowań. algorytmy numeryczne (matematyczne) wykonują obliczenia arytmetyczne, algorytmy przeszukujące

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Systemy czasu rzeczywistego wstęp

Wstęp Architektura... 13

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

Technika mikroprocesorowa

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

Podstawy programowania wykład

Programowanie niskopoziomowe

1.Wstęp. 2.Generowanie systemu w EDK

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

Instytut Technik Innowacyjnych

Programowanie mikrokontrolerów AVR

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PROGRAMOWALNE STEROWNIKI LOGICZNE

Szybkie prototypowanie w projektowaniu mechatronicznym

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Co to jest system wbudowany?

Wstęp do Informatyki. Klasyfikacja oprogramowania

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

PRZEWODNIK PO PRZEDMIOCIE

Wykład Mikroprocesory i kontrolery

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

Zaawansowane programowanie w języku C++

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Historia modeli programowania

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Programowanie obiektowe zastosowanie języka Java SE

PRZEWODNIK PO PRZEDMIOCIE

kodowanienaekranie.pl

Algorytm. a programowanie -

JAVA?? to proste!! Autor: wojtekb111111

Język programowania PASCAL

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Programowanie niskopoziomowe

TECHNIKA MIKROPROCESOROWA II

Król Łukasz Nr albumu:

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Java jako język programowania

Java Podstawy. Michał Bereta

2.2 Opis części programowej

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Opracował: Jan Front

Transkrypt:

Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1

Znaczenie problematyki programowania mikrokontrolerów W ostatnich latach punkt ciężkości w zakresie techniki mikrokontrolerów przesunął się z zagadnień sprzętowych na sprawy programowania. Wprowadzenie mikrokontrolerów 32-bitowych i związany z tym skokowy wzrost oferowanej mocy obliczeniowej oraz dostępnej wielkości pamięci otworzył nowe możliwości w zakresie tworzenia oprogramowania. Tworzenie złożonych programów dla mikrokontrolerów 32-bitowych poprzez zastosowanie stylu i narzędzi programowania używanych dla mikrokontrolerów 8-bitowych, tj. pisanie całego programu przez pojedynczego lub niewielu programistów oraz stosowanie języka asemblera okazało się niemożliwe do zastosowania. Naturalną możliwością było zatem sięgnięcie do metod i narzędzi programowania opracowanych już wcześniej dla systemów obliczeniowych bazujących na mikroprocesorach 32-bitowych, głownie dla komputerów osobistych. Takimi metodami i narzędziami programowymi były systemy operacyjne umożliwiające jednoczesną pracę wielu programistów oraz stosowanie języków programowania wyższego poziomu (głównie języka C). Bezpośrednie zastosowanie tych narzędzi programowych dla programowania mikrokontrolerów nie jest jednak możliwe. Systemy operacyjne stosowane w systemach obliczeniowych nie gwarantują rozpoczęcia wykonywania określonego zadania programowego w narzuconym, nieprzekraczalnym czasie. Stosowanie niektórych języków programowania wyższego poziomu np. języka C++ z punku widzenia programisty jest wprawdzie bardzo wygodne, ale generowany w taki sposób kod programu jest bardzo duży. 2

Cechy programowania mikrokontrolerów Tworzenie oprogramowania dla systemów mikroprocesorowych bazujących na mikrokontrolerach i ukierunkowanych na zadania pomiarowo-sterujące oraz komunikacyjne różni się znacznie od tworzenia oprogramowania dla systemów obliczeniowych. Ten typ tworzenia oprogramowania określa się w literaturze mianem programowania zagnieżdżonego (embedded programming). Główne cechy programów zagnieżdżonych to: program jednoznacznie ustala funkcję systemu mikroprocesorowego, tzn. użytkownik ma możliwość zmiany funkcji systemu zazwyczaj tylko w niewielkim zakresie przewidzianym przez program użytkowy. Ta właśnie cecha określana jest jako zagnieżdżenie programu. działanie programu musi spełniać określone wymagania czasowe dotyczące nie przekraczania maksymalnego czasu reakcji na określone zdarzenia zewnętrzne oraz realizacji określonych zadań programowych w nieprzekraczalnym czasie. Ta cecha określana jest jako praca programu w czasie rzeczywistym. są to programy operujące na specyficznych zasobach sprzętowych wynikających z ukierunkowania jego budowy sprzętowej systemu mikroprocesorowego na konkretne zadanie 3

Cykl tworzenia oprogramowania dla mikrokontrolerów Cykl tworzenia oprogramowania dla mikrokontrolerów jest zbliżony do cyklu tworzenia oprogramowania dla komputerów osobistych. Cykl ten obejmuje trzy fazy: napisanie kodu źródłowego programu przetłumaczenie kodu źródłowego na kod maszynowy uruchomienie programu w systemie docelowym Cykl tworzenia oprogramowania dla mikrokontrolerów różni się jednak od cyklu programowania komputerów osobistych w następującym punkcie: w komputerach osobistych wszystkie fazy cyklu rozwoju oprogramowania wykonywane są w jednym systemie. Komputer osobistym jest jednocześnie narzędziem, przy pomocy którego następuje stworzenie oprogramowania jak i systemem, który wykonuje ten program w przypadku mikrokontrolerów faza pierwsza i druga wykonywana jest najczęściej przy zastosowaniu standardowego komputera osobistego. Komputer osobisty w tej funkcji określany jest jako system rozwojowy (development system). Faza trzecia realizowana jest na rzeczywistym systemie mikroprocesorowym zawierającym mikrokontroler. System ten określany jest jako system docelowy (target system) 4

Programy narzędziowe dla mikrokontrolerów Tworzenie oprogramowania mikrokontrolerów wymaga od programisty dysponowania odpowiednimi programami. Są to tzw. programy narzędziowe (software tools). Dla podkreślenia rozdzielenia systemów na których następuje rozwój oprogramowania z systemami na których następuje wykonanie programu do nazw programów narzędziowych dodaje się często przedrostek skrośny (np. cross compiler). Tabela pokazuje cykl tworzenia oprogramowania dla mikrokontrolerów oraz wskazuje, jakie programy narzędziowe potrzebne są na poszczególnych etapach. Etap Czynności wykonywane w ramach etapu Stosowane programy narzędziowe Format kodu wyjściowego etapu Napisanie kodu źródłowego programu Podział programu na poszczególne modułu i napisanie kodu źródłowego poszczególnych modułów w języku asemblera lub wyższego poziomu Edytor tekstowy Kod ASCII Przetłumaczenie kodu źródłowego na kod maszynowy Przetłumaczenie kodów źródłowych poszczególnych modułów Łączenie kodów poszczególnych modułów w kod programu Asembler i kompilator skrośny Linker Kod wynikowy relokowalny Kod wynikowy absolutny Uruchomienie programu w systemie docelowym Przeniesienie kodu programu do pamięci systemu docelowego Kontrola poprawności działania programu i korekcja ewentualnych błędów Programator pamięci Specjalistyczny sprzęt i oprogramowanie Kod maszynowy -------------------- 5

Środowiska programowych dla mikrokontrolerów Programy narzędziowe służące do tworzenia oprogramowania mikrokontrolerów łączone są w jeden pakiet programów. Takie rozwiązanie było stosowane już wcześniej dla programowania komputerów osobistych. Idea takiego pakietu polega na umożliwieniu realizacji wszystkich etapów cyklu rozwoju oprogramowania dla mikrokontrolerów w ramach jednego programu. Podobnie jak dla komputerów osobistych środowisko takie określane jest skrótem IDE (Integrated Development Enviroment). Dla podkreślenia ukierunkowania takiego środowiska na programowanie mikrokontrolerów czasami określane jest ona także jako EDE (Embedded Development Enviroment). Różnice pomiędzy IDE dla komputerów osobistych a dla mikrokontrolerów nie są duże. Sprowadzają się one do integracji w IDE dla mikrokontrolerów specyficznych narzędzi do uruchamiania programów, np. symulatorów programowych mikrokontrolerów. Nazwa środowiska System operacyjny środowiska Programowane mikrokontrolery Producent uvision Windows XP 8051 Keil Software EDE Windows XP 80C166 Tasking Tornado Windows XP, Unix MPC860 Wind River Systems 6