Académique Documents
Professionnel Documents
Culture Documents
UNIT-1
EMBEDDED
ARCHITECTURE
TOPICS COVERED
Embedded Computers
Characteristics of Embedded Computing Applications
Challenges in Embedded System Design
Embedded System Design Process –
Requirements,
Specification,
Architectural Design,
Designing Hardware and Software Components,
System Integration.
EMBEDDED COMPUTERS
Computers have been embedded into applications
since the earliest days of computing.
Eg : Whirlwind
A computer designed at MIT in the late 1940s and
early 1950s.
Support real-time operation
It has a mechanism for controlling an aircraft
simulator.
Extremely large physically when compared to
today’s computers (e.g., it contained over 4,000
vacuum tubes)
Computers were proposed to control chemical
processes in the late 1940s
A microprocessor is a single-chip CPU.
The first microprocessor, the Intel 4004,was
designed for an embedded application
Eg: Calculator.
Manufacturing cost
Performance (both overall speed and deadlines)
Power consumption.
Tasks to be performed at every
step in the design process.
g)Power:
UNIT-2
REAL TIME OPERATING SYSTEM
CONCEPTS
TOPICS COVERED
DESKTOP OS RTOS
1)General purpose operating system do not 1)Suitable for real time operating system.
perform real time task.
Interfacing directly.
Using a high level interface (Video BIOS).
Using a lower-level device driver .
Simulating work with hardware, while doing something
entirely different.
f) Device management
Rule 2:An interrupt routine may not call any RTOS that
might cause the RTOS to switch takes unless the RTOS
knows that an interrupt routine and not a task,is executing.
SEMAPHORE
Definition: A signal between tasks/interrupts that does not
carry any additional data.
The most common type of semaphore is a
binary semaphore, that triggers activation of a task.
The typical design pattern is that a task contains a main
loop with an RTOS call to “take” the semaphore.
• Eg: Consider a situation where there are two person who
wants to share a bike. At one time only one person can use
the bike. The one who has the bike key will get the chance
to use it. And when this person gives the key to 2nd person,
then only 2nd person can use the bike
Semaphore is just like this Key and the bike is the shared
resource.
The task should release the semaphore after it is done with the
shared resource.
Till this time all other tasks have to wait if they need access to
shared resource as semaphore is not available.
Task Synchronization
Counting Semaphore
To handle more then one shared resource of same
type, counting semaphore is used.
Create
Acquire
Release
Create a Semaphore
Acquire a Semaphore
Release a Semaphore
MUTEX
/* Task 1 */
mutexWait(mutex_mens_room); // Safely use shared
resource mutexRelease(mutex_mens_room); /*
/*Task 2 */
mutexWait(mutex_mens_room); // Safely use shared
resource mutexRelease(mutex_mens_room);/*
Mailboxes
One of the important Kernel services used to sent the
Messages to a task is the message mailbox.
Create a mailbox
Delete a mailbox
Query a mailbox
Post a message in a mailbox
Read a message form a mailbox.
Message Queues
• The Message Queues ,are used to send one or more
messages to a task .
• Tasks and ISRs can send and receive messages to the Queue
through services provided by the kernel.
Create a queue
Delete a queue
Flush a queue
Post a message in queue
Post a message in front of queue
Read message from queue
Broadcast a message
Show queue information
Show queue waiting list.
Event Registers
Data is written via one descriptor and read via the other.
Create a pipe
Open a pipe
Close a pipe
Read from the pipe
Write to the pipe
SIGNALS
A signal is an event indicator.
It is a software interrupt that is generated when an event
occurs.
It diverts the signal receiver from its normal execution path
and triggers the associated asynchronous processing.
Mainly the , signals notify tasks of events that occurred
during the execution of other tasks or ISRs.
The difference between a signal and a normal interrupt is
that signals are so-called software interrupts, which are
generated via the execution of some software within the
system.
By contrast, normal interrupts are usually generated by the
arrival of an interrupt signal on one of the CPU’s external
pins.
They are generated by external devices.
• For example:
All of the code blocks are collected into a section called
text.
Initialized global variables into a section called data.
Uninitialized global variables into a section called bss.
Linking
The output of the linker is a new object file that contains all
of the code and data from the input object files and is in
the same object file format.
UNIT-4
NETWORKS
TOPICS COVERED
When the bus is idle, both SCL and SDL remain high
A bus transaction is initiated by a start signal and
completed with an end signal as follows:
The sender puts a recessive bit (1) in the ACK slot of the
acknowledge field.
Requirements
Specification
Class diagram
System Architecture
Component design and testing
System integration and testing
DATA COMPRESSOR
Definition:
A data compressor that takes in data with a constant
number of bits per data element and puts out a
compressed data stream in which the data is encoded in
variable-length symbols.
1) Encode:
Performs the basic encoding function.
It takes in a 1-byte input symbol and returns two values:
The insert function packs a new symbol into the upper bits
of the buffer.
1) An interrupt-driven routine
• The audio interface unit puts out audio in formats that can
be used by A/D converters.