Mikrokontrolery rodziny ST7

Podobne dokumenty
Mikrokontroler ATmega32. Język symboliczny

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Wykład 4. Środowisko programistyczne

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

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

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

AVR Asembler: Podstawy posługiwania się AVR Studio 4.

imei Instytut Metrologii, Elektroniki i Informatyki

ApSIC Xbench: Szybki start wydanie Mariusz Stępień

Informatyka I : Tworzenie projektu

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

Programowanie w języku Python. Grażyna Koba

Galileo v10 pierwszy program

LeftHand Sp. z o. o.

Programowanie Systemów Czasu Rzeczywistego

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

Orientacja pojedynczego zdjęcia

Podstawy Informatyki Języki programowania c.d.

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

Programowanie niskopoziomowe

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Diagnostyka pamięci RAM

Konfiguracja pakietu CrossStudio for MSP

CoDeSys 3 programowanie w języku CFC

Wprowadzenie do środowiska Qt Creator

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

WPROWADZENIE DO INFORMATYKI

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Program Rejestr zużytych materiałów. Instrukcja obsługi

C++ - [1-3] Debugowanie w Qt Creator

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

jest dostępne na różne systemy operacyjne. Niniejsza instrukcja opisuje podstawowe operacje i opcje niezbędne do rozpoczęcia pracy w tym programie.

Instytut Teleinformatyki

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Dokumentacja programu. Zoz. Uzupełnianie kodów terytorialnych w danych osobowych związanych z deklaracjami POZ. Wersja

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

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

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

Zaawansowane aplikacje internetowe - laboratorium

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Zastanawiałeś się może, dlaczego Twój współpracownik,

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Sage Symfonia Start Faktura Instalacja programu

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Instrukcja instalacji BMW INPA do interfejsu BMW USB VIAKEN

Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler

Programowanie w Javie

Defekty Mr Buggy 4. Znane, nieznane i literówki (wybrane)

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja redaktora strony

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Dodawanie operacji dodatkowych w WAPRO Mag.

1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Hermes EFK Dokumentacja użytkownika. v

Pracownia internetowa w szkole ZASTOSOWANIA

Struktura i działanie jednostki centralnej

7 Business Ship Control dla Symfonia Handel

Instrukcja obsługi programu MPJ6

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Edytor tekstu MS Office Word

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

WinUcz procedura uprzedniego wywozu

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

1. Logowanie się do panelu Adminitracyjnego

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Instrukcja obsługi programu PLOMP PLUS FM

Program emulatora GPS pobieramy ze strony z działu Pobieralnia.

7 Business Ship Control dla Systemu Zarządzania Forte

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

Pobieranie edytora CodeLite

Symfonia Faktura. Instalacja programu. Wersja 2013

Zakładka Obmiar jest dostępna dla pozycji kosztorysowej w dolnym panelu. Służy do obliczania ilości robót (patrz też p ).

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Dokumentacja modułu Woocommerce

SYMULATOR PROGRAMOWY MIKROPROCESORA Z80

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

PODRĘCZNIK UŻYTKOWNIKA

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

imei Instytut Metrologii, Elektroniki i Informatyki

MentorGraphics ModelSim

I N S T R U K C J A O B S Ł U G I

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Instrukcja obsługi systemu elektronicznego katalogu przedmiotów (sylabusów)

Podstawy programowania skrót z wykładów:

Sage Symfonia e-deklaracje Instalacja programu

Instalacja SAS 9.3 Foundation i SAS Enterprise Guide

Transkrypt:

Politechnika Wrocławska Jarosław Emilianowicz Wrocław 2011

2 Strona SPIS TREŚCI ASEMBLER... 3 Etykiety, rozkazy i komentarze... 3 Stałe i zmienne... 4 Pierwszy program... 4 Formatka... 5 ST VISUAL DEVELOP... 7 Przestrzeń robocza... 7 Projekt... 8 Kompilacja... 10 Debugowanie... 12 J. Emilianowicz

