Assembler source. Editor and message windows 1)ASSEMBLER DIRECTIVES Change or adjust the way the assembler works with the code.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ancient Greek for Everyone: A New Digital Resource for Beginning Greek Unit 4: Conjunctions 2013 edition Wilfred E. Major
Advertisements

What is the definition of differentiation?. Differentiation is an approach to teaching that attempts to ensure that all students learn well, despite their.
Instructions: •Look at the map and identify all the places. •Maria is staying at the hotel and she is just going out of the door … but where to ??? •Double.
1 Please include the following information on this slide: Παρακαλώ, συμπεριλάβετε τις παρακάτω πληροφoρίες στη διαφάνεια: Name Balafouti MariaWhich of.
1 Basic network tools Layers recap Basic Addressing ping traceroute ipconfig.
IT2000 vs IT2012 By Fotis Lavdas & Menelaos Makrigiannis.
PRESENT CONTINUOUS MARY P. 4TH GRADE.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 11: Χρήση δομών, εξωτερικών αρχείων και γραφικών στο Matlab Εαρινό εξάμηνο 2008.
ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ. ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ - Παράδειγμα %polynomial (Expression, Variable) polynomial (X, X). polynomial (Term, X) :- number (Term).
Ancient Greek for Everyone: Unit 3: Greek Nouns supplement: Tips on Translating Greek into English GREK 1001 Fall 2013 M-Th 9:30-10:20 Coates 236 Wilfred.
Business Process Management and Knowledge Toolkit
Some information about our place. Greece is a small country on the south of Europe. The peninsula, where Greece is located, is called Balkan.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Distributed Database Systems.
Hellenic Ministry for the Environment, Spatial Planning and Public Works Greek Experience on the Implementation of IPPC Directive Alexandros Karavanas.
TEMPLATES, STL ΠΡΟΓΡΑΜΜΑΤΑ ΜΕ ΠΟΛΛΑ ΑΡΧΕΙΑ. ΑΝΑΚΕΦΑΛΑΙΩΣΗ.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Τεχνολογία ΛογισμικούSlide 1 Έλεγχος Καταψύκτη (Ada) Τεχνολογία ΛογισμικούSlide 39 with Pump, Temperature_dial, Sensor, Globals, Alarm; use Globals ; procedure.
Ρυθμίσεις Android phones για MMS και Internet. 20/6/2013 Although every effort has been taken, this DRAFT technical paper has been prepared in good faith.
Αντικειμενοστρεφής Προγραμματισμός Κλάσεις και άλλα θέματα Απόστολος Ζάρρας * βασισμένα και σε δουλειά του.
Τι θα φέρει το Σύννεφο στη Διαχείριση Δεδομένων: Προκλήσεις και Ευκαιρίες Ελληνικό Συμπόσιο Διαχείρισης Δεδομένων 2010 Ευαγγελία Πιτουρά Τμήμα Πληροφορικής,
Πληροφοριακά Συστήματα και Βάσεις Δεδομένων
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
A model for Context-aware Databases. 19/04/20052 What is Context? Ο καθένας ορίζει το context διαφορετικά... “location, identities of nearby people and.
Lesson 14: Around the city JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Lesson 3a: Basic expressions JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Comenius E.R.G.O Equal Rights Great Opportunities Presentation by the Greek Delegation to Hungary.
1/6/2012 FASTER LOGO FASTER ICT – Financial and Accounting Seminars Targeting European Regions You are expected to prepare a ppt presentation for each.
Lesson 20a: Nature I JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Lesson 18c: At the University JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Lesson 47-48a: Furniture JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής EPL602 Foundations of Web Technologies jQuery Mobile News Site Presented by: Christodoulos Michael Dimitris Stokkos.
1 Please include the following information on this slide: Παρακαλώ, συμπεριλάβετε τις παρακάτω πληροφoρίες στη διαφάνεια: Name Giannakodimou Aliki Kourkouta.
Developing Human Values Through the Cross-curricular Approach.
 You need textbooks today. If they are in your locker – get them NOW!  Don’t ask once class has started…
