SlideShare a Scribd company logo
1
Introduction to UART and UARTIntroduction to UART and UART
DriverDriver
By : - Vibrant Technologies &
Computers
2
•UARTUART
3
UART: Universal Asynchronous
Receiver/Transmitter device
 Device connected to the system bus; it takes parallel data converts
into RS232C serial format and transmits it; and receives data in serial
format and converts it to parallel format for CPU bus
-- parallel byte is converted into start bit, 8 bits, parity bit and stop bit
serial form and vice versa
 Asynchronous transmission allows data to be transmitted without the
sender having to send a clock signal to the receiver. Instead, the
sender and receiver must agree on timing parameters in advance
and special bits are added to each word which are used to
synchronize the sending and receiving units.
-- That’s why you set the baud rate in your xinu environment
16550 UART Chip16550 UART Chip
4
• Lets study the layout and operation of 16550
UART chip.
• Page 1: The features
• Page 2: Basic chip configuration
• Page 6 …: RD and WR cycle timing
• Page 11: Pin descriptions
• Page 14: Register summary
• Page 15…: Register explanation
RS 232C StandardRS 232C Standard
5
• Serial communication standard.
See the DE-9 pin configuration: G (5), TxD
(3), RxD(2), DTR(4), DSR(6), RTS(7), CTS(8),
DCD(1), RI (9)
XINU UART DriverXINU UART Driver
6
• xinu_mips-1.0/include/uart.h
• xinu_mips-1.0/uart/*
• Map all that you learned in the last few slides
to the code in uart.h and the driver
implementation in uart directory
Device driverDevice driver
contextcontext
7
User
process
Operating
System:
dev/xyz
Device
driver
Physical
Device
hardware
UART Driver in EXINUUART Driver in EXINU
1. General device driver related files: device.h,
devtable.c
2. Uart files: uart.h defining the physical features of the
uart
3. All the files in the uart directory that implement the
operations related to the uart.
o uartControl.c uartInit.c uartIntr.c
o uartPutChar.c uartWrite.c uartGetChar.c
uartRead.c
8
Device DriversDevice Drivers
• Chapter 7 of programming embedded systems
(available on Safari)
• On board devices are called internal peripherals
and one outside are called external peripherals
o UART Chip (internal)
o TTY (external)
• UART transceiverRS232D-9 connector 
laptop serial socket
o WRT54GL board and modifications
9
10
Serial Port Block Diagram (general)Serial Port Block Diagram (general)
ProcessorProcessor
UART
Periphera
l
RS-232
Transceiver
RS-232
Transceiver
COM1
DB-9
connecto
r
COM1
DB-9
connecto
r
Our SetupOur Setup
11
WRT54GL
Processor:
BCM5353
WRT54GL
Processor:
BCM5353
UART
Peripheral
TI 16552
RS-232
Transceiver
AMD202
RS-232
Transceiver
AMD202
COM1
DB-9
connecto
r
COM1
DB-9
connecto
r
To do: Read the book Chapter 7
Device driversDevice drivers
• Embedded processor interacts with a
peripheral device through a set of control and
status registers.
• Registers are part of the peripheral device.
• Registers within a serial controller are different
from those in a timer.
• These devices are located in the memory
space of the processor or I/O space of the
processor-- two types: memory-mapped or I/O
mapped respectively.
12
Device driver (contd.)Device driver (contd.)
• The keyword volatile should be used when declaring pointers
to device drivers.
• Our text goes on to discuss bit manipulation: please read it)
o Bit patterns for testing, setting, clearing, toggling, shifting
bits, bitmasks, and bit fields.
• Strut overlays:
o In embedded systems featuring memory mapped IO
devices, it is common to overlay a C strut on to each
peripheral’s control and status registers.
o This will provide the offsets for the various registers from the
base address of the device.
1. 13
Device Driver PhilosophyDevice Driver Philosophy
• Hide the hardware completely: hardware abstraction
• If the device generates any interrupts include interrupt controllers.
• Device driver presents a generic interface for applications at
higher level to access the devices: device
• Device drivers in embedded systems are different from general
purpose operating systems: See diagram in slide #7
o Applications in general purpose systems accesses OS
(Operating Systems) which in turn accesses device drivers.
o Applications in embedded systems can directly access device
drivers.
14
General Purpose OS vs. Embedded SystemGeneral Purpose OS vs. Embedded System
Application
process
Operating System:
dev/xyz
Device driver
Physical Device
hardware
Applicatio
n
process
Device
driver
Physical
Device
hardware
Device Driver development stepsDevice Driver development steps
1. An interface to the control and status registers.
2. Variables to track the current state of the physical
and logical devices
-- Major and minor device number, device name
1. A routine to initialize the hardware to known state
2. An API for users of the device driver
-- Read, write, seek
5. Interrupts service routines
Example: A serial device driverExample: A serial device driver
• Read the text for explanation and general example
of a timer
• Now lets look at the UARTdriver of the embedded
xinu and WRT54GL.
• Study the tty driver that is a logical device that is
layered on top of the UART driver.
• In our Project 3 you will write a device driver for a
logical device.
SummarySummary
• We studied the design and development of device
drivers.
• We analyzed the code for a sample UART driver.
• To do: read chapter 7 from embedded system
book; read the UART device driver exinu and
wrt54gl.
ThankThank You !!!You !!!
For More Information click below link:
Follow Us on:
http://vibranttechnologies.co.in/embedded-system-classes-
in-mumbai.html

More Related Content

What's hot

Memory interfacing of microprocessor 8085
Memory interfacing of microprocessor 8085Memory interfacing of microprocessor 8085
Memory interfacing of microprocessor 8085
Nilesh Bhaskarrao Bahadure
 
Question paper with solution the 8051 microcontroller based embedded systems...
Question paper with solution  the 8051 microcontroller based embedded systems...Question paper with solution  the 8051 microcontroller based embedded systems...
Question paper with solution the 8051 microcontroller based embedded systems...
manishpatel_79
 
8251 USART
8251 USART8251 USART
8251 USART
ShivamSood22
 
8051 MICROCONTROLLER
8051 MICROCONTROLLER 8051 MICROCONTROLLER
8051 MICROCONTROLLER
THANDAIAH PRABU
 
Embedded c
Embedded cEmbedded c
Embedded c
Ami Prakash
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.ppt
Dr.YNM
 
Arm assembly language programming
Arm assembly language programmingArm assembly language programming
Arm assembly language programming
v Kalairajan
 
ARM Processor
ARM ProcessorARM Processor
ARM Processor
Aniket Thakur
 
Presentation on 8086 Microprocessor
Presentation  on   8086 MicroprocessorPresentation  on   8086 Microprocessor
Presentation on 8086 Microprocessor
Nahian Ahmed
 
Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)
Aarav Soni
 
Architecture of 8051
Architecture of 8051Architecture of 8051
Architecture of 8051
hello_priti
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
Mukesh Kashyap
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1
deval patel
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
Mathivanan Natarajan
 
Arm programmer's model
Arm programmer's modelArm programmer's model
Arm programmer's model
v Kalairajan
 
Pwm(Pulse Width Modulation) presentation
Pwm(Pulse Width Modulation) presentationPwm(Pulse Width Modulation) presentation
Pwm(Pulse Width Modulation) presentation
HabitamuAsimare
 
STM32 MCU Family
STM32 MCU FamilySTM32 MCU Family
STM32 MCU Family
Premier Farnell
 
Memory interfacing of microcontroller 8051
Memory interfacing of microcontroller 8051Memory interfacing of microcontroller 8051
Memory interfacing of microcontroller 8051
Nilesh Bhaskarrao Bahadure
 

What's hot (20)

Memory interfacing of microprocessor 8085
Memory interfacing of microprocessor 8085Memory interfacing of microprocessor 8085
Memory interfacing of microprocessor 8085
 
Question paper with solution the 8051 microcontroller based embedded systems...
Question paper with solution  the 8051 microcontroller based embedded systems...Question paper with solution  the 8051 microcontroller based embedded systems...
Question paper with solution the 8051 microcontroller based embedded systems...
 
8251 USART
8251 USART8251 USART
8251 USART
 
8051 MICROCONTROLLER
8051 MICROCONTROLLER 8051 MICROCONTROLLER
8051 MICROCONTROLLER
 
Embedded c
Embedded cEmbedded c
Embedded c
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.ppt
 
Arm assembly language programming
Arm assembly language programmingArm assembly language programming
Arm assembly language programming
 
ARM Processor
ARM ProcessorARM Processor
ARM Processor
 
Presentation on 8086 Microprocessor
Presentation  on   8086 MicroprocessorPresentation  on   8086 Microprocessor
Presentation on 8086 Microprocessor
 
Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
 
Architecture of 8051
Architecture of 8051Architecture of 8051
Architecture of 8051
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
 
Arm programmer's model
Arm programmer's modelArm programmer's model
Arm programmer's model
 
Pwm(Pulse Width Modulation) presentation
Pwm(Pulse Width Modulation) presentationPwm(Pulse Width Modulation) presentation
Pwm(Pulse Width Modulation) presentation
 
STM32 MCU Family
STM32 MCU FamilySTM32 MCU Family
STM32 MCU Family
 
Memory interfacing of microcontroller 8051
Memory interfacing of microcontroller 8051Memory interfacing of microcontroller 8051
Memory interfacing of microcontroller 8051
 
Introduction to stm32-part1
Introduction to stm32-part1Introduction to stm32-part1
Introduction to stm32-part1
 

Viewers also liked

Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
Dr M Muruganandam Masilamani
 
Embedded systems notes
Embedded systems notesEmbedded systems notes
Embedded systems notes
Shikha Sharma
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing Technique
Mabeth MaRiyah Ramos
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded systemmanish katara
 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systemsjoshparrish13
 

Viewers also liked (6)

Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
Ch6 030702
Ch6 030702Ch6 030702
Ch6 030702
 
Embedded systems notes
Embedded systems notesEmbedded systems notes
Embedded systems notes
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing Technique
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systems
 

Similar to Embedded system - Introduction to interfacing with peripherals

Uart driver nov13
Uart driver nov13Uart driver nov13
Uart driver nov13
abinaya m
 
Project Report - Lighting Control via Bluetooth using Android
Project Report - Lighting Control via Bluetooth using AndroidProject Report - Lighting Control via Bluetooth using Android
Project Report - Lighting Control via Bluetooth using AndroidVaibhav Gautam
 
DeviceDriverNov18.ppt
DeviceDriverNov18.pptDeviceDriverNov18.ppt
DeviceDriverNov18.ppt
TerrenceRamirez1
 
Io pro
Io proIo pro
Io pro
cs19club
 
Computer organization
Computer organizationComputer organization
Computer organization
Rvishnupriya2
 
Computer organization
Computer organization Computer organization
Computer organization
vishnu973656
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
DustinGraham19
 
COA-Unit5-ppt2.pptx
COA-Unit5-ppt2.pptxCOA-Unit5-ppt2.pptx
COA-Unit5-ppt2.pptx
Ruhul Amin
 
Unit 1 intro-embedded
Unit 1 intro-embeddedUnit 1 intro-embedded
Unit 1 intro-embedded
Pavithra S
 
Io pro
Io proIo pro
Io pro
cs19club
 
Nvidia tegra K1 Presentation
Nvidia tegra K1 PresentationNvidia tegra K1 Presentation
Nvidia tegra K1 Presentation
ANURAG SEKHSARIA
 
Iosystemspre final-160922112930
Iosystemspre final-160922112930Iosystemspre final-160922112930
Iosystemspre final-160922112930
marangburu42
 
UNIT 2.pptx
UNIT 2.pptxUNIT 2.pptx
UNIT 2.pptx
SeshuSrinivas2
 
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS ToolsCodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Toolsdjerrybellott
 
Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its Applications
Gaurav Verma
 
Quadcopter Presentation
Quadcopter PresentationQuadcopter Presentation
Quadcopter Presentation
Mohammed Mushtaha
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptx
JanethMedina31
 

Similar to Embedded system - Introduction to interfacing with peripherals (20)

Uart driver nov13
Uart driver nov13Uart driver nov13
Uart driver nov13
 
Project Report - Lighting Control via Bluetooth using Android
Project Report - Lighting Control via Bluetooth using AndroidProject Report - Lighting Control via Bluetooth using Android
Project Report - Lighting Control via Bluetooth using Android
 
DeviceDriverNov18.ppt
DeviceDriverNov18.pptDeviceDriverNov18.ppt
DeviceDriverNov18.ppt
 
Ch09 system administration
Ch09 system administration Ch09 system administration
Ch09 system administration
 
Io pro
Io proIo pro
Io pro
 
Intel Quark HSUART
Intel Quark HSUARTIntel Quark HSUART
Intel Quark HSUART
 
Computer organization
Computer organizationComputer organization
Computer organization
 
Computer organization
Computer organization Computer organization
Computer organization
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
 
COA-Unit5-ppt2.pptx
COA-Unit5-ppt2.pptxCOA-Unit5-ppt2.pptx
COA-Unit5-ppt2.pptx
 
Unit 1 intro-embedded
Unit 1 intro-embeddedUnit 1 intro-embedded
Unit 1 intro-embedded
 
Io pro
Io proIo pro
Io pro
 
Nvidia tegra K1 Presentation
Nvidia tegra K1 PresentationNvidia tegra K1 Presentation
Nvidia tegra K1 Presentation
 
Iosystemspre final-160922112930
Iosystemspre final-160922112930Iosystemspre final-160922112930
Iosystemspre final-160922112930
 
UNIT 2.pptx
UNIT 2.pptxUNIT 2.pptx
UNIT 2.pptx
 
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS ToolsCodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
 
Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its Applications
 
Ch09
Ch09Ch09
Ch09
 
Quadcopter Presentation
Quadcopter PresentationQuadcopter Presentation
Quadcopter Presentation
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptx
 

More from Vibrant Technologies & Computers

Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5
Vibrant Technologies & Computers
 
SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables  SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables
Vibrant Technologies & Computers
 
SQL- Introduction to MySQL
SQL- Introduction to MySQLSQL- Introduction to MySQL
SQL- Introduction to MySQL
Vibrant Technologies & Computers
 
SQL- Introduction to SQL database
SQL- Introduction to SQL database SQL- Introduction to SQL database
SQL- Introduction to SQL database
Vibrant Technologies & Computers
 
ITIL - introduction to ITIL
ITIL - introduction to ITILITIL - introduction to ITIL
ITIL - introduction to ITIL
Vibrant Technologies & Computers
 
Salesforce - Introduction to Security & Access
Salesforce -  Introduction to Security & Access Salesforce -  Introduction to Security & Access
Salesforce - Introduction to Security & Access
Vibrant Technologies & Computers
 
Data ware housing- Introduction to olap .
Data ware housing- Introduction to  olap .Data ware housing- Introduction to  olap .
Data ware housing- Introduction to olap .
Vibrant Technologies & Computers
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.
Vibrant Technologies & Computers
 
Data ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingData ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housing
Vibrant Technologies & Computers
 
Salesforce - classification of cloud computing
Salesforce - classification of cloud computingSalesforce - classification of cloud computing
Salesforce - classification of cloud computing
Vibrant Technologies & Computers
 
Salesforce - cloud computing fundamental
Salesforce - cloud computing fundamentalSalesforce - cloud computing fundamental
Salesforce - cloud computing fundamental
Vibrant Technologies & Computers
 
SQL- Introduction to PL/SQL
SQL- Introduction to  PL/SQLSQL- Introduction to  PL/SQL
SQL- Introduction to PL/SQL
Vibrant Technologies & Computers
 
SQL- Introduction to advanced sql concepts
SQL- Introduction to  advanced sql conceptsSQL- Introduction to  advanced sql concepts
SQL- Introduction to advanced sql concepts
Vibrant Technologies & Computers
 
SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data   SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
SQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set OperationsSQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set Operations
Vibrant Technologies & Computers
 
Sas - Introduction to designing the data mart
Sas - Introduction to designing the data martSas - Introduction to designing the data mart
Sas - Introduction to designing the data mart
Vibrant Technologies & Computers
 
Sas - Introduction to working under change management
Sas - Introduction to working under change managementSas - Introduction to working under change management
Sas - Introduction to working under change management
Vibrant Technologies & Computers
 
SAS - overview of SAS
SAS - overview of SASSAS - overview of SAS
SAS - overview of SAS
Vibrant Technologies & Computers
 
Teradata - Architecture of Teradata
Teradata - Architecture of TeradataTeradata - Architecture of Teradata
Teradata - Architecture of Teradata
Vibrant Technologies & Computers
 
Teradata - Restoring Data
Teradata - Restoring Data Teradata - Restoring Data
Teradata - Restoring Data
Vibrant Technologies & Computers
 

More from Vibrant Technologies & Computers (20)

Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5
 
SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables  SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables
 
SQL- Introduction to MySQL
SQL- Introduction to MySQLSQL- Introduction to MySQL
SQL- Introduction to MySQL
 
SQL- Introduction to SQL database
SQL- Introduction to SQL database SQL- Introduction to SQL database
SQL- Introduction to SQL database
 
ITIL - introduction to ITIL
ITIL - introduction to ITILITIL - introduction to ITIL
ITIL - introduction to ITIL
 
Salesforce - Introduction to Security & Access
Salesforce -  Introduction to Security & Access Salesforce -  Introduction to Security & Access
Salesforce - Introduction to Security & Access
 
Data ware housing- Introduction to olap .
Data ware housing- Introduction to  olap .Data ware housing- Introduction to  olap .
Data ware housing- Introduction to olap .
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.
 
Data ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingData ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housing
 
Salesforce - classification of cloud computing
Salesforce - classification of cloud computingSalesforce - classification of cloud computing
Salesforce - classification of cloud computing
 
Salesforce - cloud computing fundamental
Salesforce - cloud computing fundamentalSalesforce - cloud computing fundamental
Salesforce - cloud computing fundamental
 
SQL- Introduction to PL/SQL
SQL- Introduction to  PL/SQLSQL- Introduction to  PL/SQL
SQL- Introduction to PL/SQL
 
SQL- Introduction to advanced sql concepts
SQL- Introduction to  advanced sql conceptsSQL- Introduction to  advanced sql concepts
SQL- Introduction to advanced sql concepts
 
SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data   SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data
 
SQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set OperationsSQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set Operations
 
Sas - Introduction to designing the data mart
Sas - Introduction to designing the data martSas - Introduction to designing the data mart
Sas - Introduction to designing the data mart
 
Sas - Introduction to working under change management
Sas - Introduction to working under change managementSas - Introduction to working under change management
Sas - Introduction to working under change management
 
SAS - overview of SAS
SAS - overview of SASSAS - overview of SAS
SAS - overview of SAS
 
Teradata - Architecture of Teradata
Teradata - Architecture of TeradataTeradata - Architecture of Teradata
Teradata - Architecture of Teradata
 
Teradata - Restoring Data
Teradata - Restoring Data Teradata - Restoring Data
Teradata - Restoring Data
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Embedded system - Introduction to interfacing with peripherals

  • 1. 1
  • 2. Introduction to UART and UARTIntroduction to UART and UART DriverDriver By : - Vibrant Technologies & Computers 2
  • 3. •UARTUART 3 UART: Universal Asynchronous Receiver/Transmitter device  Device connected to the system bus; it takes parallel data converts into RS232C serial format and transmits it; and receives data in serial format and converts it to parallel format for CPU bus -- parallel byte is converted into start bit, 8 bits, parity bit and stop bit serial form and vice versa  Asynchronous transmission allows data to be transmitted without the sender having to send a clock signal to the receiver. Instead, the sender and receiver must agree on timing parameters in advance and special bits are added to each word which are used to synchronize the sending and receiving units. -- That’s why you set the baud rate in your xinu environment
  • 4. 16550 UART Chip16550 UART Chip 4 • Lets study the layout and operation of 16550 UART chip. • Page 1: The features • Page 2: Basic chip configuration • Page 6 …: RD and WR cycle timing • Page 11: Pin descriptions • Page 14: Register summary • Page 15…: Register explanation
  • 5. RS 232C StandardRS 232C Standard 5 • Serial communication standard. See the DE-9 pin configuration: G (5), TxD (3), RxD(2), DTR(4), DSR(6), RTS(7), CTS(8), DCD(1), RI (9)
  • 6. XINU UART DriverXINU UART Driver 6 • xinu_mips-1.0/include/uart.h • xinu_mips-1.0/uart/* • Map all that you learned in the last few slides to the code in uart.h and the driver implementation in uart directory
  • 8. UART Driver in EXINUUART Driver in EXINU 1. General device driver related files: device.h, devtable.c 2. Uart files: uart.h defining the physical features of the uart 3. All the files in the uart directory that implement the operations related to the uart. o uartControl.c uartInit.c uartIntr.c o uartPutChar.c uartWrite.c uartGetChar.c uartRead.c 8
  • 9. Device DriversDevice Drivers • Chapter 7 of programming embedded systems (available on Safari) • On board devices are called internal peripherals and one outside are called external peripherals o UART Chip (internal) o TTY (external) • UART transceiverRS232D-9 connector  laptop serial socket o WRT54GL board and modifications 9
  • 10. 10 Serial Port Block Diagram (general)Serial Port Block Diagram (general) ProcessorProcessor UART Periphera l RS-232 Transceiver RS-232 Transceiver COM1 DB-9 connecto r COM1 DB-9 connecto r
  • 11. Our SetupOur Setup 11 WRT54GL Processor: BCM5353 WRT54GL Processor: BCM5353 UART Peripheral TI 16552 RS-232 Transceiver AMD202 RS-232 Transceiver AMD202 COM1 DB-9 connecto r COM1 DB-9 connecto r To do: Read the book Chapter 7
  • 12. Device driversDevice drivers • Embedded processor interacts with a peripheral device through a set of control and status registers. • Registers are part of the peripheral device. • Registers within a serial controller are different from those in a timer. • These devices are located in the memory space of the processor or I/O space of the processor-- two types: memory-mapped or I/O mapped respectively. 12
  • 13. Device driver (contd.)Device driver (contd.) • The keyword volatile should be used when declaring pointers to device drivers. • Our text goes on to discuss bit manipulation: please read it) o Bit patterns for testing, setting, clearing, toggling, shifting bits, bitmasks, and bit fields. • Strut overlays: o In embedded systems featuring memory mapped IO devices, it is common to overlay a C strut on to each peripheral’s control and status registers. o This will provide the offsets for the various registers from the base address of the device. 1. 13
  • 14. Device Driver PhilosophyDevice Driver Philosophy • Hide the hardware completely: hardware abstraction • If the device generates any interrupts include interrupt controllers. • Device driver presents a generic interface for applications at higher level to access the devices: device • Device drivers in embedded systems are different from general purpose operating systems: See diagram in slide #7 o Applications in general purpose systems accesses OS (Operating Systems) which in turn accesses device drivers. o Applications in embedded systems can directly access device drivers. 14
  • 15. General Purpose OS vs. Embedded SystemGeneral Purpose OS vs. Embedded System Application process Operating System: dev/xyz Device driver Physical Device hardware Applicatio n process Device driver Physical Device hardware
  • 16. Device Driver development stepsDevice Driver development steps 1. An interface to the control and status registers. 2. Variables to track the current state of the physical and logical devices -- Major and minor device number, device name 1. A routine to initialize the hardware to known state 2. An API for users of the device driver -- Read, write, seek 5. Interrupts service routines
  • 17. Example: A serial device driverExample: A serial device driver • Read the text for explanation and general example of a timer • Now lets look at the UARTdriver of the embedded xinu and WRT54GL. • Study the tty driver that is a logical device that is layered on top of the UART driver. • In our Project 3 you will write a device driver for a logical device.
  • 18. SummarySummary • We studied the design and development of device drivers. • We analyzed the code for a sample UART driver. • To do: read chapter 7 from embedded system book; read the UART device driver exinu and wrt54gl.
  • 19. ThankThank You !!!You !!! For More Information click below link: Follow Us on: http://vibranttechnologies.co.in/embedded-system-classes- in-mumbai.html