Strona 3 ASEMBLER Etykiety, rozkazy i komentarze Język mnemoniczny jest łącznikiem pomiędzy maszynami, których język jest wyłącznie numeryczny, a ludźmi, którym wygodniej jest używać znaków i słów. Język mnemoniczny jest łatwo tłumaczony na język maszynowy, bo charakteryzuje go zależność słowo-na-słowo, pomiędzy językiem numerycznym a językiem słownym, mnemonicznym. Język mnemoniczny jest także nazywany asemblerem, a program tłumaczący na język maszynowy Asemblerem. Linia programu źródłowego składa się z czterech elementów: - etykiety, - mnemonika rozkazu lub dyrektywy asemblera oraz linkera - operanda (liczby, rejestru), gdzie liczba operandów zależy od użytego rozkazu - komentarza (zawsze rozpoczynającego się od średnika) dzielenie sub A,#$22 ; dzielenie akumulatora przez wartość $22 Etykiety powinny rozpoczynać się od samego boku dokumentu, natomiast rozkazy wraz z operandami powinny być odsunięte przynajmniej o jedną spację. dzielenie sub A,#$30 ; dzielenie akumulatora przez wartość $30 sub A,#$22 ; dzielenie akumulatora przez wartość $22 Etykiety są symbolicznymi adresami i wskazują miejsca w programie, do którego mogą następować skoki. Oznaczają też wyraźnie wybrany blok rozkazów, przez co zwiększa się czytelność pliku. Muszą zaczynać się od kropki i od lewego marginesu oraz nie mogą zawierać znaków spacji. Lista mnemoników jest definiowana przez producenta mikrokontrolera. Zawiera ona listę kodów specyficznych dla danego modelu mikrokontrolera. Rozkazy są powiązane z funkcją instrukcji. Część z nich jest dokładną nazwą instrukcji, np. ADD (add), część skrótem, jak SUB (substract), a inne akronimen, jak TNZ (Test for Negative or Zero). Liczby mogą być zapisane w jednym z powszechnie stosowanych formatów. Format Intela przewiduje zakończenie liczby literą oznaczającą format zapisu (b, o, d lub h). W przypadku wartości szesnastkowych przed literą należy dołożyć cyfrę 0. Format Motoroli natomiast wymaga poprzedzenie liczby znakiem oznaczającym format zapisu (%, ~ lub $). Wartość dziesiętna pozostaje bez zmian. W środowisku ST Visual Develop domyślnym formatem jest format Motoroli. Zapis Intel Motorola Dwójkowo 01010000b %01010000 Ósemkowo 7o ~7 Dziesiętnie 10 lub 10d 10 Szesnastkowo 0FFh $FF J. Emilianowicz

4 Strona Komentarze są poprzedzone średnikiem i mogą znajdować się w dowolnej kolumnie. Nie są one przetwarzane przez asembler, a pozwalają utrzymać czytelność pliku źródłowego i zrozumiałość, przy próbie jego analizy w przyszłości. Stałe i zmienne Pamięć RAM może być rezerwowana dla zmiennych. Służą do tego instrucje asemblera ds.b (rezerwacja bajtów) oraz ds.w (rezerwacja słów). Pamięć ROM może być rezerwowana dla stałych, używając instrukcji dc.b (lub BYTE) oraz dc.w (WORD). segment ram0.count ds.w 1 segment rom.rate dc.w 9600.tab dc.b $A0,$A1 ; rezerwacja na stronie 0 jednego slowa ; rezerwacja w pamieci ROM stalej (jednego slowa) ; rezerwacja w pamieci ROM stalej (dwoch bajtow) Pierwszy program Wszystkie pliki przetwarzane przez asembler muszą rozpoczynać się instrukcją ST7/, umieszczoną w pierwszej kolumnie pierwszego wiersza, co wskazuje asemblerowi, że asemblujemy plik dla procesorów rodziny ST7, a kończyć instrukcją END. Pominięcie instrukcji END będzie sygnalizowane jako błąd. Dla pewności, że ostatnia instrukcja nie zostanie pominięta podczas asemblacji, należy potwierdzić koniec linii znakiem ENTER by kursor przeszedł do następnej linii. ST7/... END Właściwy program powinien zostać umieszczony we właściwym segmencie ROM, zacząć się od etykiety (np. MAIN) i posiadać rozkaz resetujący wskaźnik stosu RST. Ponadto powinien być zakończony ponownym skokiem na początek programu lub niekończącą się pętlą, by uniemożliwić wykonywanie niechcianego kodu, który może znajdować się w dalszej części pamięci programu.... segment rom main rsp ; reset wskaźnika stosu infinite_loop jp infinite_loop ; niekończąca się pętla J. Emilianowicz

