. (in any software development there are always risk of getting wrong. And this model used to reduce that risk.)
(The speed of communications is an important consideration when selecting host and target development environments. A LAN connection is usually a better choice, because the communication is faster and many host can easily share a single target.)
Where a target environment does not support a direct connection with the host environment, or at levels of testing where a direct connection to the host environment is precluded, indirect connections have to be used. Figure A.2 shows the use of an emulator to connect to a target, with the interface from the host environment to the emulator being serial (a), LAN (b), or parallel (c).
(Some embedded systems will not have a display or keyboard, or any means of attaching a display or keyboard should one be needed.)
NDI LANG 6 ANG tyPES NA HOST TARGET COMMUNICATIONS MARAMI PA PERO ALTHOUGH NDI Q NA MASASABI LAHAT ng TYPES OF Host- target COMMUNICATIONS.ang lahat naman ng 6 na ito ay applicable sa iba pang types at very similar din sila dito.
Embedded sotfware dev. ToolsAng host at tart are tools in embedded software dev. Which on host computer software dev is performed e.g compiler, assembler, linker, locator, and debugger.At ang lahat ng ma proproduces nitong task at pdeng executed sa binary image na mag ru2n sa target embedded system.
Konting intro langsa programming ng embedded systemsEmbedded system programming requires complex software build process.Target hardware platform kase ay ibasa development platform an sabe ay ang development platform ay tinatawagna host computer karaniwan purpose computer host computer angtawagdito, na nag ru2n ng complier assembler linker locator paramakagawang binary image
It 443 lecture 1
Overview By: A. Caparas IT443
Introduction Over the past decade, there has been a steady increase in the number of applications that demand customized computer systems that offer high performance at low cost. These applications are, more often than not, characterized by the need to process large amounts of data in real time. Examples include consumer electronics, scientific computing, and signal processing systems. Constraints on performance, cost and power make software implementations of data processing algorithms for such systems infeasible. Non-programmable hardware, however, does not support modifications of algorithms. The solution to this dilemma has been to develop application- specific hardware that is flexible programmable – these systems are commonly referred to as embedded systems
Introduction…. An embedded system is a "behind the scenes" computer which, when combined with resident software applications, provides functionality typically focused on a single, specialized purpose. Embedded systems typically include embedded software that is burned into : Eraseable Programmable Read Only Memory (EPROM) or resident in memory, special-purpose hardware, and Field Programmable Gate Arrays (FPGAs); often there are stringent requirements on power consumption, performance, and cost. Embedded systems cannot be redesigned or removed easily once the device that incorporates the system has been built. Embedded systems development thus requires concurrent work on both hardware and software components.
Embedded system:the design A system can be defined as a group of devices or artificial objects or an organization forming a network especially for distributing something or serving a common purpose. To embed a system into some object means to make that system an integral part of the object. When an engineer talks about an embedded system, he or she is usually referring to a system that satisfies a well-defined need at a specific instant in time. The system is usually dedicated to that need, and its operational limits are clearly defined: lifetime, power consumption, performance, and so on. The system usually has limited capabilities for future development, simply because it is permanently installed in a device that provides a certain service to its user.
Embedded system:the design…. Examples include DSP processors in hand-held communication devices, programmable controllers installed in robots or cars, and video signal processors in television sets. the design. Because these systems cannot be redesigned or removed easily once the device that incorporates the embedded system is built, the development procedure must produce a correct system that meets all of its operational requirements. An embedded system consists of both hardware and software components. The performance and cost constraints make it necessary for the design engineer to explore a combination of possible hardware architectures or custom hardware components and software or programmable parts that would best suit the nature of the application. Hence, the division between the programmable and non-programmable components and their interface can become a critical issue in the design.
Embedded life cycle First a need or opportunity to deploy new technology is identified. Then a product concept is developed. This is followed by concurrent product and manufacturing process design, production, and deployment But in many embedded systems, the designer must see past deployment and take into account support, maintenance, upgrades, and system retirement issues in order to actually create a profitable design.
Design considerations 1 Component acquisition Because an embedded system may be more application-driven than a typical technology-driven desktop computer design, there may be more leeway in component selection. Thus, component acquisition costs can be taken into account when optimizing system life-cycle cost 2 System certification Embedded computers can affect the safety as well as the performance the system. Therefore, rigorous qualification procedures are necessary in some systems after any design change in order to assess and reduce the risk of malfunction or unanticipated sys system failure. One strategy to minimize the cost of system recertification is to delay all design changes until major system upgrades occur.
Design considerations… Furthermore, each design change should be tested for compatibility with various system configurations, and accommodated by the configuration management database 3 Upgrades Because of the long life of many embedded systems, upgrades to electronic components and software may be used to update functionality and extend the life of the embedded system with respect to competing with replacement equipment. . While it may often be the case that an electronics upgrade involves completely replacing circuit boards, it is important to realize that the rest of the system will remain unchanged. Therefore, any special behaviors, interfaces, and undocumented features must be taken into account when performing the upgrade. Also, upgrades may be subject to recertification requirements.
Embedded applications 4.1 Military Communications, radar, sonar, image processing, navigation, missile guidance 4.2 Automotive Engine control, brake control, vibration analysis, cellular telephones, digital radio, air bags, driver navigation systems 4.3 Medical Hearing aids, patient monitoring, ultrasound equipment, image processing, Topography
Embedded applications…. 4.4 Telecommunications Echo cancellation, facsimile, speaker phones, personal communication systems (PCS), video conferencing, packet switching, data encryption, channel multiplexing, adaptive equalization 4.5 Consumer Radar detectors, power tools, digital TV, music synthesizers, toys, video games, telephones, answering machines, personal digital assistants, paging 4.6 Industrial Robotics, numeric control, security access, visual inspection, lathe control, computer aided manufacturing (CAM), noise cancellation.
Embedded internet Used in everything from consumer electronics to industrial equipment, embedded systems —small, specialized computer systems stored on a single microprocessor — are playing a major role in the growth of the Internet and the boom of wireless communication channels. Due in part to embedded systems, more and more consumer products and industrial equipment are becoming Internet-friendly.
Embedded internet…. - The future of embedded Internet in an unlimited array of appliances and applications designed to create, connect and make smarter the things that people use everyday. - Operating in the background embedded Internet will connect home appliances to each other and to the homeowner, shop floor tools will connect to data gathering systems and hospitals will connect to laboratories. - This ubiquitous computing environment is becoming a reality, with embedded systems starting to be connected to the Internet, creating a new market category of embedded Internet systems. - One feature of embedding devices is the ability of appliances to send their own e-mails. For example, a fetal monitor could routinely call a hospitals computer system and transmit a daily log of fetal activity. - Or a home security system could send an email to both a security service and a homeowner, informing them of a possible problem. Another feature is Web serving, where a machine tools web page served-up information on interrupts and maintenance records.
Embedded internet…. -How embedded communications is going to be accomplished is part of the excitement in the unfolding of the concept. -Obviously, applying lessons learned from the PC and networking will speed the adoption of embedded Internet. - First, standards are key. Second, use of the Web browser as the universal interface will speed deployment and acceptance because it is familiar, requires little training and can be programmed for rich content. -Third is the truth of "Metcalfs law," which states that the value of a node on a network increases exponentially as the number of nodes on that network increases. -Device-to-device communications will take network connectivity into thousands of everyday items. -Many businesses are already using embedded technology to innovate with voice, video, and data traffic, hoping to set the stage for a competitive advantage in the future.
Characteristics 1. Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also real time have performance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs. 2. Embedded systems are not always standalone devices. Many embedded systems consist of small, computerized parts within a larger device that serves a more general purpose. For example, the Gibson Robot Guitar features an embedded system for tuning the strings, but the overall purpose of the Robot Guitar is, of course, to play music. Similarly, an embedded system in an automobile provides a specific function as a subsystem of the car itself.
Characteristics……. 1. The program instructions written for embedded systems are referred to as firmware, and are stored in read-only memory or Flash memory chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard and/or screen.
Simplification, miniaturization and cost reduction Embedded systems are designed to perform simple, repeatable task often with little or no input form the user. Since the first microprocessor was introduced into pocket calculators there has been a concerted drive to reduce the size and complexity of computerized systems in electronic devices. Microcontrollers make integrated systems possible by combining several features together into what is effectively a complete a computer on a chip, including: Central Processing Unit Input / Output interfaces (such as serial ports) Peripherals ( such as timers ) ROM, EEPROM or Flash memory for program storage RAM for data storage Clock generator
Uses of embedded system Size and Weight: Microcontrollers are designed to deliver maximum performance for minimum size and weight. A centralized on-board computer system would greatly outweigh a collection of microcontrollers. Efficiency: Microcontrollers are designed to perform repeated functions for long periods of time without failing or requiring service. Other computer systems are prone to software and hardware failure as well as a whole host of other problems recognizable to the users of any home computer. Above all other considerations, computer systems must be 100% reliable when trusted to control such functions as braking in an automobile.
Downfall of embedded system Embedded systems are not designed for user interaction, so the majority of embedded system are just that embedded within the product, with no easy method of updating or repairing their software.
1. Introduction Embedded Systems are widely spread and commonly used nowadays. Almost every electronically device implements an embedded system, like for instance a washing machine or a microwave oven. Given this vast number of possible application areas, input and output is an important topic concerning embedded systems, for almost every embedded system has to communicate with it’s environment, either the one or the other way.
1. 2 Implementation data is given to a processing unit, which processes thedata end gives out the results.Concerning embedded systems it is basically the same.Data is measured by sensors, passed to the processingunit and then given out.Usually memory chips are used to buffer that data, so inmost cases the data is copied from the sensors into abuffer, than processed and then copied back into anotherbuffer.
1. 3 Type of I/O devices • Devices for Networks and Communication • Input • Graphics I/O • Storage I/O • Debugging I/O • Real time & Miscellaneous
1.4 I/O PerformanceThe data rates of the I/O devices: the actual amount of datathat is delivered from the I/O device. Commonly it is measured in data per timeslice, Mbits per second for example.How to synchronize the speed of the master processor withthe speed of the I/O: The speed of the processing unit should be designed that it can handle all data delivered by the I/O devices (or vice versa)
1.4 I/O Performance The speed of the master processor: the clock rate of theprocessing unit, usually measured in Mhz. If the processing unit is fast and the I/O device slow the it can process way more data then deliver and might run idle must of the time, whereas the other way round it might occur that the master processor is not able to process all the data delivered by the I/O device
1.5 Interrupts Interrupts are the common way of I/O devices communicating with the processing unit. There are other ways like polling or memory mapping, though. An interrupt is an event which stops the master processor executing its current instruction and handling the interrupt with a predefined handling mechanism.
2. Managing Data Managing data is also one of the most important fieldsdealing with input/output. Basically, there are two main types of managing data: 1. Managing data serially 2. and Managing data parallely.
Components of a serial I/O HardwareIf I/O hardware is supposed to deal with data serially, itusually consists of the components mentioned in 1.3 and alsoincludes the following:• Serial port• Serial interface, responsible for sending / receiving dataIn serial communication, there are different ways in whichcommunication can occur
Serial Simplex CommunicationSerial Half – Duplex CommunicationSerial Full – Duplex Communication •Asynchronous Full Duplex •Synchronous Full Duplex
2.3 Buses All major components on a system-board which have toexchange data are connected via buses.On hardware level a bus is nothing else than a bundle ofwires which carry all various kinds of data.
3. The CAN (Controller Area Network) Busin detailThe CAN – Bus is an asynchronous serial bus developed byRobert Bosh GmbH. Its purpose is to connect control units in cars, send data in real time at the highest possible level of transmission security and reducing the amount of cables used. This was necessary since more and more electronically devices were installed in vehicles.
Communication via a CAN Bus A CAN is actually very similar to a common peer to peernetwork. Every node in this network is connected with the other nodes, and if a node wants to send a message to another node it simply sends a CAN-Frame to all other nodes.
Types of CAN - Buses • High-speed CAN • Low-Speed /Fault tolerant CAN • Single Wire CAN
A real-time operating system (RTOS) is an operating system that guarantees a certain capability within a specified time constraint.
Learning the difference between real-time and standard operating systems is as easy as imagining yourself in a computer game.
In RTOS the keyword isdeterminism. Violation of thespecified timing constraints is (normally) considered catastrophic.
Some people make a distinction between soft and hard RTOS, but in fact theres no such strict distinction possible.
Real-time operating systems areoften required in small embedded operating systems that arepackaged as part of micro devices.
In general, real-time operatingsystems are said to require: Multitasking Process threads that can be prioritized A sufficient number of interrupt levels
Perfect Definition: An RTOS is an operating system designed to meet strict deadlines.
An RTOS may be eitherevent-driven or time-sharing.
Event-driven RTOS is a systemthat changes state only in response to an incoming event.
Time-sharing RTOS is asystem that changes state as a function of time.
The heart of a real-time OS (and the heart of every OS, for that matter) is the kernel. A kernel is the central core of an operating system.
Issues in Real Time System DesignScheduling tasksFailureResources and servicesComplexity
Scheduling of Task It’s essential that the sequence is determined in a deterministic way, but the scheduler might not suffice here.
Failure To detect failure the system designer should implement watchdog systems. If the main program neglects to regularly service the watchdog, it can trigger a system reset.
Resources and Services In the context of resources and services the term Quality of Service (QoS) is important. The programmer should take into account “worst case scenarios”
Complexity C1 has centralized hardware and a centralized state. C2 is an intermediate level and it has decentralized hardware and a centralized state. C3 has decentralized hardware and a decentralized state.
WHAT IS EMBEDDED SYSTEM Embedded System is a Computer hardware, Software, other parts designed to perform a Specific function and a component within larger system - cars, air/spacecraft. Each embedded system is unique, with specialized hardware and specialized software Embedded software in almost every electronic device. (eg. watches, VCRs, Cellular phones, microwaves, thermostats)
STEPS IN EMBEDDED SOFTWAREDEVELOPMENT Steps involved in preparing embedded software similar to general programming . Follow a Software Design Process (eg. SDLC,RAD,etc) Use Spiral Model. Know the specifications of hardware requirements of the program.
HOST TARGET DICHOTOMY DICHOTOMY? A dichotomy is any splitting of a whole into exactly two non-overlapping parts, meaning it is a procedure in which a whole is divided into two parts. Therefore Host and Target are subsets of a set. And to make it whole. The two must link to each other. This link is called of Host-Target Communications.
HOST TARGET COMMUNICATIONS There a 6 types of Host/Target communications. This communications link. Direct Connection Using Emulator Indirect Connection using removal media software Transfer using PROM Target Display Option A Second Interface
CONT’ HOST TARGET COMMUNICATIONSDirect Connection The host is connected directly to Target. Software from the host is downloaded to the target usually through a serial interface or a LAN.
CONT’ HOST TARGET COMMUNICATIONSUsing Emulator The used of an emulator to connect a target, with the interface from the host environment to the emulator being SERIAL, LAN or PARALLEL.
CONT’ HOST TARGET COMMUNICATIONSIndirect Connection using removal media The transfer of software using removable media such as floppy disc and tape cartridges. Removable media is often the method of choice when the target is a general purpose computer.
CONT’ HOST TARGET COMMUNICATIONSSoftware Transfer using PROM The use of Programmable Read Only Memory (PROM) to transfer software to the target, is usually the final stage of embedded system development. at this stage in the life cycle the main activity is system testing and acceptance testing, with the real world input and output.
CONT’ HOST TARGET COMMUNICATIONSTarget Display Option A display in the target environment being simulated by the host, with the associated display appearing in a window on the host display
CONT’ HOST TARGET COMMUNICATIONSA Second Interface Sometimes it will not be possible to use a single host-target interface for both downloading the target test software and for returning test results to the host. The simple solution is a second interface, The second interface need not be the same type of interface as the download interface. an emulator could be used to download and run target test program, with the results being returned to the host through a serial interface.
Embedded Software Development tools Host and Target are tools in Embedded Software Development. Software Development is performed on a Host computer (Compiler, Assembler, Linker, Locator, and Debugger).Produces executable binary image that will run on Target Embedded system.
PROGRAMMING EMBEDDED SYTEMS Embedded systems Programming requires more complex software build process. Target hardware platform is different from development platform. Development platform, called Host Computer, is typically a general purpose computer Host computer runs compiler, assembler, linker, locator to create a binary image that will run on the target embedded system.