MARIE CURIE  Project about Project  Πειραματικό Λύκειο Πανεπιστημίου Μακεδονίας  Team 3 Ξενίδης Γιώργος Βαρελτζίδου Μαρίνα Γαβριηλίδου Ελένη.
Lecture 14: GPIO Outputs Lecturers: Professor John Devlin Mr Robert Ross.
6 Η ΠΑΡΟΥΣΙΑΣΗ: ΠΑΝΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΟΙΝΩΝΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ: ΕΠΙΚΟΙΝΩΝΙΑΣ, ΜΕΣΩΝ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΦΗΜΙΣΗ.
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού ATM loop Print_input_message (” Welcome - Please enter your card”) ; exit when Card_input ; end loop.
Translation Tips LG New Testament Greek Fall 2012.
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
ΗΥ Καλοκαιρινός Γιώργος1 PCI Bus Pin List. ΗΥ Καλοκαιρινός Γιώργος2 Initiator Target.
Week 11 Quiz Sentence #2. The sentence. λαλο ῦ μεν ε ἰ δότες ὅ τι ὁ ἐ γείρας τ ὸ ν κύριον Ἰ ησο ῦ ν κα ὶ ἡ μ ᾶ ς σ ὺ ν Ἰ ησο ῦ ἐ γερε ῖ κα ὶ παραστήσει.
Διαχείριση Διαδικτυακής Φήμης! Do the Online Reputation Check! «Ημέρα Ασφαλούς Διαδικτύου 2015» Ε. Κοντοπίδη, ΠΕ19.
Μαθαίνω με “υπότιτλους”
Αντικειμενοστραφής Προγραμματισμός ΙΙ
JSIS E 111: Elementary Modern Greek
Στρατηγική Διοίκηση και ο Επιχειρηματίας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Υδρόβια Φυτά Θεοφανώ Κούλεντρου Rippling Water (Basic)
International Hospitality Management MC Employability Scheme
Εντολές Δικτύων Command Line.
Οσμές στη Σχεδίαση του Λογισμικού
Εκπαιδευτική ρομποτική
aka Mathematical Models and Applications
Βάλια Τόλιου, Registry Manager for Greece
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Erasmus + An experience with and for refugees Fay Pliagou.
Instructions Upon opening the file, if you see a RED X on the last slide, click the OPTIONS box on your security warning and select ENABLE THIS CONTENT.
Runtime Access to Variables
Cipher Feedback Mode Network Security.
Baggy Bounds checking by Akritidis, Costa, Castro, and Hand
Ellen Geer C Garrision Thursday 2-3:30
To Teach Curricular Subjects
Chiltern Hills Academy
I have to take the MAP again?
Kanaka Creek School Teams Session January 30, 2018
April News from Mrs. Barham
Entry 27 – Starter Copy and simplify
Principles of Computers 19th Lecture
Place Title / Heading Here
Μεταγράφημα παρουσίασης:

Assembler source

Editor and message windows

1)ASSEMBLER DIRECTIVES Change or adjust the way the assembler works with the code

Assembler directives can be divided into the following groups DEFINE SEGMENTS.cseg.dseg.eseg.csegsize.org PROGRAM MEMORY.db.dw.cseg.org EEPROM.db.dw.eseg.org SRAM.byte.dseg.org REGISTER & CONSTANTS.def.equ.set CODING.macro.endmacro.listmac.include ASSEMBLER OUTPUT.device.exit.list.nolist

1a) DEFINE SEGMENTS.cseg.dseg.eseg.csegsize.org Word Counter for programs, Byte Counter for SRAM and EEPROM, The values of the Location Counters are defined by.org ; Start program segment

1b) PROGRAM MEMORY.db.dw.cseg.org 1c) EEPROM.db.dw.eseg.org Define (initialize) values using.DB and.DW

1d) SRAM.byte.dseg.org Define code name for SRAM locations using.BYTE

1e) REGISTER & CONSTANTS.def.equ.set Rename Registers Name constants Rename constants (can be used many times with different value)

1f) CODING.macro.endmacro.listmac.include Arguments 0 and 1 are r2 and r1 respectively.def pseudo instruction (assembler directive) for sreg in INCLUDE file

1g) ASSEMBLER OUTPUT.device.exit.list.nolist

2) EXPRESSIONS Operands Functions Operators 2.1) Operands

2.2) Functions 2.3) Operators

Unary operators Binary operators

3) AVR STUDIO 4

4.3) Description of the views The following views are available: Output tabs Build window – Message window – Find in files function – Breakpoints Workspace tabs Project view I/O view Register – Processor core register – Stack – I/O register Info view Interrupt vector – AVR package – I/O register Watch view Memory view SRAM – Flash Memory – Register – I/O register – EEPROM Register window Dissasembler window T