Strona 5... Kompilacja tak opracowanego programu przebiegnie poprawnie, jednakże próba symulacji zakończy się niepowodzeniem, ponieważ procesor nie będzie potrafił odnaleźć początek programu w pamięci. W tym celu należy dołożyć wektor przerwań i w przerwaniu o najwyższy priorytecie wskazać etykietę MAIN.... NonHandledInterrupt iret ; powrót z przerwań nieobsługiwanych segment 'vectit' dc.w main ; irq13 ; irq12 ; irq11_eeprom ; irq10_sci ; irq9_timb ; irq8_tima ; irq7_spi ; irq6 ; irq5_ext3 ; irq4_ext2 ; irq3_ext1 ; irq2_ext0 ; irq1_mcc ; irq0 ; trap ; reset END Formatka Żeby pierwszy program był w całości gotowy, potrzebne są także dodatkowe odwołania do plików z definicjami, charakterystycznymi dla całej rodziny mikrokontrolerów ST7 oraz dla ST72334N2 wykorzystywanego w makiecie uruchomieniowej. ST7/ #include "mapping.inc" #include "ST72334N2.inc" segment rom main rsp ; reset wskaźnika stosu ; tutaj właściwy program infinite_loop jp infinite_loop ; niekończąca się pętla NonHandledInterrupt iret ; powrót z przerwań nieobsługiwanych J. Emilianowicz

6 Strona segment 'vectit' dc.w main ; irq13 ; irq12 ; irq11_eeprom ; irq10_sci ; irq9_timb ; irq8_tima ; irq7_spi ; irq6 ; irq5_ext3 ; irq4_ext2 ; irq3_ext1 ; irq2_ext0 ; irq1_mcc ; irq0 ; trap ; reset END J. Emilianowicz

Strona 7 ST VISUAL DEVELOP Oprogramowanie ST Visual Develop umożliwia symulowanie pracy mikrokontrolerów rodziny ST7, ale także ich sprzętowe emulowanie przy współpracy z emulatorem DVP2, dostępnym w laboratorium C5 705. Oprogramowanie jest dostępne do pobrania na stronie producenta (www.st.com) pod nazwą ST Toolset. Program instalacyjny instaluje oprócz ST Visual Develop także ST Visual Programmer. W lewej części aplikacji jest okno z przestrzenią roboczą, gdzie będą widoczne w postaci rozwijanego drzewa wszystkie projekty. W prawej części aplikacji będzie wyświetlana zawartość plików. Natomiast u dołu będą wyświetlane komunikaty kompilacji i debugowania. Przestrzeń robocza Prace z oprogramowaniem ST Visual Develop rozpoczyna sie od utworzenia przestrzeni roboczej (Workspace), a następnie poprzez dodanie kolejnych projektów, które będą widoczne w postaci drzewa. Do katalogu, w którym będą przechowywane pliki przestrzeni roboczej warto przekopiować z katalogu aplikacji pliki st72334n2.asm oraz st72334n2.inc. J. Emilianowicz

