An embedded systems overview document discusses embedded systems, including what they are, common types, hardware components, software, and operating systems. It defines embedded systems as systems that perform dedicated or fixed functions, which may be part of larger mechanical or electrical systems. Examples include appliances, vehicles, and industrial equipment. The document outlines categories of embedded systems based on complexity, and common hardware elements like microprocessors, memory, and peripherals. It also discusses layered embedded software and the roles of operating systems, device drivers, and application software.
LAS16-112: mbed OS Technical Overview
Speakers: Sam Grove
Date: September 26, 2016
★ Session Description ★
ARM mbed OS is an open source embedded operating system designed
specifically for the “things” in the Internet of Things. It includes all the features you need to develop a connected product based on very small memory footprint ARM Cortex-M microcontrollers, including security,connectivity, an RTOS, and drivers for sensors and I/O devices. You can start developing with mbed OS 5.1.0 today using a choice of 40 different development boards from 11 different providers and a wide choice of toolchains including a complete command line build management and configuration tool mbed CLI, industry standard desktop IDEs or ARM’s free online IDE.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-112
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-112/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Implementation of usb transceiver macrocell interfaceeSAT Journals
Abstract The universal serial bus (USB) transceiver macro cell interface (UTMI) is a two wire, bi-directional serial bus interface. UTMI consists of transmitting and receiving sections, in which the transmitter of the UTMI sends data to different USB devices through D+ and D- lines whereas the receiver gets data on the same lines. UTMI is one of the important functional blocks of USB controller, which can transmit and receive data to or from USB devices. There are three functional blocks present in USB controller; those are Serial Interface Engine (SIE), UTMI and Device Specific Logic (DSL). The parallel data from SIE is taken into the transmit hold register and this data is sent to transmit shift register from where the data is converted serially. This serial data is bit stuffed to perform data transitions for clock recovery and NRZI (1) encoding. Then the encoded data is sent on to the serial bus. When the data is received on the serial bus, it is decoded, bit unstuffed and is sent to receive shift register. After the shift register is full, the Data is sent to receive hold register. This presentation reveals the FPGA implementation of UTMI transmission rate providing with USB 2.0 specifications. Further UTMI has been designed by using VHDL code and simulated, synthesized and programmed to the targeted Spartan family of FPGA in the Xilinx environment. Index Terms: INTRODUCTION, USB TRANCIEVER MACROCELL INTERFACE AND DESIGN OF HARDWARE MODEL
LAS16-112: mbed OS Technical Overview
Speakers: Sam Grove
Date: September 26, 2016
★ Session Description ★
ARM mbed OS is an open source embedded operating system designed
specifically for the “things” in the Internet of Things. It includes all the features you need to develop a connected product based on very small memory footprint ARM Cortex-M microcontrollers, including security,connectivity, an RTOS, and drivers for sensors and I/O devices. You can start developing with mbed OS 5.1.0 today using a choice of 40 different development boards from 11 different providers and a wide choice of toolchains including a complete command line build management and configuration tool mbed CLI, industry standard desktop IDEs or ARM’s free online IDE.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-112
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-112/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Implementation of usb transceiver macrocell interfaceeSAT Journals
Abstract The universal serial bus (USB) transceiver macro cell interface (UTMI) is a two wire, bi-directional serial bus interface. UTMI consists of transmitting and receiving sections, in which the transmitter of the UTMI sends data to different USB devices through D+ and D- lines whereas the receiver gets data on the same lines. UTMI is one of the important functional blocks of USB controller, which can transmit and receive data to or from USB devices. There are three functional blocks present in USB controller; those are Serial Interface Engine (SIE), UTMI and Device Specific Logic (DSL). The parallel data from SIE is taken into the transmit hold register and this data is sent to transmit shift register from where the data is converted serially. This serial data is bit stuffed to perform data transitions for clock recovery and NRZI (1) encoding. Then the encoded data is sent on to the serial bus. When the data is received on the serial bus, it is decoded, bit unstuffed and is sent to receive shift register. After the shift register is full, the Data is sent to receive hold register. This presentation reveals the FPGA implementation of UTMI transmission rate providing with USB 2.0 specifications. Further UTMI has been designed by using VHDL code and simulated, synthesized and programmed to the targeted Spartan family of FPGA in the Xilinx environment. Index Terms: INTRODUCTION, USB TRANCIEVER MACROCELL INTERFACE AND DESIGN OF HARDWARE MODEL
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
The objectives of DVFS is:
- To optimize resource allotment for tasks and maximize power saving when those resources are not needed.
- To use the optimal operating frequency and voltage to allow a task to be performed in the required amount of time.
- To maximize battery life and longevity of devices while still maintaining ready compute performance availability.
This lesson on System-on-Chip was given for the course "Advanced Platform Architectures and Mapping Methods for Embedded Applications" at the KU Leuven and is based on chapter 8 of 'A Practical Introduction to Hardware Software Codesign (Schaumont P.)'
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
The objectives of DVFS is:
- To optimize resource allotment for tasks and maximize power saving when those resources are not needed.
- To use the optimal operating frequency and voltage to allow a task to be performed in the required amount of time.
- To maximize battery life and longevity of devices while still maintaining ready compute performance availability.
This lesson on System-on-Chip was given for the course "Advanced Platform Architectures and Mapping Methods for Embedded Applications" at the KU Leuven and is based on chapter 8 of 'A Practical Introduction to Hardware Software Codesign (Schaumont P.)'
Embedded system, basic structure, characteristics, advantages, disadvantages of Embedded system, open source Embedded platforms and its benefits, sensors, actuators, DAS.
Introduction to computer systems. Architecture of computer systems.TazhikDukenov
Review of computer systems. Evolution of computer systems. Architecture and components of computer systems. Use of computer systems. Data representation in computer systems.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
2. AGENDA OF DISCUSSION
• What is an Embedded System
• Embedded Systems Market (Current/Futuristic &
Career wise)
• Types of Embedded Systems
• Embedded Hardware
• Embedded Software
• Embedded OS and Related Topic
• RTOS Brief
• Embedded Software Development Brief
• If possible a demo with actual Hardware
6. What is an Embedded System
• Original Definition
– System which is supposed to be doing a dedicated or a
fixed functionality
– Part of bigger electrical or mechanical system (ex:
refrigerator display control, car dashboard)
– May or may not have direct user interface
• Updated Definition (My understanding)
• System which can do single to multiple functions based on
the availability of resources
• Can be part of bigger system or may independently exist
(mobile phones, WiFi Routers)
• May or may not have user interface
7. Perceived Constraints of Embedded
System
• Memory Footprint
• Real time behavior
– Hard requirement
• Example: Car Breaking System
– Soft requirement
• Example: Audio System
• Power
• Cost
– Reducing the bill of materials on System design
• Time to Market
– For the success of the product
9. Types of Embedded Systems
• Simple Systems
Ex: Simple digital watch, AC
remote control unit, Washing
machine motor control unit
• Medium Complexity
Systems
Ex: Home WiFi Router, Set-top
boxes, PoS, Music players
• Medium ~High
Complexity Systems
Ex: Smart Phones, Video gaming
gadgets, High-End Digital Cameras
etc.
Classification done on the
basis of
• Functionality (or multi-
functionality) expected
out of these systems
• Performance requirement
from these systems
• How many and how much
powerful hardware
resources do they employ
• Complexity of Software
running on it
10. Simple Embedded Systems
• Simple Systems
– Mostly performing dedicated functionality or a single
functionality
– Low on Hardware resources (not only in terms of
number but also in terms of capacity of resource)
– Running simple software mostly without an OS
– Microcontroller based systems
– Generally cheaper in terms of cost
11. Medium Complex Embedded Systems
• Medium Complexity Systems
– Performing more than one functionality
– Computing hardware resources employed are medium
– Running software with minimal OS or no OS. May
employ an RTOS
– Microcontroller/Microprocessor based system
– May employ an SoC based architecture
12. Medium-to-High Complex Embedded
Systems
• Medium-to-High Complexity Systems
– Performing a large number of functionalities
– Employs high number of computing hardware
resources. Also the resource configuration is on the
higher side
– Running complex software by employing GPOS or
RTOS, Software Stacks (ex: TCP/IP) and library
framework
– Usually Microprocessor based system or may employ
SoC based architecture
14. Embedded Systems Hardware
What does Embedded System Hardware consist of
• CPU (Or Microprocessor, Microcontroller, Core etc)
• Peripherals
– Chip Based Peripherals
– External Peripherals
• Memory (Must peripheral)
– Internal Memory
– External Memory
• Bus
– Internal BUS
– External BUS
15. Embedded Systems Hardware
• Architecture (ex: ARM v7)
– Family of processor designs in
architecture reference manual
• Micro Architecture (ex: ARM Cortex A9)
– Visible behavior of the architecture
– Example: Number of pipeline stages
• Processor (TI, Toshiba, Freescale)
– Individual implementation of Micro
Architecture
• Core (Single to Many)
– Logical unit in multi core processor
• SoC (TI Sitara, Toshiba Applite TZ2100)
– One or more processors with memory and
peripherals
• Board (Arduino, Beaglebone,
RBTZ2100)
– Complete hardware of the system with SoC,
memory and external bus bus based
peripherals
Board
SoC
Core
Processor
Micro
Arch
Arch
itect
ure
22. Embedded Systems Software
• What is a Embedded System Software
– Software which interacts with the hardware
– Perform the user expected functionality within the
performance requirement
– Based on functional complexity and performance expectation,
embedded software may be layered
Hardware
Embedded Software
User
Hardware
User
LaLayer -1 Embedded Software
aLayer -2 Embedded Software
aLayer -n Embedded Software
23. Embedded System Software Example -1
• Software Needed
1. Software to interact with
ADC chip and SENSOR
2. Software to interact with
DISPLAY/DISPLAY
CONTROLLER
3. Software to store read
sensor data into memory
(SRAM)
4. Software to compute the
count of temp/pressure
reached particular
5. Software to convert temp
from Celsius to
Fahrenheit
• Simple Use Case:
– Read the Data from Temperature/Pressure Sensor by button press on display and show the measured
data on a simple display
– Compute how many times temperature/pressure particular value in a day.
– Convert temperature from Celsius to Fahrenheit
CPU
ADC
SRAM
DISP
CONTROLLER
CLOCK
SENSOR
DISPLAY &
USER
INPUT
PHYSICAL INPUT
(EX: TEMP,
PRESSURE ETC
24. Embedded Systems Software Example -1
• Software Layering for this
example
Hardware
User
LaLayer -1 (Application Software)
aLayer -2 ( Device Driver Software)
• Hardware Interaction
software (or Device Driver)
1. Software to interact with
ADC chip and SENSOR
2. Software to interact with
DISPLAY/DISPLAY
CONTROLLER
3. Software to store read
sensor data into memory
(SRAM)
• Software Functionality
expected from User (or
Application Software)
1. Software to compute the
count of temp/pressure
reached particular value
2. Software to convert temp
from Celsius to
Fahrenheit
25. Embedded System Software Example -2
• Complex Use Case:
– All the functionalities done by Simple use case done earlier
– Update the temperature and pressure data above to a network server based on regular interval
– Store regular interval measured data to local storage device
– Have a USB connection to this device which can read the stored data from storage device
CPU
ADC
SRAM
DISP & BTN
CONTROLLER
SENSOR
Display &
User Input
PHYSICAL INPUT
(EX: TEMP,
PRESSURE ETC
USB
Controller
Network
Controller
Flash
Controller
USB Port
PHY CHIP/ETH
Port
Flash
Memory
CLOCK
Timer
RAM
Controller
RAM
Memory
INT
controller
Internal
Bus
External
Bus
PARALLEL BUS
SERIAL BUS (USB)
PARALLEL BUS
SERIAL BUS (SPI)
SERIAL BUS (SPI)
SoC
BOARD
NETWORK
SERVER
USB HOST
26. Embedded System Software Example -2
• Hardware Needed
1. Support for network based data
transfer - Network Card/Phy
Chip/ETH Port & Network
controller
2. Support for USB based data
transfer and storage - USB
Controller/USB Port
3. Support for external RAM to
perform memory based operations
- RAM controller
4. Support for storing data as well as
OS image - Flash Device/Flash
controller
5. Support for time counting
operations - Timer Chip/ETH
6. Support for handling event based
requests - Interrupt controller
7. Software to interact with ADC chip
and SENSOR
• Software Needed
1. Software to interact with hardware
• DISPLAY/BTN CONTROLLER
• Network Card/Phy Chip/ETH Port & Network controller
• USB Controller/USB Port
• RAM controller
• Flash Device/Flash controller
2. Software to manage multi-tasking, memory mgmt, file &
device mgmt, network mgmt etc.
3. Software libraries to manage repeated
functionalities/system call interface, network stack
(TCP/IP) etc.
4. Software to do the actual user required application
handling
• Task to take input from the user and show on the display
• Task for computing the count of temp/pressure after it
crossed particular value. Convert temp from Celsius to
Fahrenheit
• Task to intermittently read sensor data and store into flash
on regular interval
• Task to intermittently read sensor data and send it to
Network server
• Task to reading the sensor data from flash and transfer to
USB device
As the usecase starts becoming complex, hardware and software
requirement in terms of numbers as well as capacity increase
27. Embedded Systems Software Example -2
Software Layering for this example
Hardware
User
LaLayer -1 (Application Software)
LaLayer -2 (Libraries & System Call Interface)
aLayer -3 ( OS Layer)
aLayer -4 ( Device Driver Layer (Part of OS))
Software libraries to manage repeated
functionalities/system call interface, network
stack (TCP/IP) etc.
Software for actual user required application handling
• Task to take input from the user and show on the display
• Task for computing the count of temp/pressure after it crossed
particular value. Convert temp from Celsius to Fahrenheit
• Task to intermittently read sensor data and store into flash on
regular interval
• Task to intermittently read sensor data and send it to Network
server
• Task to reading the sensor data from flash and transfer to USB
device
Software to manage multi-tasking, memory
mgmt, file & device mgmt, network mgmt etc.
Software to interact with hardware
• DISPLAY/BTN CONTROLLER
• Network Card/Phy Chip/ETH Port & Network
controller
• USB Controller/USB Port
• RAM controller
• Flash Device/Flash controller
29. OS / Device Driver Layer
aLayer -3 ( OS Layer)
aLayer -4 ( Device Driver
Layer (Part of OS))
At a broad level you can classify OS into two categories
GPOS General Purpose Operating System
- Generally used in Medium-High Complex System
- Predictability of response time is not very critical
- Deployed in Systems where underlying HW
configuration is on high
Ex: Windows, Linux (or Embedded Linux), MacOS
RTOS Real Time Operating System
- Generally used in Simple-Medium Complex Systems
- Predictability of response time is very critical
- Deployed in Systems where underlying HW
configuration is on low/medium
Ex: FreeRTOS, uITRON based OS (uC3, TOPPERS),
VxWorks
Typical Linux
Software Stack
32. Process
• Process – a program in execution; process execution must progress in
sequential fashion
• Textbook uses the terms process, tasks and jobs almost interchangeably
• Multiple parts
– The program code, also called text section
– Current activity including program counter, processor registers
– Stack containing temporary data
• Function parameters, return addresses, local variables
– Data section containing global variables
– Heap containing memory dynamically allocated during run time
• Program is passive entity stored on disk (executable file), process is active
– Program becomes process when executable file loaded into memory
• Execution of program started via GUI mouse clicks, command line entry of its
name, etc
• One program can be several processes
– Consider multiple users executing the same program
33. Process States
• As a process executes, it changes state
– new: The process is being created
– running: Instructions are being executed
– waiting: The process is waiting for some event
to occur
– ready: The process is waiting to be assigned to
a processor
– terminated: The process has finished execution
34. IPC
• Processes within a system may be independent or
cooperating
• Cooperating process can affect or be affected by other
processes, including sharing data
• Reasons for cooperating processes:
– Information sharing
– Computation speedup
– Modularity
– Convenience
• Cooperating processes need interprocess communication
(IPC)
• Two models of IPC
– Shared memory
– Message passing
37. RTOS and Types of RTOS
• RTOS is a pre-emptive
multitasking operating
system intended for real-
time applications
• Predictable OS timing
behavior
• Able to determine task’s
completion time
• A system of priority
inheritance has to exist
• Guarantees task
completion at a set
deadline.
• Hard Real-Time system
– A hard real-time system guarantees that
real-time tasks be completed within
their required deadlines
– Failure to meet a single deadline may
lead to a critical system failure
– Examples: air traffic control , vehicle
subsystems control, medical systems
• Soft Real-Time system
– The soft real-time definition allows for
frequently missed deadlines
– If the system fails to meet the deadline,
possibly more than once ,the system is
not considered to have failed
– Example : Multimedia streaming , Video
games
38. Task Management in RTOS
• Tasks are implemented
as threads in RTOS
• Have timing constraints
for tasks
• Each task a triplet:
(execution time, period,
deadline)
• Can be initiated any
time during the period
39. What are interrupts?
• In systems programming, an interrupt is a signal to the processor.
• It can be emitted either by hardware or software indicating an event that needs
immediate attention.
Hardware
Software
(Exception/
Trap)
Software
(Instruction
set)
Interrupt
Request(IRQ)
sent from
device to
processor.
Exception/Tr
ap sent from
processor to
processor,
caused by an
exceptional
condition in
the
processor
itself.
A special
instruction in
the instruction
set which
causes an
interrupt when
it is executed.
Ex: Keyboard
and many
other
peripheral
device
Ex: Division
by zero
Ex: Usually as a
system call
from
Application to
Kernel
40. Interrupt Latency and Why it is
Important for RTOS
• Interrupt latency refers primarily to the software interrupt
handling latencies.
• In other words, the amount of time that elapses from the
time that an external interrupt arrives at the processor until
the time that the interrupt processing begins.
• One of the most important aspects of kernel real-time
performance is the ability to service an interrupt request
(IRQ) within a specified amount of time.
42. Embedded Systems Software
Development Approach
• Target System:
Actual
Embedded
System. System
on which you
will run software
• Host System:
System on which
you will design,
develop and
compile the
source code.