4.3.1) Output tabs Build window – Message window – Find in files function – Breakpoints The Build view. Output from the compiler / assembler is routed to this window. The result of the compilation / assembly can be read here. When compiling or building projects output messages and warnings are printed in this view. Double click on an error or you to the source code location. The key F4 can also be used, and will go to the next error. Breakpoints. Lists all active breakpoints in all modules. Breakpoints can be enabled, disabled and removed in the view. More details in section 4 of the debugging document.

4.3.2) Workspace tabs Project view I/O view Register – Processor core register – Stack – I/O register Info view Interrupt vector – AVR package – I/O register ) Project view

) I/O View Register – Processor core register – Stack – I/O register

The view has 4 fields of information for the I/O registers, name, value, bits and address.

) Info view Interrupt vector – AVR package – I/O register This view is static and show all interrupts, pin configuration and available IO adresses for the selected device.

4.3.3) Watch view With the watch window you can view and edit all defined symbols when debugging. Edit Double click on an empty line to type a variable name. Quick watch Highlight the variable you want to watch in the editor and select quickwatch. You can look at the variable and its contents and alternatively add it to the watch view.

4.3.4) Memory View Editing Change the value by clicking on the location and type a new value. This can also be done with the ASCII values in the right border (if shown).

4.3.5) Register window

4.3.6) The Disassembler window The disassembler window shows your program code disassembled. Program execution and AVR instructions can be followed in this view B9: 2700 CLR R16 Exclusive OR BA: BF05 OUT 0x35,R16 Out to I/O location BB: E800 LDI R16,0x80 Load immediate BC: BF04 OUT 0x34,R16 Out to I/O location

4.4) ΑΝΑΠΤΥΞΗ ΚΩΔΙΚΑ AVR Assembler To get started is simple, when AVR Studio loads, select the AVR Assembler from the project dialog box, select a project name directory where the project shall reside, and click finish. A project file is created, an *.asm file is available in the editor window and you are set for writing your first instructions. Check out the online AVR assembler has it's own book where all instructions and directives are explained. In addition, there is context sensitive help in the editor window, just write an instruction, place the cursor on top of the instruction and press F1, and you will get help on the syntax on the selected instruction.

4.5 Simulator The simulator supports all existing new AVR devices, look at the tools and device support for an overview. It simulates not only the CPU, but nearly all the on-chip I/O modules and memory, as well as the I/O ports. Special care has been taken to ensure proper simulation of the device, and there are only small differences between simulated and actual behaviour. The simulator does not connect to outside hardware and has to be stimulated from pre-calculated stimuli files. But as the device is simulated entirely inside the PC memory, the user has extended visibility of all the on-chip functions.

If you develop for a specific device in mind you should include the *.def.inc file for the part. Each part has it's own *.inc file that defines all internal registers, bits and a lot of other stuff that makes it simpler for you to write code for the part. In addition the *.inc file sets the device directive for the assembler, letting the assembler know which part you are developing for. The part files are found in the \ProgramFiles\Atmel\AVRTools\AVRAssembler\ΐppnotes folder on your computer. A include file for ATmega8 will typically be named "m8def.inc". You do not have to give a path with the *.inc file as long as it is found in the default directory. Press F7 in order to compile. The result of the compilation will show in the previously described Build view in the output window frame.

4. 6) Programming the Target AVR Device STK500 is controlled from AVR Studio, version 3.2 and higher. To program a hex file into the target AVR device, select "STK500" from the "tools“ menu in AVR Studio. Select the AVR target device from the pull-down menu on the “Program” tab and locate the intel-hex file to download. Press the "erase" button, followed by the "program" button. The Status LED will now turn yellow while the part is programmed, and when programming succeeds the LED will turn green. If programming fails, the LED will turn red after programming, see the "Trouble-shooting guide" (Help in STK500 user's guide).

1) 8 διακόπτες 2) 8 LED 3) Δύο σειρές από ακροδέκτες (headers). 4) Μία περιοχή με υποδοχές διαφόρων τύπων AVR (target sockets) και τις υποδοχές για εξωτερικές συνδέσεις των ακροδεκτών των AVR. Κάθε φορά τοποθετείται ένας μόνο AVR. 5) Μία περιοχή με διακλαδωτήρες (jumpers) και μία ενδεικτική λυχνία τροφοδοσίας των υποδοχών.