8 Strona Nową przestrzeń roboczą tworzy sie wybierając w menu File - New Workspace, następnie Create an empty workspace. W okienku (patrz:) należy wypełnić obydwa dostępne pola. 1. W pierwszym polu Workspace filename wprowadzić nazwę przestrzeni roboczej, np. st7. 2. W drugim polu Workspace location podać ścieżkę dostępu do katalogu przestrzeni roboczej, np. C:/ST7/. Po poprawnym skonfigurowaniu po lewej stronie aplikacji pojawi sie nazwa przestrzeni roboczej wraz z rozszerzeniem stw. Projekt Nowy projekt do istniejącej juz przestrzeni roboczej dodamy poprzez Project - Add New Project to Workspace... Pojawi sie okienko, w którym wypełniamy trzy pierwsze pola z czterech dostępnych. 1. W pierwszym polu Project filename wprowadzamy nazwę projektu. Nazwa powinna być krótka, maksymalnie 8 znaków, bez znaków specjalnych. 2. W drugim polu Project location klikając na symbol żółtej teczki zakładamy podkatalog dla projektu. Działanie takie zabezpieczy przed nadpisywaniem się plików różnych projektów. 3. W trzecim polu Toolchain należy wybrać ST Assembler Linker. J. Emilianowicz

Strona 9 Po zatwierdzeniu konfiguracji pojawi się okienko wyboru procesora MCU Selection. W okienku tym należy wybrać procesor ST72334N2. Następnie należy dodać do projektu pliki st72334n2.asm oraz st72334n2.inc klikając prawym klawiszem myszki odpowiednio na Source Files oraz Include Files. Pliki te można odnaleźć w jednym z podkatalogów aplikacji ST Toolset. J. Emilianowicz

10 Strona Kompilacja Kompilację realizuje się poprzez menu Build > Buld (skrót klawiszowy F7). Podczas kompilacji powtarza się często grupa błędów. Brak pliku wykonywalnego Podczas kompilacji może zdarzyć się błąd, wynikający z braku pliku wykonywalnego, a dokładniej niepoprawnej ścieżki do niego. Należy wtedy pozwolić na wyświetlenie ustawień projektu, wybrać zakładkę STM ASM, a następnie wcisnąć klawisz Defaults. J. Emilianowicz

Strona 11 Błąd krótkiej kompilacji Podczas prawidłowo przeprowadzanej kompilacji w oknie wyjściowym przewija się zwykle około 30 linijek. Jeżeli jednak kompilacja zakończy się wyświetleniem jedynie jednej linijki 0 error(s), 0 warning(s), to świadczy i nieprawidłowym jej przebiegu i należy przeprowadzić kompilację całego projektu od nowa poprzez menu Buld > Rebuild All. Błąd EOF Skrót EOF oznacza End of File. Błąd ten jest wynikiem braku znaku ENTER za dyrektywą END. Oznacza to, że powinna być przynajmniej jedna pusta linia pod ostatnią dyrektywą. J. Emilianowicz

12 Strona Debugowanie Przed rozpoczęciem debugowania należy wybrać tryb pracy poprzez ustawienie w menu Debug instrument > Target settings W praktyce mogą być wykorzystane trzy z wielu opcji: - Simulator nie wymagający posiadania zestawu uruchomieniowego, - Swim ST-Link w przypadku posiadania zestawu STM8 Discovery, - DVP2 w przypadku emulatorów sprzętowych, będących na wyposażeniu laboratorium. Debugowanie realizuje się poprzez menu Debug > Start debuging (skrót klawiszowy F7). Prawidłowe zdebagowanie powinno zakończyć się wyświetleniem kodu programu wraz z żółtym paskiem podświetlającym pierwszy rozkaz. J. Emilianowicz

Strona 13 Błąd wektora przerwań Jeżeli po zdebugowaniu żółty pasek nie wyświetla się, to oznacza że w programie nie ma wektora przerwań lub jest niepoprawny, więc procesor/symulator nie potrafi odnaleźć pierwszego rozkazu w pamięci. J. Emilianowicz