Embedded Software TI2725-C. 8. Debugging techniques. Koen Langendoen. Embedded Software Group
|
|
- Alan Parks
- 5 years ago
- Views:
Transcription
1 Embedded Software 8. Debugging techniques TI2725-C Koen Langendoen Embedded Software Group
2 Grace Hopper
3 Overview Debugging techniques Debugging a distributed system Lab information Preparation for the exam
4 Debugging Write good code! Testing only uncovers a fraction of bugs Testing and debugging can be very difficult HW is involved (radio communication over devices?) Different perception on bugs for ES MS IE crashed? Elevator not working? Telephone calling the wrong person? Cash machine? Medical instruments? 4
5 Testing on the host machine Try finding bugs early in the development process HW might not be available early on Exercise all of the code Unlikely situations difficult to test (events on two devices) Develop reusable, repeatable tests Leave an audit trail of the test results usually ES do not have hard-drives Conclusion: do not test on target more than needed! 5
6 Testing on the host machine Target system Test system Hardware independent code Hardware independent code Hardware dependent code Test scaffold code Hardware Keyboard Display Disk 6
7 Testing on the host machine Divide code into two categories Hardware-dependent code Hardware-independent code Scaffold code provides the same entry points as the HWindependent code HW-dependent code can be debugged on HW only Replace calls to HW functions with meaningful information Rather than replacing the function in() for radio, replace the layer above with a printf() 7
8 Testing on the host machine Calling interrupt routines Interrupt routines are major part of the system Calling interrupt routines needs to be done from scaffold Difficult? Not really Split code of the ISR in two: HW-dependent and HW-independent Place the HW-independent code in a separate function Test this code extensively Example: character processing on the serial line 8
9 Calling the timer interrupt Timer ISR one of the most used and important parts of the system Alternatives: Emulate HW to naturally call this ISR Force calls from the test scaffolds Second option is preferred The overhead is not large on a PC system You have control in deciding when the time ISR is called with respect to other interrupts Have several events occur at the same time 9
10 Script files Automation is needed almost always Validate a piece of code under the same input conditions Trigger ISRs in the same manner each time Using script files requires some small overhead Parser needed Very simple instructions (2-3 characters) Comments must be allowed Data has to be entered ASCII & Hexadecimal Results reporting in a formatted form 10
11 Script files - interleaving Input script Output file # Frame arrives (beacon with no element) # Dst Src Ctrl Typ Stn Timestamp mr/56 ab ab a6a # backoff time expires (software should send frame) kt0 # timeout expires again kt0 #Some time passes kn2 kn2 # another beacon arrives # Dst Src Ctrl Typ Stn Timestamp mr/56 ab ab a6a # Frame arrives (beacon with no element) # Dst Src Ctrl Typ Stn Timestamp mr/56 ab ab a6a # backoff time expires (software should send frame) kt0 --> Sending frame: ab ff ab... # timeout expires again kt0 #Some time passes kn2 kn2 --> Sending frame ab ff ab... # another beacon arrives # Dst Src Ctrl Typ Stn Timestamp mr/56 ab ab a6a 11
12 More advanced scripting Automate state machine behavior Each time some actuation takes place, a certain input (ISR) should be triggered This behavior is an alternative to the regular behavior Emulate the communication medium between devices Wireless communication interference, multiple devices barcode reader, any wireless interface Scanner A Scanner B Register A Register B Test scaffold software = communication medium 12
13 Objections!!! Objections to debugging on host machine appear Engineer fails to quantify correctly the needed effort Boss wants code to be ready fast Everyone fails to realize how much time debugging will take Most common objection Testing on host is useless: most of code is HW-dependent 13
14 Example from Telegraph 14
15 Objections!!! Building a test scaffold is difficult misconception Writing a simple parser is easy even if done in C Code output capture is a simple formatting function Debugging takes significantly longer than code writing RTOS needs to run on the host system If so, choose one RTOS that does (many versions available) If not, emulate system calls! Use a shell around the OS 15
16 Objections!!! Other objections Software interaction with hardware Example: use the wrong address to access the UART Response and throughput Shared-data problems (assembly level) Portability issues (big-endian vs. little-endian) They are true! You cannot (usually) test these on the host Testing on the host is not aimed at these issues 16
17 Instruction set simulators The processor execution is emulated in software Software executing assembly version of real code Useful for testing some of the issues not covered by debugging on the host Advantages Determine response time and throughput Testing assembly-language routines Resolving portability issues Testing code dealing with peripherals What they cannot do Shared-data bugs unless scripting is allowed or you are lucky Simulate the whole platform 17
18 The ASSERT macro Very used tool: assert(condition); If condition is true, noting happens If condition is false, user code is launched Print a message and stop Advantages Program state is tested on the spot: localized bugs Example usage: Test input values of a function (passing NULL pointers?) Test context of function calls assert(! bad return from function ) 18
19 The ASSERT macro Assert on the target platform Less verbose as systems do not usually have displays Redefine functionality of assert Disable interrupts and do: while(1){}; Turn on LEDs in a given pattern (led-based debugging) Write variables to a certain location of memory Write the location of the current instruction Execute illegal instruction to trigger debugger or stop 19
20 Using lab tools Multimeter Measure voltage between various points Use it to detect if circuits are powered Test state of enable/disable pins Measure resistance between points Make sure device is off detect short or open circuits Oscilloscope Software engineers usage (time, voltage, trigger) Use it as a voltmeter Check if circuit is working at all by looking at changing waves Check if signals are changing as expected (communication lines) Check timing issues 20
21 Logic analyzer A must-have tool for embedded software design Usb-based cheap versions available Can track a set of digital signals simultaneously Only VCC and ground signals understood Logic analyzers are storage devices Significantly more complex triggering mechanisms Timing mode (make use of real time) Test if event ever occurs Measure time with respect to code length and response Control output signal patterns 21
22 Logic analyzer State mode (makes use of external time signals) Use the RE signal on memories to monitor memory access Trace of execution display: signal, hex value, assembly code, line nr. Trigger on a special event (memory access) and go backwards in time Trigger writing of bad values in RAM (NULL pointers as parameters) Filters on the data values are available 22
23 Using lab tools In circuit emulators Hardware devices emulating the whole processor Allow breakpoints and memory/registry inspection Desktop debugger + logic analyzer in one tool Logic analyzers are preferred: any processor, timing mode, better filters, easy to install Monitors Two parts: on the target system and on PC Can set up breakpoints, makes use of serial communication JTAG port (Joint Test Action Group) 23
24 Overview Debugging techniques Debugging a distributed system Lab information Preparation for the exam
25 Distributed systems Example: wireless sensor network deployment Setup: Large scale network (tens, hundreds of devices) Radio communication Difficult to access, outside deployments Distributed algorithms Jan Beutel: Deployment techniques for Sensor Networks 25
26 Typical deployments 26
27 Typical platforms 27
28 Example: Great Duck Island Details Summer 2002, Great Duck Island, gulf of Maine, USA 5000 burrows of Leach s Storm Petrels Hardware 43 nodes deployed for four months Sensors: light, temperature, humidity, pressure, infrared Solar powered gateway connected to a basestation (satellite connection) 123 days of experiment -> 1.1M samples (6.6M expected) 28
29 GDI experiment Failures: Hardware: water entered casings Sensors shared A/D converter One malfunctioning sensor corrupted all readings on nodes Transparent casing: high temperature inside Clocks & oscillators not working as expected Second deployment Multihop network Density too large: batteries drained Basestation failure due to harsh weather 29
30 LOFAR-Agro Summer 2005, Holland, precision agriculture Murphy loves potatoes Wrong commit to SVN Nodes were flashed with buggy code Software update delivered (and stored in external memory) Bug lead to continuous update of the network Batteries dead after 4 days Routing and MAC layers used different buffer sizes Watchdog protection -> triggered on all nodes within 2-6h Data collection 2% Gateway issues: power outage in the morning (solar) Nodes stored data also in FLASH -> bug 30
31 Deployment problems Node problems Low battery corrupt readings, software resets Counter overflows, WDT, incorrect downloads, sinks Link problems and paths problems Message loss, network congestions, asymmetric links Networking protocols, routing loops Global problems Partitioned networks, emergent behavior (resulting in latency) 31
32 Understanding the system Debugging does not involve only software! Four components Hardware Software Communication Environment 32
33 Node instrumentation Software instrumentation Extract the (partial) state of the system Source vs. Binary Probe effects, trampoline Operating system vs. Application Dynamic instrumentation Aspect oriented programming User specifies patterns Hardware instrumentation 33
34 Network instrumentation 34
35 Analyzing the system Monitoring and visualization Inferring network state from node state Failure detection Root cause analysis Node-level debugging Replay and checkpointing 35
36 Overview Debugging techniques Debugging a distributed system Lab information Preparation for the exam
37 FPGA Lab information Lab assignment (groups+schedule) -> website Passing lab = passing three assignments -> CPM Information for the lab X32 home page: Read: "X32 Programmer's Manual, "Running uc/os on the X32, "X32 Source-level Debugger, "X32 Design (MSc Thesis) Come prepared to the lab!!! Read information and write the code at home Without written code you will NOT be allowed in the lab Contact student assistants by for questions 37
38 Overview Debugging techniques Debugging a distributed system Lab information Preparation for the exam
39 Exam Details Material: Book + 2 articles + lecture notes (see website) Multiple choice questions English language Questions/clarifications if needed let me know! DO register for the exam You need to pass the lab for entering the exam You need to pass the exam to get a mark Final mark: 70% written exam; 30% practicum mark 39
40 Question Which of the following statements is NOT correct? An Embedded System a) has always human safety requirements b) may have interactions with the physical world c) may control controlling a technical entity d) is embedded in the physical world
41 Question Which factor determines the least delay until the execution of an interrupt? The shortest period of time a) during which the interrupt is enabled b) it takes to execute any higher priority ISR c) during which the context of the current task is restored d) during which another higher priority task is executing
42 Question Which of the following statements is correct? A reentrant function a) may be called by different tasks b) may not be called by different tasks c) must use hardware in a non atomic way d) may call any other function
43 Question Which requirements determine the choice of architecture (RR, RRI, FQS or RTOS) for an embedded system? a) Reliability requirements b) Safety requirements c) Scalability requirements d) User interface requirements
44 Question Which of the following statements is correct? The shared data problem can be solved through a) volatile sections b) non reentrant sections c) atomic sections d) critical sections
45 Question Which of the following statements is correct? The X32 platform a) is not equipped with an IR controller b) allows IR nesting c) prohibits IR priorities d) prohibits IR preemption
46 Question Which of the following statements is correct? An interrupt can be disabled in order to a) disable a critical section b) protect a critical section c) protect other interrupts d) enable context switches
47 Question Which of the following statements is correct? a) We cannot have a shared data problem in an RR architecture b) We cannot have a shared data problem in an RRI architecture c) We cannot have interrupt vectors in an FQS architecture d) We cannot have atomic sections in an RTS architecture
48 Question Which of the following statements is correct? Using interrupts impairs a) task response time b) higher priority ISR response time c) processor response time d) none of the above
49 Question Why should time slicing NOT be used in an RTOS? a) Equally important tasks require equal processor attention b) It creates too many data sharing problems c) Alternatively, all tasks could become one task d) It should be used; time slicing is essential in an RTOS
50 Question Which of the following statements is correct? An interrupt service routine is supposed to... a) disable the non maskable interrupt b) restore the lowest priority interrupt c) restore the context and return d) increase the program counter
51 Question For which kind of software architecture for embedded systems is the worst case response time for task code equaling the total execution time for all task code plus the execution time for interrupt routines? a) RR b) RRI c) FQS d) RTOS
52 Thank you for taking the TI2750-C course! 52
UNIT-IV EMBEDDED SOFTWARE DEVELOPMENT TOOLS
UNIT-IV EMBEDDED SOFTWARE DEVELOPMENT TOOLS UNIT IV Contents at a glance: I. Host and target machines II. linker/locators for embedded software III. getting embedded software into the target system DEBUGGING
More informationExam TI2720-C/TI2725-C Embedded Software
Exam TI2720-C/TI2725-C Embedded Software Wednesday April 16 2014 (18.30-21.30) Koen Langendoen In order to avoid misunderstanding on the syntactical correctness of code fragments in this examination, we
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Embedded Software TI2726-B January 29, 2018 13.30-15.00 This exam (6 pages) consists of 60 True/False
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Embedded Software TI2726-B January 28, 2019 13.30-15.00 This exam (6 pages) consists of 60 True/False
More informationEmbedded Software TI2725 C. 5. Software architectures. Koen Langendoen. Embedded Software Group
Embedded Software 5. Software architectures TI2725 C Koen Langendoen Embedded Software Group Lec.2: Interrupts & data sharing volatile static long int lsecondstoday; void interrupt vupdatetime() ++lsecondstoday;
More informationEmbedded Software TI2726 B. 7. Embedded software design. Koen Langendoen. Embedded Software Group
Embedded Software 7. Embedded software design TI2726 B Koen Langendoen Embedded Software Group Overview Timing services RTOS and ISRs Design of embedded systems General principles Timing Functionality
More informationInterrupt/Timer/DMA 1
Interrupt/Timer/DMA 1 Exception An exception is any condition that needs to halt normal execution of the instructions Examples - Reset - HWI - SWI 2 Interrupt Hardware interrupt Software interrupt Trap
More informationEmbedded Software TI2726 B. 4. Interrupts. Koen Langendoen. Embedded Software Group
Embedded Software 4. Interrupts TI2726 B Koen Langendoen Embedded Software Group What is an Interrupt? Asynchronous signal from hardware Synchronous signal from software Indicates the need for attention
More informationMicroprocessors & Interfacing
Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts
More informationInterrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1
Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR
More informationIn Class Assignment 2
In Class Assignment 2 Name: UMBC ID: Academic Integrity Statement: "Integrity of scholarship is essential for an academic community. The University expects that students will honor this. By signing this,
More informationIN4343 Real-Time Systems
IN4343 Real-Time Systems Koen Langendoen, TA (TBD) 2017-2018 Delft University of Technology Challenge the future Course outline Real-time systems Lectures theory instruction Exam Reinder Bril TU/e Practicum
More informationApril 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor
1 This presentation was part of TI s Monthly TMS320 DSP Technology Webcast Series April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor To view this 1-hour 1 webcast
More informationARM Cortex-M and RTOSs Are Meant for Each Other
ARM Cortex-M and RTOSs Are Meant for Each Other FEBRUARY 2018 JEAN J. LABROSSE Introduction Author µc/os series of software and books Numerous articles and blogs Lecturer Conferences Training Entrepreneur
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 5 Interrupts, modes of multi-tasking Wednesday Feb 1, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/31 Lecture outline Interrupts Internal, external,
More informationWind River. All Rights Reserved.
1 Using Simulation to Develop and Maintain a System of Connected Devices Didier Poirot Simics Technical Account Manager THE CHALLENGES OF DEVELOPING CONNECTED ELECTRONIC SYSTEMS 3 Mobile Networks Update
More informationABBOTT.C int idunno; ... whosonfirst(idunno); ... ABBOTT.OBJ. MOVE R1,(idunno) CALL whosonfirst HAHAHA.EXE MOVE R1,2388 CALL 1547 MOVE R1, R5
Chapter 9: Development tools Development tools for embedded systems must address some interesting and unique challenges Let s explore by considering a native tool chain tools that run on the host and prepare
More informationEmbedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.
Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Definition of an E.S. It is a system whose principal function is not computational,
More informationDeployment of Sensor Networks: Problems and Passive Inspection. Matthias Ringwald, Kay Römer (ETH Zurich)
Deployment of Sensor Networks: Problems and Passive Inspection Matthias Ringwald, Kay Römer (ETH Zurich) Sensor Networks Ad hoc network of sensor nodes Perceive real world (sensors) Process data (microcontroller)
More informationThe Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.
The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus
More informationProduct Update. Errata to Z8 Encore! 8K Series Silicon. Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later
Product Update Errata to Z8 Encore! 8K Series Silicon Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later The errata listed in Table 1 are found in the Z8 Encore! 8K Series devices with date codes
More informationFinal Exam Study Guide
Final Exam Study Guide Part 1 Closed book, no crib sheet Part 2 Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator, devices with wireless communication).
More informationIntegrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu
Integrating Concurrency Control and Energy Management in Device Drivers Chenyang Lu Overview Ø Concurrency Control: q Concurrency of I/O operations alone, not of threads in general q Synchronous vs. Asynchronous
More informationEMBEDDED SYSTEMS COURSE CURRICULUM
On a Mission to Transform Talent EMBEDDED SYSTEMS COURSE CURRICULUM Table of Contents Module 1: Basic Electronics and PCB Software Overview (Duration: 1 Week)...2 Module 2: Embedded C Programming (Duration:
More information8051 Microcontroller Interrupts
8051 Microcontroller Interrupts There are five interrupt sources for the 8051, which means that they can recognize 5 different events that can interrupt regular program execution. Each interrupt can be
More informationPC Interrupt Structure and 8259 DMA Controllers
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt
More informationOverview of Embedded Systems in Medical Applications
of Embedded Systems in Medical Applications 1 Embedded Systems Simplistic definition Embedded System Shorthand for Embedded Processor System Embed microprocessor + fixed program in non-computer system
More informationCS-3410 Systems Programming Spring 2013
CS-3410 Systems Programming Spring 2013 Course Description http://atomicrhubarb.com/systems This course introduces students to many concepts underlying all computer systems and ties together the basic
More information18-349: Introduction to Embedded Real-Time Systems
18-349: Introduction to Embedded Real-Time Systems Embedded Real-Time Systems Lecture 6: Timers and Interrupts Anthony Rowe Electrical and Computer Engineering Carnegie Mellon University Embedded Real-Time
More informationNCSU - ECE 306- Exam 2 March 27, 2003
NCSU - ECE 306- Exam 2 March 27, 2003 Name: User ID Question 1-15 16-22 23-Algo 23-code Total Score /45 /60 /15 /30 /150 You are permitted 75 minutes to take this test, no more. This is an open book/open
More informationLecture 2: September 9
CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user
More informationI/O Devices & Debugging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
I/O Devices & Debugging Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu I/O Devices Jasmine Block Diagram ICE3028: Embedded Systems Design (Spring
More informationChapter 4. Enhancing ARM7 architecture by embedding RTOS
Chapter 4 Enhancing ARM7 architecture by embedding RTOS 4.1 ARM7 architecture 4.2 ARM7TDMI processor core 4.3 Embedding RTOS on ARM7TDMI architecture 4.4 Block diagram of the Design 4.5 Hardware Design
More informationA First Look at Microprocessors
A First Look at Microprocessors using the The General Prototype Computer (GPC) model Part 4 Ports CPU Ecosystem All CPUs need RAM, ROM, a clock source and reset circuit, and power. Power Supply 1 Vio Vcore
More informationEMBEDDED SOFTWARE DEVELOPMENT. George Hadley 2017, Images Property of their Respective Owners
EMBEDDED SOFTWARE DEVELOPMENT George Hadley 2017, Images Property of their Respective Owners OUTLINE Embedded vs. General Purpose Programming Layers of Abstraction (Hardware, Interface, Application) Embedded
More informationIntegrating Concurrency Control and Energy Management in Device Drivers
Integrating Concurrency Control and Energy Management in Device Drivers Kevin Klues, Vlado Handziski, Chenyang Lu, Adam Wolisz, David Culler, David Gay, and Philip Levis Overview Concurrency Control: Concurrency
More informationChanging the Embedded World TM. Module 3: Getting Started Debugging
Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a
More informationDSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin
Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer
More informationUnit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION
Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Introduction A general purpose computer should have the ability to exchange information with a wide range of devices in varying environments. Computers
More informationECE251: Thursday September 27
ECE251: Thursday September 27 Exceptions: Interrupts and Resets Chapter in text and Lab #6. READ ALL this material! This will NOT be on the mid-term exam. Lab Practical Exam #1 Homework # due today at
More informationReal Time Embedded Systems. Lecture 1 January 17, 2012
Low-Power & Reset Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 1 January 17, 2012 Topic Section Topic Where in the books Catsoulis chapter/page Simon chapter/page Zilog UM197 (ZNEO
More informationSH69P48A EVB. Application Notes for SH69P48A EVB SH69V48A JP2 J4(ICE_J4) S1 IDD TEST JP1 74HC273 JP4 JP3 74HC273 JP6 STKOVE JP7 SW1 J5(ICE_J5)
SH69P48A EVB Application Notes for SH69P48A EVB The SH69P48A EVB is used to evaluate the SH69P48A chip's function for the development of application program. It contains of a SH69V48A chip to evaluate
More informationECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015
ECE 353 Lab 4 General MIDI Explorer Professor Daniel Holcomb Fall 2015 Where are we in Course Lab 0 Cache Simulator in C C programming, data structures Cache architecture and analysis Lab 1 Heat Flow Modeling
More informationMercury System SB310
Mercury System SB310 Ultrasonic Board - Product Datasheet Author Francesco Ficili Date 20/05/2018 Status Released Pag. 1 Revision History Version Date Author Changes 1.0 20/05/2018 Francesco Ficili Initial
More informationGetting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05
Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop Version 1.05 Agenda Introduction to ARM Cortex Cortex -M4F M4F and Peripherals Code Composer Studio Introduction to StellarisWare, I iti
More informationSome Basic Concepts EL6483. Spring EL6483 Some Basic Concepts Spring / 22
Some Basic Concepts EL6483 Spring 2016 EL6483 Some Basic Concepts Spring 2016 1 / 22 Embedded systems Embedded systems are rather ubiquitous these days (and increasing rapidly). By some estimates, there
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationIntroducing The MCS 251 Microcontroller -- 8XC251SB
E AP- 708 APPLICATION NOTE Introducing The MCS 251 Microcontroller -- 8XC251SB YONG-YAP SOH TECHNICAL MARKETING EIGHT-BIT MICROCONTROLLERS February 1995 Order Number: 272670-001 Intel Corporation makes
More informationImplementing a Serial Download Manager for Two 256K Byte Flash Memories
TN220 Implementing a Serial Download Manager for Two 256K Byte Flash Memories Disclaimer The programs described in this note are provided as a sample field reprogramming method only with no guarantees
More informationReset, Interrupts, Exceptions, and Break ECE 3534
Reset, Interrupts, Exceptions, and Break ECE 3534 1 Reset, Interrupts, Exceptions, Break These topics are closely related Both software and hardware aspects of a processor are involved On the MicroBlaze,
More informationProgramming in the MAXQ environment
AVAILABLE The in-circuit debugging and program-loading features of the MAXQ2000 microcontroller combine with IAR s Embedded Workbench development environment to provide C or assembly-level application
More informationECE2049: Embedded Computing in Engineering Design C Term Spring 2019 Lecture #22: MSP430F5529 Operating Mode & the WDT
ECE2049: Embedded Computing in Engineering Design C Term Spring 2019 Lecture #22: MSP430F5529 Operating Mode & the WDT Reading for Today: User's Guide 1.4, Ch 16 Reading for Next Class: Review all since
More informationOverview of Microcontroller and Embedded Systems
UNIT-III Overview of Microcontroller and Embedded Systems Embedded Hardware and Various Building Blocks: The basic hardware components of an embedded system shown in a block diagram in below figure. These
More information6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS
Lecture 2: Platforms & RTOS 1 Outline Lab Setup (20 min) Labs work Workbench + vxworks Documentations (15 min) Project Management (25 min) Host Shell (25 min) Lecture: Platform + RTOS 2 1 3 Microcomputer
More informationCSC227: Operating Systems Fall Chapter 1 INTERRUPTS. Dr. Soha S. Zaghloul
CSC227: Operating Systems Fall 2016 Chapter 1 INTERRUPTS Dr. Soha S. Zaghloul LAYOUT 1.3 Devices Controlling Techniques 1.3.1 Polling 1.3.2 Interrupts H/W Interrupts Interrupt Controller Process State
More informationI Introduction to Real-time Applications By Prawat Nagvajara
Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and
More informationTraining Kit for HP 1660/70 Series Logic Analyzers
Training Guide Publication Number E2433-97034 First Edition, November 1997 For Safety information, Warranties, and Regulatory information, see the pages behind the Index. Copyright Hewlett-Packard Company
More informationAVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.
AVR XMEGA TM Product Introduction 32-bit AVR UC3 AVR Flash Microcontrollers The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaavr The world s most successful
More informationEmbedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same
More informationEmbedded Operating Systems
Embedded Operating Systems Embedded Software Design 熊博安國立中正大學資訊工程研究所 pahsiung@cs.ccu.edu.tw Textbook: Programming Embedded Systems in C and C++, Michael Barr, O Reilly 1 Contents History and Purpose A
More informationPreemptive Scheduling
Preemptive Scheduling Lecture 18 18-1 Big Picture Methods learned so far We ve been using a foreground/background system Interrupt service routines run in foreground Task code runs in background Limitations
More informationEmbedded Systems. 2. Software Development. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 2. Software Development Lothar Thiele Computer Engineering and Networks Laboratory Remember: Computer Engineering I Compilation of a C program to machine language program: textual representation
More informationMeasuring Interrupt Latency
NXP Semiconductors Document Number: AN12078 Application Note Rev. 0, 10/2017 Measuring Interrupt Latency 1. Introduction The term interrupt latency refers to the delay between the start of an Interrupt
More informationA Methodology for Interrupt Analysis in Virtual Platforms
A Methodology for Interrupt Analysis in Virtual Platforms Puneet Dhar Accellera Systems Initiative 1 Agenda Introduction Interrupts in Virtual Prototyping Challenges in Debugging Interrupts Proposed Analysis
More informationDoCD IP Core. DCD on Chip Debug System v. 6.02
2018 DoCD IP Core DCD on Chip Debug System v. 6.02 C O M P A N Y O V E R V I E W Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was founded in 1999 and
More informationModule Introduction. PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events.
Module Introduction PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events. OBJECTIVES: - Describe the difference between resets and interrupts. - Identify
More informationLaboratory 2(b): Configuring an ADC with MicroBlaze. Authors: Trung N. Tran (National Instruments) Jeff C. Jensen (National Instruments)
Laboratory 2(b): Configuring an ADC with MicroBlaze Authors: Trung N. Tran (National Instruments) Jeff C. Jensen (National Instruments) Instructors: Edward A. Lee Sanjit A. Seshia University of California,
More informationLearning Module 9. Managing the Sensor: Embedded Computing. Paul Flikkema. Department of Electrical Engineering Northern Arizona University
Learning Module 9 Managing the Sensor: Embedded Computing Paul Flikkema Department of Electrical Engineering Northern Arizona University Outline Networked Embedded Systems Hardware Software Languages Operating
More informationCHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.
CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.
More informationNetwork Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,
Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete
More informationQUIZ Ch.6. The EAT for a two-level memory is given by:
QUIZ Ch.6 The EAT for a two-level memory is given by: EAT = H Access C + (1-H) Access MM. Derive a similar formula for three-level memory: L1, L2 and RAM. Hint: Instead of H, we now have H 1 and H 2. Source:
More informationLast 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture
Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the
More informationDevelopment Tools. 8-Bit Development Tools. Development Tools. AVR Development Tools
Development Tools AVR Development Tools This section describes some of the development tools that are available for the 8-bit AVR family. Atmel AVR Assembler Atmel AVR Simulator IAR ANSI C-Compiler, Assembler,
More informationChapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Objectives of Chapter To provide a grand tour of the major computer system components:
More informationWhat are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software
What are Embedded Systems? 1 Lecture 1 Introduction to Embedded Systems & Software Roopa Rangaswami October 9, 2002 Embedded systems are computer systems that monitor, respond to, or control an external
More informationCodewarrior for ColdFire (Eclipse) 10.0 Setup
Codewarrior for ColdFire (Eclipse) 10.0 Setup 1. Goal This document is designed to ensure that your Codewarrior for Coldfire v10.0 environment is correctly setup and to orient you to it basic functionality
More informationEMBEDDED SYSTEM BASICS AND APPLICATION
EMBEDDED SYSTEM BASICS AND APPLICATION Dr.Syed Ajmal IIT- Robotics TOPICS TO BE DISCUSSED System Embedded System Components Classifications Processors Other Hardware Software Applications 2 INTRODUCTION
More informationEMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015
EMBEDDED SYSTEMS: INTRODUCTION TO THE MSP432 MICROCONTROLLER Volume 1 First Edition June 2015 Jonathan W. Valvano ii Jonathan Valvano First edition 3 rd printing June 2015 The true engineering experience
More informationSH69P21 EVB. Application Note for SH69P21 EVB SH69P21 EVB SH69P21
SH69P21 EVB Application Note for SH69P21 EVB The SH69P21 EVB is used to evaluate the SH69P21 chip's function for the development of application program. It contains of a SH69V21 chip to evaluate the functions
More informationECE 354 Introduction to Lab 2. February 23 rd, 2003
ECE 354 Introduction to Lab 2 February 23 rd, 2003 Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system supervisors
More informationI/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems
I/O Systems (3): Clocks and Timers CSE 2431: Introduction to Operating Systems 1 Outline Clock Hardware Clock Software Soft Timers 2 Two Types of Clocks Simple clock: tied to the 110- or 220-volt power
More informationThese three counters can be programmed for either binary or BCD count.
S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.
More informationHZX N03 Bluetooth 4.0 Low Energy Module Datasheet
HZX-51822-16N03 Bluetooth 4.0 Low Energy Module Datasheet SHEN ZHEN HUAZHIXIN TECHNOLOGY LTD 2017.7 NAME : Bluetooth 4.0 Low Energy Module MODEL NO. : HZX-51822-16N03 VERSION : V1.0 1.Revision History
More informationFinding Firmware Defects Class T-18 Sean M. Beatty
Sean Beatty Sean Beatty is a Principal with High Impact Services in Indianapolis. He holds a BSEE from the University of Wisconsin - Milwaukee. Sean has worked in the embedded systems field since 1986,
More informationFreescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their
S08 Highlighted Features Why Do I Need a Slave LIN Interface Controller (SLIC)? Design Challenges Slave synchronization Slave synchronizing to LIN messaging requires a cost versus resource trade-off. Your
More informationCROSSWARE 7 V8051NT Virtual Workshop for Windows. q Significantly reduces software development timescales
CROSSWARE 7 V8051NT HIGHLIGHTS q Significantly reduces software development timescales q Enables debug and verification without hardware q Allows programmers to simulate complete target system 8051 Virtual
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 2. M68HC12 Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 2 M68HC12 Interrupt Dr. Tao Li 1 Reading Assignment Software and Hardware Engineering (New version): Chapter 12 or SHE (old version) Chapter 8 And
More informationLecture 3: Concurrency & Tasking
Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share
More informationECE 354 Computer Systems Lab II. Interrupts, Strings, and Busses
ECE 354 Computer Systems Lab II Interrupts, Strings, and Busses Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system
More informationGrundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Interrupts Günther Gridling Bettina Weiss 1 Interrupts Lecture Overview Definition Sources ISR Priorities & Nesting 2 Definition Interrupt: reaction to (asynchronous) external
More informationECE 372 Microcontroller Design Parallel IO Ports - Interrupts. ECE 372 Microcontroller Design Parallel IO Ports - Interrupts
Interrupts An interrupt can be compared with a phone call interrupting your task which you will resume when the call is finished You can mask an interrupt just as you can decide not to answer any phone
More informationDigital Control for Space Power Management Devices
Template reference : 100182079N-EN Digital Control for Space Power Management Devices Work conducted under ESA Contract nr.21826/08/nl/lvh DIGITAL POWER CONTROL Management of power devices via digital
More informationLast Time. Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads
Last Time Cost of nearly full resources RAM is limited Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads Embedded C Extensions for
More informationKeil uvision development story (Adapted from (Valvano, 2014a))
Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil
More informationHigh Reliability Systems. Lloyd Moore, President
High Reliability Systems Lloyd Moore, President Lloyd@CyberData-Robotics.com www.cyberdata-robotics.com Overview Appropriate Use of This Presentation Causes of Failures Watchdogs Memory Techniques Safer
More informationInterrupts and Low Power Features
ARM University Program 1 Copyright ARM Ltd 2013 Interrupts and Low Power Features Module Syllabus Interrupts What are interrupts? Why use interrupts? Interrupts Entering an Exception Handler Exiting an
More informationWelcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:
Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ece2049_labs.html You do not need to keep
More informationDesign and Implementation Interrupt Mechanism
Design and Implementation Interrupt Mechanism 1 Module Overview Study processor interruption; Design and implement of an interrupt mechanism which responds to interrupts from timer and UART; Program interrupt
More informationIntroduction to Parallel Performance Engineering
Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:
More informationAdministrative Details. CS 140 Final Review Session. Pre-Midterm. Plan For Today. Disks + I/O. Pre-Midterm, cont.
Administrative Details CS 140 Final Review Session Final exam: 12:15-3:15pm, Thursday March 18, Skilling Aud (here) Questions about course material or the exam? Post to the newsgroup with Exam Question
More information