Assembly Language Programming: ARM Cortex-M3

Total Page:16

File Type:pdf, Size:1020Kb

Assembly Language Programming: ARM Cortex-M3 Assembly Language Programming Assembly Language Programming ARM Cortex-M3 Vincent Mahout First published 2012 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc. Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address: ISTE Ltd John Wiley & Sons, Inc. 27-37 St George’s Road 111 River Street London SW19 4EU Hoboken, NJ 07030 UK USA www.iste.co.uk www.wiley.com © ISTE Ltd 2012 The rights of Vincent Mahout to be identified as the author of this work have been asserted by him in accordance with the Copyright, Designs and Patents Act 1988. ____________________________________________________________________________________ Library of Congress Cataloging-in-Publication Data Mahout, Vincent. Assembly language programming : ARM Cortex-M3 / Vincent Mahout. p. cm. Includes bibliographical references and index. ISBN 978-1-84821-329-6 1. Embedded computer systems. 2. Microprocessors. 3. Assembler language (Computer program language) I. Title. TK7895.E42M34 2012 005.2--dc23 2011049418 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN: 978-1-84821-329-6 Printed and bound in Great Britain by CPI Group (UK) Ltd., Croydon, Surrey CR0 4YY Table of Contents Preface ........................................... ix Chapter 1. Overview of Cortex-M3 Architecture ................ 1 1.1.Assemblylanguageversustheassembler.................. 1 1.2.TheworldofARM............................... 2 1.2.1.Cortex-M3.................................. 3 1.2.2.TheCortex-M3coreinSTM32...................... 7 Chapter 2. The Core of Cortex-M3 ......................... 15 2.1.Modes,privilegesandstates.......................... 15 2.2.Registers..................................... 17 2.2.1.RegistersR0toR12............................ 19 2.2.2.TheR13register,alsoknownasSP................... 19 2.2.3.TheR14register,alsoknownasLR................... 20 2.2.4.TheR15orPCregister........................... 21 2.2.5.ThexPSRregister............................. 22 Chapter 3. The Proper Use of Assembly Directives ............... 25 3.1.Theconceptofthedirective.......................... 25 3.1.1.Typographicconventionsanduseofsymbols............. 26 3.2.Structureofaprogram............................. 27 3.2.1.TheAREAsections............................ 28 3.3.Asectionofcode................................ 29 3.3.1.Labels..................................... 29 3.3.2.Mnemonic.................................. 31 3.3.3.Operands................................... 32 3.3.4.Comments.................................. 34 3.3.5.Procedure................................... 35 vi Assembly Language Programming 3.4. The data section ................................. 36 3.4.1.Simplereservation............................. 36 3.4.2.Reservation with initialization ...................... 37 3.4.3.Datainitialization:thedevilisinthedetails.............. 39 3.5.Isthatall?..................................... 39 3.5.1.Memorymanagementdirectives..................... 40 3.5.2.Projectmanagementdirectives...................... 41 3.5.3.Variousandvarieddirectives....................... 44 Chapter 4. Operands of Instructions ........................ 47 4.1.Theconstantandrenaming........................... 48 4.2.Operandsforcommoninstructions...................... 49 4.2.1.Useofregisters............................... 49 4.2.2.Theimmediateoperand.......................... 53 4.3.Memoryaccessoperands:addressingmodes................ 57 4.3.1.Thepointerconcept............................ 58 4.3.2.Addressingmodes............................. 59 Chapter 5. Instruction Set ............................... 63 5.1.Readingguide.................................. 63 5.1.1.Listofpossible“condition”suffixes................... 65 5.2.Arithmeticinstructions............................. 66 5.3.Logicalandbitmanipulationinstructions.................. 70 5.4.Internaltransferinstructions.......................... 75 5.5.Testinstructions................................. 76 5.6.Branchinstructions............................... 77 5.7.Load/storeinstructions............................. 80 5.7.1.Simpletransfers............................... 80 5.7.2.Multiple transfers .............................. 82 5.7.3. Access to the system stack ........................ 84 5.8.“System”instructionsandothers....................... 85 Chapter 6. Algorithmic and Data Structures ................... 87 6.1.Flowchartversusalgorithm.......................... 87 6.2.Alternativestructures.............................. 89 6.2.1.Simple(orshortened)alternative..................... 89 6.2.2.Completealternative............................ 90 6.2.3.Specialcaseofthealternative...................... 93 6.2.4.Multiple choice ............................... 94 6.3.Iterativestructures................................ 98 6.3.1. The Repeat…Until loop .......................... 98 Table of Contents vii 6.3.2. The While…Do loop ............................ 102 6.3.3. The For… loop ............................... 105 6.4.Compound conditions.............................. 106 6.4.1.AlternativewithAND........................... 107 6.4.2.IterationwithAND............................. 108 6.4.3.AlternativewithOR............................ 109 6.4.4.IterationwithOR.............................. 110 6.5.Datastructure................................... 111 6.5.1.Tableinonedimension.......................... 111 6.5.2.Tables in multiple dimensions ...................... 112 6.5.3.Registration................................. 113 6.5.4.Non-dimensionaltable,characterstring................. 113 6.5.5.Queue..................................... 114 6.5.6.Stack..................................... 115 Chapter 7. Internal Modularity ........................... 119 7.1.Detailing the concept of procedure ...................... 119 7.1.1.Simplecall.................................. 119 7.1.2.Nestedcalls................................. 119 7.1.3.“Redwire”example............................ 121 7.2.Procedurearguments.............................. 123 7.2.1.Usefulnessofarguments.......................... 123 7.2.2.Argumentsbyvalueandbyreference.................. 123 7.2.3.Passingargumentsbygeneralregisters................. 123 7.2.4.Passingargumentsbyastack....................... 126 7.2.5.Passingargumentsbythesystemstack................. 133 7.2.6.Ontheartofmixing............................ 136 7.3.Localdata..................................... 136 7.3.1.Simplereservationoflocaldata..................... 137 7.3.2.Usingachainedlist............................. 143 Chapter 8. Managing Exceptions........................... 147 8.1.WhathappensduringReset?.......................... 148 8.2.Possibleexceptions............................... 151 8.2.1.Traps..................................... 153 8.2.2.Interrupts................................... 159 8.3.Prioritymanagement.............................. 161 8.3.1.Prioritylevelsandsublevels....................... 162 8.3.2.Thenestedmechanism........................... 166 8.4.Entryandreturninexceptionprocessing.................. 167 8.4.1.Re-routing.................................. 167 8.4.2.Return..................................... 169 viii Assembly Language Programming 8.4.3. “Tail-chaining” and “Late-arriving” ................... 169 8.4.4.OtherusefulregistersfortheNVIC................... 170 Chapter 9. From Listing to Executable: External Modularity ........ 173 9.1. External modularity ............................... 175 9.1.1.Genericexample.............................. 175 9.1.2. Assembly by pieces ............................ 178 9.1.3. Advantages of assembly by pieces.................... 178 9.1.4.Externalsymbols.............................. 179 9.1.5. IMPORT and EXPORT directives .................... 181 9.2.Theroleoftheassembler............................ 182 9.2.1.Filesproducedbytheassembler..................... 183 9.2.2. Placement counters ............................. 185 9.2.3.Firstpass:symboltable.......................... 185 9.2.4.Secondpass:translation.......................... 186 9.2.5.Relocationtable............................... 187 9.3.Theroleofthelinker.............................. 188 9.3.1.Functioningprinciple........................... 188 9.3.2.Theproductsofthelinker......................... 190 9.4.Theloaderandthedebuggingunit...................... 196 Appendices ........................................ 199 Appendix A. Instruction Set – Alphabetical List ................. 201 Appendix B. The SysTick Timer ........................... 209 Appendix C. Example of a “Bootstrap” File.................... 217 Appendix D. The GNU Assembler .......................... 227 Bibliography ....................................... 239 Index ............................................ 241 Preface To be able to plan and write this type of book, you need a good work environment. In my case, I was able to benefit from the best working conditions for this enterprise. In terms of infrastructure and material, the Institut National de Sciences Appliquées de Toulouse,
Recommended publications
  • Also Includes Slides and Contents From
    The Compilation Toolchain Cross-Compilation for Embedded Systems Prof. Andrea Marongiu ([email protected]) Toolchain The toolchain is a set of development tools used in association with source code or binaries generated from the source code • Enables development in a programming language (e.g., C/C++) • It is used for a lot of operations such as a) Compilation b) Preparing Libraries Most common toolchain is the c) Reading a binary file (or part of it) GNU toolchain which is part of d) Debugging the GNU project • Normally it contains a) Compiler : Generate object files from source code files b) Linker: Link object files together to build a binary file c) Library Archiver: To group a set of object files into a library file d) Debugger: To debug the binary file while running e) And other tools The GNU Toolchain GNU (GNU’s Not Unix) The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and software for embedded systems. The GNU project produced a set of programming tools. Parts of the toolchain we will use are: -gcc: (GNU Compiler Collection): suite of compilers for many programming languages -binutils: Suite of tools including linker (ld), assembler (gas) -gdb: Code debugging tool -libc: Subset of standard C library (assuming a C compiler). -bash: free Unix shell (Bourne-again shell). Default shell on GNU/Linux systems and Mac OSX. Also ported to Microsoft Windows. -make: automation tool for compilation and build Program development tools The process of converting source code to an executable binary image requires several steps, each with its own tool.
    [Show full text]
  • Motor Vehicle Division Prestige License Plate Application
    For State or County use only: Denied Refund Form MV-9B (Rev. 08-2017) Web and MV Manual Georgia Department of Revenue - Motor Vehicle Division Prestige License Plate Application ______________________________________________________________________________________ Purpose of this Form: This form is to be used by a vehicle owner to request the manufacture of a Special Prestige (Personalized) License Plate. This form should not be used to record a change of ownership, change of address, or change of license plate classification. How to submit this form: After reviewing the MV-9B form instructions, this fully completed form must be submitted to your local County tag office. Please refer to our website at https://mvd.dor.ga.gov/motor/tagoffices/SelectTagOffice.aspx to locate the address(es) for your specific County. OWNER INFORMATION First Name Middle Initial Last Name Suffix Owners’ Full Legal Name: Mailing Address: City: State: Zip: Telephone Number: Owner(s)’ Full Legal Name: First Name Middle Initial Last Name Suffix If secondary Owner(s) are listed Mailing Address: City: State: Zip: Telephone Number: VEHICLE INFORMATION Vehicle Identification Number (VIN): Year: Make: Model: LICENSE PLATE COMBINATION Private Passenger Vehicle (Includes Motor Home and Non-Commercial Trailer) Note: Private passenger vehicles cannot exceed seven (7) letters and/or numbers including spaces. Meaning: ___________________________ Meaning: ___________________________ Meaning: ___________________________ (Required) (Required) (Required) Motorcycle Note: Motorcycles cannot exceed six (6) letters and/or numbers including spaces. Meaning: ___________________________ Meaning: ___________________________ Meaning: ___________________________ (Required) (Required) (Required) Note: No punctuation or symbols are allowed on a license plate. Only letters, numbers, and spaces are allowed. I request that a personal prestige license plate be manufactured.
    [Show full text]
  • Computer Architecture and Assembly Language
    Computer Architecture and Assembly Language Gabriel Laskar EPITA 2015 License I Copyright c 2004-2005, ACU, Benoit Perrot I Copyright c 2004-2008, Alexandre Becoulet I Copyright c 2009-2013, Nicolas Pouillon I Copyright c 2014, Joël Porquet I Copyright c 2015, Gabriel Laskar Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being just ‘‘Copying this document’’, no Front-Cover Texts, and no Back-Cover Texts. Introduction Part I Introduction Gabriel Laskar (EPITA) CAAL 2015 3 / 378 Introduction Problem definition 1: Introduction Problem definition Outline Gabriel Laskar (EPITA) CAAL 2015 4 / 378 Introduction Problem definition What are we trying to learn? Computer Architecture What is in the hardware? I A bit of history of computers, current machines I Concepts and conventions: processing, memory, communication, optimization How does a machine run code? I Program execution model I Memory mapping, OS support Gabriel Laskar (EPITA) CAAL 2015 5 / 378 Introduction Problem definition What are we trying to learn? Assembly Language How to “talk” with the machine directly? I Mechanisms involved I Assembly language structure and usage I Low-level assembly language features I C inline assembly Gabriel Laskar (EPITA) CAAL 2015 6 / 378 I Programmers I Wise managers Introduction Problem definition Who do I talk to? I System gurus I Low-level enthusiasts Gabriel Laskar (EPITA) CAAL
    [Show full text]
  • Unix/Linux Command Reference
    Unix/Linux Command Reference .com File Commands System Info ls – directory listing date – show the current date and time ls -al – formatted listing with hidden files cal – show this month's calendar cd dir - change directory to dir uptime – show current uptime cd – change to home w – display who is online pwd – show current directory whoami – who you are logged in as mkdir dir – create a directory dir finger user – display information about user rm file – delete file uname -a – show kernel information rm -r dir – delete directory dir cat /proc/cpuinfo – cpu information rm -f file – force remove file cat /proc/meminfo – memory information rm -rf dir – force remove directory dir * man command – show the manual for command cp file1 file2 – copy file1 to file2 df – show disk usage cp -r dir1 dir2 – copy dir1 to dir2; create dir2 if it du – show directory space usage doesn't exist free – show memory and swap usage mv file1 file2 – rename or move file1 to file2 whereis app – show possible locations of app if file2 is an existing directory, moves file1 into which app – show which app will be run by default directory file2 ln -s file link – create symbolic link link to file Compression touch file – create or update file tar cf file.tar files – create a tar named cat > file – places standard input into file file.tar containing files more file – output the contents of file tar xf file.tar – extract the files from file.tar head file – output the first 10 lines of file tar czf file.tar.gz files – create a tar with tail file – output the last 10 lines
    [Show full text]
  • Compiler Construction
    Compiler Construction Chapter 11 Compiler Construction Compiler Construction 1 A New Compiler • Perhaps a new source language • Perhaps a new target for an existing compiler • Perhaps both Compiler Construction Compiler Construction 2 Source Language • Larger, more complex languages generally require larger, more complex compilers • Is the source language expected to evolve? – E.g., Java 1.0 ! Java 1.1 ! . – A brand new language may undergo considerable change early on – A small working prototype may be in order – Compiler writers must anticipate some amount of change and their design must therefore be flexible – Lexer and parser generators (like Lex and Yacc) are therefore better than hand- coding the lexer and parser when change is inevitable Compiler Construction Compiler Construction 3 Target Language • The nature of the target language and run-time environment influence compiler construction considerably • A new processor and/or its assembler may be buggy Buggy targets make it difficult to debug compilers for that target! • A successful source language will persist over several target generations – E.g., 386 ! 486 ! Pentium ! . – Thus the design of the IR is important – Modularization of machine-specific details is also important Compiler Construction Compiler Construction 4 Compiler Performance Issues • Compiler speed • Generated code quality • Error diagnostics • Portability • Maintainability Compiler Construction Compiler Construction 5 Compiler Speed • Reduce the number of modules • Reduce the number of passes Perhaps generate machine
    [Show full text]
  • What Is UNIX? the Directory Structure Basic Commands Find
    What is UNIX? UNIX is an operating system like Windows on our computers. By operating system, we mean the suite of programs which make the computer work. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops. The Directory Structure All the files are grouped together in the directory structure. The file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is traditionally called root (written as a slash / ) Basic commands When you first login, your current working directory is your home directory. In UNIX (.) means the current directory and (..) means the parent of the current directory. find command The find command is used to locate files on a Unix or Linux system. find will search any set of directories you specify for files that match the supplied search criteria. The syntax looks like this: find where-to-look criteria what-to-do All arguments to find are optional, and there are defaults for all parts. where-to-look defaults to . (that is, the current working directory), criteria defaults to none (that is, select all files), and what-to-do (known as the find action) defaults to ‑print (that is, display the names of found files to standard output). Examples: find . –name *.txt (finds all the files ending with txt in current directory and subdirectories) find . -mtime 1 (find all the files modified exact 1 day) find . -mtime -1 (find all the files modified less than 1 day) find . -mtime +1 (find all the files modified more than 1 day) find .
    [Show full text]
  • Data Transformation Language (DTL)
    DTL Data Transformation Language Phillip H. Sherrod Copyright © 2005-2006 All rights reserved www.dtreg.com DTL is a full programming language built into the DTREG program. DTL makes it easy to generate new variables, transform and combine input variables and select records to be used in the analysis. Contents Contents...................................................................................................................................................3 Introduction .............................................................................................................................................6 Introduction to the DTL Language......................................................................................................6 Using DTL For Data Transformations ....................................................................................................7 The main() function.............................................................................................................................7 Global Variables..................................................................................................................................8 Implicit Global Variables ................................................................................................................8 Explicit Global Variables ................................................................................................................9 Static Global Variables..................................................................................................................11
    [Show full text]
  • PS TEXT EDIT Reference Manual Is Designed to Give You a Complete Is About Overview of TEDIT
    Information Management Technology Library PS TEXT EDIT™ Reference Manual Abstract This manual describes PS TEXT EDIT, a multi-screen block mode text editor. It provides a complete overview of the product and instructions for using each command. Part Number 058059 Tandem Computers Incorporated Document History Edition Part Number Product Version OS Version Date First Edition 82550 A00 TEDIT B20 GUARDIAN 90 B20 October 1985 (Preliminary) Second Edition 82550 B00 TEDIT B30 GUARDIAN 90 B30 April 1986 Update 1 82242 TEDIT C00 GUARDIAN 90 C00 November 1987 Third Edition 058059 TEDIT C00 GUARDIAN 90 C00 July 1991 Note The second edition of this manual was reformatted in July 1991; no changes were made to the manual’s content at that time. New editions incorporate any updates issued since the previous edition. Copyright All rights reserved. No part of this document may be reproduced in any form, including photocopying or translation to another language, without the prior written consent of Tandem Computers Incorporated. Copyright 1991 Tandem Computers Incorporated. Contents What This Book Is About xvii Who Should Use This Book xvii How to Use This Book xvii Where to Go for More Information xix What’s New in This Update xx Section 1 Introduction to TEDIT What Is PS TEXT EDIT? 1-1 TEDIT Features 1-1 TEDIT Commands 1-2 Using TEDIT Commands 1-3 Terminals and TEDIT 1-3 Starting TEDIT 1-4 Section 2 TEDIT Topics Overview 2-1 Understanding Syntax 2-2 Note About the Examples in This Book 2-3 BALANCED-EXPRESSION 2-5 CHARACTER 2-9 058059 Tandem Computers
    [Show full text]
  • Standard TECO (Text Editor and Corrector)
    Standard TECO TextEditor and Corrector for the VAX, PDP-11, PDP-10, and PDP-8 May 1990 This manual was updated for the online version only in May 1990. User’s Guide and Language Reference Manual TECO-32 Version 40 TECO-11 Version 40 TECO-10 Version 3 TECO-8 Version 7 This manual describes the TECO Text Editor and COrrector. It includes a description for the novice user and an in-depth discussion of all available commands for more advanced users. General permission to copy or modify, but not for profit, is hereby granted, provided that the copyright notice is included and reference made to the fact that reproduction privileges were granted by the TECO SIG. © Digital Equipment Corporation 1979, 1985, 1990 TECO SIG. All Rights Reserved. This document was prepared using DECdocument, Version 3.3-1b. Contents Preface ............................................................ xvii Introduction ........................................................ xix Preface to the May 1985 edition ...................................... xxiii Preface to the May 1990 edition ...................................... xxv 1 Basics of TECO 1.1 Using TECO ................................................ 1–1 1.2 Data Structure Fundamentals . ................................ 1–2 1.3 File Selection Commands ...................................... 1–3 1.3.1 Simplified File Selection .................................... 1–3 1.3.2 Input File Specification (ER command) . ....................... 1–4 1.3.3 Output File Specification (EW command) ...................... 1–4 1.3.4 Closing Files (EX command) ................................ 1–5 1.4 Input and Output Commands . ................................ 1–5 1.5 Pointer Positioning Commands . ................................ 1–5 1.6 Type-Out Commands . ........................................ 1–6 1.6.1 Immediate Inspection Commands [not in TECO-10] .............. 1–7 1.7 Text Modification Commands . ................................ 1–7 1.8 Search Commands .
    [Show full text]
  • Attachment B Portsmouth Naval Shipyard Utility Locating Procedures
    SECTION 01 35 26 – ATTACHMENT B PORTSMOUTH NAVAL SHIPYARD UTILITY LOCATING PROCEDURES LOCATION OF UNDERGROUND FACILITIES B1.1 General Excavation or ground penetrating work is defined as any operation in which earth, rock or other material below ground is moved or otherwise displaced, by means of power and hand tools, power equipment which includes grading, trenching, digging, boring, auguring, tunneling, scraping and cable or pipe driving except tilling of soil, gardening or displacement of earth, rock or other material for agricultural purposes. Removal of bituminous concrete pavement or concrete is not considered excavation Ground penetrating work may include but is not limited to installing fence posts, probes, borings, piles, sign posts, stakes or anchor rods of any kind that penetrates the soil more than 3”. The “Excavator” is defined as the person directly responsible for performing the excavation or ground penetrating work. B1.2 Underground Utilities Location The Contractor/Excavator shall fully comply with the State of Maine “DIG SAFE “law (Title 23, MRSA 3360-A). Existing underground utilities shown on the plans are based on PNS Yard Plates and are shown in their approximate locations only. The Excavator shall pre-mark the excavation area in “White Paint Only”. (Field notes may be done in Pink paint). The Excavator shall notify “DIG SAFE” (1-888-344-7233) at least within 14calendar days, but no more than 30 calendar days prior to the commencement of the excavation or ground penetrating activity. The Excavator shall prepare a PWD ME Dig Safe Utility Locate Request Format least within 14 calendar days prior to the commencement of the excavation or ground penetrating activity and submit the Form to the Contracting Officer.
    [Show full text]
  • GNU Findutils Finding Files Version 4.8.0, 7 January 2021
    GNU Findutils Finding files version 4.8.0, 7 January 2021 by David MacKenzie and James Youngman This manual documents version 4.8.0 of the GNU utilities for finding files that match certain criteria and performing various operations on them. Copyright c 1994{2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". i Table of Contents 1 Introduction ::::::::::::::::::::::::::::::::::::: 1 1.1 Scope :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Overview ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Finding Files ::::::::::::::::::::::::::::::::::::: 4 2.1 find Expressions ::::::::::::::::::::::::::::::::::::::::::::::: 4 2.2 Name :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 2.2.1 Base Name Patterns ::::::::::::::::::::::::::::::::::::::: 5 2.2.2 Full Name Patterns :::::::::::::::::::::::::::::::::::::::: 5 2.2.3 Fast Full Name Search ::::::::::::::::::::::::::::::::::::: 7 2.2.4 Shell Pattern Matching :::::::::::::::::::::::::::::::::::: 8 2.3 Links ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3.1 Symbolic Links :::::::::::::::::::::::::::::::::::::::::::: 8 2.3.2 Hard Links ::::::::::::::::::::::::::::::::::::::::::::::: 10 2.4 Time
    [Show full text]
  • Embedded Firmware Development Languages/Options
    Module -4 Embedded System Design Concepts Characteristics & Quality Attributes of Embedded Systems Characteristics of Embedded System Each Embedded System possess a set of characteristics which are unique to it. Some important characteristics of embedded systems are: Application & Domain Specific Reactive & Real Time Operates in ‘harsh’ environment Distributed Small size and Weight Power Concerns Quality Attributes of Embedded Systems: Represent the non-functional requirements that needs to be addressed in the design of an embedded system. The various quality attributes that needs to be addressed in any embedded system development are broadly classified into Operational Quality Attributes Refers to the relevant quality attributes related to tan embedded system when it is in the operational mode or ‘online ’ mode Non-Operational Quality Attributes The Quality attributes that needs to be addressed for the product ‘not’ on the basis of operational aspects are grouped under this category Operational Quality Attributes Response Throughput Reliability Maintainability Security Safety Non-Operational Quality Attributes Testability & Debug-ability Evolvability Portability Time to Prototype and Market Per Unit and Total Cost Washing Machine – Application Specific Embedded System V Extensively used in Home Automation for washing and drying clothes V Contains User Interface units (I/O) like Keypads, Display unit, LEDs for accepting user inputs and providing visual indications V Contains sensors like, water level sensor, temperature
    [Show full text]