6) Μία σειρά από ακροδέκτες (headers) και υποδοχή για κρύσταλλο. 7) Το τμήμα προγραμματισμού των μνημών των AVR, τους διακόπτες reset και προγραμματισμού και την ενδεικτική λυχνία κατάστασης προγραμματισμού. Υπάρχουν επίσης ένας άλλος AVR ο 8535 (Master AVR) και το κύκλωμα για τις τάσεις RS232, το ΜΑΧ202. 8) Τον διακόπτη τροφοδοσίας, την λυχνία τροφοδοσίας και τις υποδοχές τροφοδοσίας και RS232C (για PC και επιπρόσθετη για άλλη χρήση).

5) Debugging facilities

ΓΕΝΙΚΑ ΣΧΟΛΙΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΚΩΔΙΚΑ ΚΑΙ ΣΤΗΝ ΧΗΣΗ ΤΟΥ AVR STUDIO Σχόλια σε ομάδες εντολών για την περιγραφή της διαδικασίας που υλοποιείται. Συμβατότητα του επιλεχθέντος μοντέλου AVR, με τις επιλογές σε εντολές, τρόπους προσπέλασης, κλπ. Χρήση των συμβατών I/O ports με το συγκεκριμένο μοντέλο AVR. Χρησιμοποιείστε θέσεις υπάρχουσας (εγκατεστημένης για το συγκεκριμένο μοντέλο AVR) SRAM. Μην ξεχνάτε την ψευδοεντολή.include “8515def.inc”. Μη ξεχνάτε τις αρχικές συνθήκες (ιδιαίτερα στο περιβάλλον του simulator) για τους καταχωρητές R0- R31 και SP, καθώς και την εισαγωγή της εντολής sei. Input από PINx και όχι από PORTx. Τερματισμός προγράμματος σας, π.χ. Loop: rjmp loop. Οταν χρησιμοποιείτε τη στοίβα, θα πρέπει να δίνετε αρχικές συνθήκες στον SP. Συνήθως η αρχή της στοίβας ορίζεται στην ramend (γνωστή από την include).

Προσοχή στη χρήση αρνητικής λογικής για τον καθορισμό δυαδικών μεταβλητών. Προσοχή στη χρήση των ψευδοεντολών για την ονομασία καταχωρητών. Ξεκινήστε με Open Project, για τον καθορισμό περιβάλλοντος και επεξεργαστή. Αποθηκεύστε τα αρχεία σας στο συγκεκριμένο χώρο users. Αρχεία από την Flash δεν διαβάζονται. Κατά τον προγραμματισμό του 8515, προσοχή στην χρήση του επιθυμητού αρχείου (αυτού που πρόκειται να εκτελέσετε) με το κατάλληλο pathname. Οι κάρτες STK500 διαθέτουν διαφορετικό επεξεργαστή. Ελέγξτε του τύπο του, για να τον χρησιμοποιήσετε στην εντολή include και στο παράθυρο προγραμματισμού της STK500. Μετά από κάθε αλλαγή στον κώδικα, εκτελέστε Build and run και στην συνέχεια προγραμματίστε την κάρτα STK500. Στο στάδιο της αποσφαλμάτωσης, βρόχοι καθυστέρησης καλύτερα να ορίζονται σαν σχόλια (comment out). Προσεκτική επιλογή των Breakpoints.

Προσεκτική παρακολούθηση των I/O window και Memory windows. Η χρήση του watch view είναι χρήσιμη για την παρακολούθηση των τιμών των μεταβλητών που ορίζονται με κωδικό όνομα. Οταν το πρόγραμμα εκτελείται στον target AVR στην STK500, για να βεβαιωθείτε οτι το πρόγραμμα σας διέρχεται από συγκεκριμένη περιοχή χρησιμοποιείτε κατάλληλες ενδείξεις στα LEDs και προσωρινές στάσεις στην εκτέλεση του προγράμματος με αέναο βρόχο ή με πίεση κατάλληλου πλήκτρου. Η ορθή λειτουργία του προγράμματος στο περιβάλλον του simulator, δεν σας εξασφαλίζει και ορθή λειτουργία στην κάρτα STK500. Ιδιαίτερη προσοχή στη χρήση διακοπτών και LEDs (αρνητική λογική).

Debug toolbar

Views toolbar