Jak rozpocząć pracę z mikrokontrolerami?



Podobne dokumenty
Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Programowanie mikrokontrolerów AVR

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tworzenie oprogramowania

Programator AVR USBasp

Rozdział 1. Informacje ogólne

Projektowanie z użyciem procesora programowego Nios II

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

Pobieranie edytora CodeLite

Programowanie niskopoziomowe

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Programator procesorów rodziny AVR AVR-T910

Galileo v10 pierwszy program

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

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

Konfiguracja pakietu CrossStudio for MSP

Informatyka I : Tworzenie projektu

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Załącznik 1 instrukcje instalacji

Instytut Teleinformatyki

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

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Płyta ewaluacyjna z mikrokontrolerem Atmega32. Autor Dariusz Wika

Programowanie proceduralne w języku C++ Podstawy

Programowanie procesora Microblaze w środowisku SDK

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Załącznik 1 instrukcje instalacji

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

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Programowanie Systemów Czasu Rzeczywistego

WPROWADZENIE DO JĘZYKA JAVA

Konfiguracja systemu operacyjnego Windows XP Professional SP2 dla poprawnej współpracy z oprogramowaniem Wonderware

WPROWADZENIE DO INFORMATYKI

Kalipso wywiady środowiskowe

WinAVR, Eclipse, AVR8 Burn-O-Mat niezb dne narz dzia programistyczne dla mikrokontolerów z rodziny AVR.

Instalacja środowiska Eclipse

Instrukcja instalacji programu serwisowego NTSN krok po kroku

Programowanie w Javie

Unreal Engine 4 - Samsung Gear VR

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

AsLinkEx instrukcja obsługi

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 wersja startowa dla słuchaczy studiów niestacjonarnych.

Instrukcja do laboratorium Akademii ETI *

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Instrukcja instalacji

Programator STK500v2 USB

Bezpieczeństwo informacji oparte o kryptografię kwantową

Instrukcja programowania płytek edycji 2014

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie

VisualDSP++ Pierwsze kroki

Aktualizacja środowiska JAVA a SAS

Laboratorium Procesorów Sygnałowych

DEMERO Automation Systems

Instrukcja Programator/Debugger Jtag Telwis

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

Tomasz Greszata - Koszalin

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

High Speed USB 2.0 Development Board

Instalacja i konfiguracja serwera IIS z FTP

Instrukcja instalacji systemu

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

INSTRUKCJA OBSŁUGI.

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Wprowadzenie do narzędzia MAVEN

INFORMATOR TECHNICZNY WONDERWARE

Programowanie wielowarstwowe i komponentowe

NARZĘDZIE KONFIGURACYJNE VNX SETUP TOOL MODUŁÓW RODZINY VNX ADVANCED

Instrukcja obsługi programatora AVR Prog USB v2

FAQ: /PL Data: 16/11/2007 Programowanie przez Internet: Konfiguracja modułów SCALANCE S 612 V2 do komunikacji z komputerem przez VPN

DLA DREAMBOX & FLASHWIZARD

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Instrukcja obsługi programatora AVR Prog USB v2

Instalacja TeXStudio. krok po kroku. Autor: Łukasz Gabrysiak

FAQ: /PL Data: 19/11/2007 Programowanie przez Internet: Przekierowanie portu na SCALANCE S 612 w celu umo

Instalacja programu na systemie vista/win7/win8/win10. Instrukcja dotyczy instalacji wszystkich programów ( na przykładzie Helios ).

Instrukcja obsługi programatora AVR Prog USB v2

Mikrokontrolery AVR Wprowadzenie

Transkrypt:

Jak rozpocząć pracę z mikrokontrolerami? Dominik Nowak, Kraków 7.12.2011

Plan prezentacji 1. Przygotowanie narzędzi i środowiska programistycznego 2. Pierwszy projekt (cross target łatwiejszy w zarządzaniu) 3. Drugi projekt (makefile) 4. Dobre nawyki w czasie pisania kodu 5. Podsumowanie

1. Przygotowanie narzędzi i środowiska programistycznego a) Ściągnąć i zainstalować WinAVR: http://sourceforge.net/projects/winavr/files/winavr/20100110/winavr-20100110-install.exe/download WinAVR: Pakiet narzędzi do pisania oprogramowania na mikrokontrolery AVR Zawiera kompilator C oraz C++ Zawiera biblioteki

1. Przygotowanie narzędzi i środowiska programistycznego b) Ściągnąć oraz zaistalować JRE (Java Runtime Environment) lub JDK (Java Development Kit) ze strony: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u1-download-513651.html

1. Przygotowanie narzędzi i środowiska programistycznego c) Ściągnij Eclipse IDE for C/C++ Developers, wersja co najmniej 3.3: http://www.eclipse.org/downloads/ Eclipse IDE: Jedno z najpopularniejszych środowisk programistycznych

1. Przygotowanie narzędzi i środowiska programistycznego d) Ściągnij Eclipse AVR plugin: Uruchom Eclipse Help/instal New Software Add... Name: AVR Eclipse Plugin Location: http://avr-eclipse.sourceforge.net/wiki/index.php/plugin_download Instalujemy...

1. Przygotowanie narzędzi i środowiska programistycznego Wybieramy programator, np.: USBASP Strona projektu (sterowniki!!!): http://www.fischl.de/usbasp/ Najtańsze z USB: 25zł

2. Pierwszy projekt Schemat układu:

2. Pierwszy projekt Wybieramy: New/C poject AVR Cross Target Application oraz AVR-GCC Tolchain Tworzymy nowy plik źródłowy main.c

2. Pierwszy projekt Włączamy generację pliku.hex Nazwa_projektu Properties C/C++ Build Settings Tool Settings i zaznaczamy opcję Generate HEX file for Flash memory

2. Pierwszy projekt Teraz należy wyklikać ustawienia dla programatora: Properties AVR AVR Dude Programmer New Wypełniamy jak obok OK Wybieramy stworzoną konfigurację i OK

2. Pierwszy projekt Programujemy...

2. Pierwszy projekt Ustawiamy Fuse bity Properties AVR AVR Dude Fuses direct hex values start editor

2. Pierwszy projekt Niektóre mikrokontrolery Atmega mają interfejs JTAG oraz fuse bit: OCDEN (On Chip Debug Enable), który po ustawieniu umożliwia debugowanie z okna Eclipse (Debug perspective). Można stawiać wówczas w kodzie breakpoint'y i podglądać zmienne. Debugowanie takie jest możliwe jedynie po interfejsie JTAG!

2. Pierwszy projekt W celu przyśpieszenia uruchamiania projektu warto stworzyć bibliotekę do wypisywania na terminal różnych komunikatów, stanów urządzenia i wartości zmiennych. Należy zaopatrzyć się w przejściówkę RS232/USB... Oraz wgrać program terminala, polecane są: Tera Term Bray Terminal

2. Pierwszy projekt Funkcja uruchamiająca port szeregowy (Atmega 88)

2. Pierwszy projekt Funkcja wysyłająca paczkę danych:

2. Pierwszy projekt Funkcja do wysyłania napisów w kodzie ASCII na terminal

3. Drugi projekt - makefile Zakładamy nowy projekt w Eclipse: File/new/C project Wybieramy Makefile project i AVR-GCC Toolchain Wpisujemy nazwę, np.: avr_test Finish

3. Drugi projekt - makefile Do czego służy makefile? Wykorzystywany jest przez narzędzie make. Służy do zarządzania projektem składającym się z wielu plików źródłowych oraz zawiera m.in. instrukcje dla kompilatora i programatora. Obecnie odchodzi się od ręcznego rozwijania plików makefile na rzecz rozwiązania zaprezentowanego w pierwszym projekcie. Projekty z plikami Makefile są jednak nadal przydatne w przypadku uruchamiania np. kodu ściągniętego z sieci.

3. Drugi projekt - makefile Zdobywamy przykładowego makefile'a, którego będziemy edytować: W katalogu w którym zainstalowano WinAVR (domyślne C:\WinAVR-20100110) wchodzimy do folderu sample Przeciągamy plik Makefile z folderu sample do wcześniej założonego projektu W ukazującym się oknie wybieramy opcję Copy files i potwierdzamy przyciskiem OK

3. Drugi projekt - makefile Klikamy prawym przyciskiem myszy na nazwę projektu w lewym pasku: #include <avr/io.h> Wybieramy: new/source File { int main(void) DDRC = 0x3F; Wpisujemy nazwę: PORTC = 0x2A; main.c i wpisujemy to co na rysunku obok while(1){;} return 0; }

3. Drugi projekt - makefile Skąd kompilator wie co to DDRC? Plik (dla atmega8): avr/include/avr/iom8.h #define _SFR_IO8(io_addr) _MMIO_BYTE((io_addr) + SFR_OFFSET) #define _MMIO_BYTE(mem_addr) (*(volatile uint8_t *)(mem_addr)) Czyli DDRC to wskaźnik na rejestr pod adresem 0x14, będący zmienną typu uint8_t

3. Drugi projekt - makefile Na prawym pasku wybieramy zakładkę Make Target Klikamy na nazwę projektu, wybieramy new i wypełniamy To samo dla clean oraz program

3. Drugi projekt - makefile Próbna kompilacja

3. Drugi projekt - makefile Modyfikacja pliku makefile: MCU = atmega8 F_CPU = 8000000 Powtórne wykonanie make all Podłączamy programator (PORT SPI) Klikamy make program...

3. Drugi projekt - makefile

4. Dobre nawyki w czasie pisania kodu Organizacja plików i modyfikacja pliku Makefile np. dodajemy bibliotekę obsługującą wyświetlacz LCD: Grupujemy pliki spełniające podobne funkcje w folderach Dodanie każdego nowego pliku do projektu wymaga modyfikacji pliku Makefile wg wzoru (dotyczy tylko podejścia z drugiego projektu!):

4. Dobre nawyki w czasie pisania kodu LCD_LIB_PATH =./lcd... SRC = $(TARGET).c SRC += $(addprefix $ (LCD_LIB_PATH)/, lcd_lib.c)... EXTRAINCDIRS = $(LCD_LIB_PATH)

4. Dobre nawyki w czasie pisania kodu Stworzenie pliku zawierającego definicje przyporządkowujące porty i piny do spełnianych przez nie funkcji lepsza przenośność kodu

5. Podsumowanie W prezentacji omówiono następujące zagadnienia: Przygotowanie i instalacja narzędzi Praca w środowisku programistycznym Eclpise Zakładanie i rozwijanie projektów Modyfikacja pliku Makefile Podstawy debugowania Dobre nawyki projektowe

Dziękuję za uwagę! Dominik Nowak, Kraków 7.12.2011