6s/página

Transcrição

6s/página
CE-703
CE-703
Programação Orientada a Objetos para
Sistemas Embutidos
Programação Orientada a Objetos para
Sistemas Embutidos
Prof. Paulo André Castro
Carga Horária: 48 h. Data da última atualização:22/07/2011
Programação Orientada a Objetos para
Sistemas Embutidos
Pré-requisitos: Conhecimentos de programação e noções de arquitetura de
computadores.
Embedded systems= sistemas embarcados ou sistemas embutidos?
(Oxford Dictionary) Embed: to fix something deeply and firmly in a mass of
something. Examples: 1. Stone embedded in concrete. 2. The Idea became
embedded in his mind
Prof. Paulo André Castro
www.comp.ita.br/~pauloac
[email protected]
Sala 110, IEC-ITA
Planejamento
Capítulo 1 - Introdução
Apresentação do Curso
Introdução a Software Embutido
Exemplos de Sistemas Embutidos e Visão Geral da área
Este conceito é muito mais próximo de embutido, que embarcado.
Capítulo 2 -
Apesar de o termo embarcado ser também utilizado em vários livros, acredito que
o termo embutido é mais adequado e realça o conceito original de ter software e
hardware intrinsecamente ligados.
O termo embarcado realça o fator do software estar colocado em um dispositivo
que de algum modo se move, o que não necessariamente é relevante.Talvez seja
mais adequado, para software onde este aspecto é muito importante, como o
software desenvolvido para sistemas aeronáuticos, automotivos ou navais.
Paulo André Castro
CE-703 / ITA
Planejamento - 2
Revisão de Arquitetura de Computadores
Arquitetura de Computadores
Hardware Digital
Processadores
Sistemas de Memória
Sistemas de E/S e Barramentos
Paulo André Castro
CE-703 / ITA
Planejamento - 3
Capítulo 5 - Introdução a Sistemas Operacionais Embutidos
Capítulo 3 - Introdução a Orientação a Objetos
Introdução a Sistemas Operacionais Embutidos
Análise e Exemplos de Sistemas e Plataformas para Sistemas Embutidos
Classe, Objeto, Método,Herança, interfaces, polimorfismo, Encapsulamento e
C++ e Java
Templates
Android, Embedded Linux, Java (J2ME), ...
Multitarefa
Capítulo 4 - Introdução a Padrões de Projeto para sistemas de Tempo Real e Embutidos
Introdução a Padrões de Projeto
Introdução a Sistemas de Tempo Real e Projeto de Sistemas Embutidos e de Tempo Real
Padrões de Projeto para Sistemas Embutidos e Sistemas de Tempo Real
Capítulo 6
Desenvolvimento de Software Embutido em C++
Capítulo 7
Desenvolvimento de Software Embutido em Java
Capítulo 8
Desenvolvimento de Software Embutidos em ambiente aeronáutico
Tendências Futuras em Desenvolvimento de Software Embutido
Paulo André Castro
CE-703 / ITA
Paulo André Castro
CE-703 / ITA
1
Referências
Introdução
Programming embedded systems in C and C++ Barr, M. Beijing : O'Reilly
and Associates, 1999.
Real-time design patterns : robust scalable architecture for real-time
systems. Douglass, B.P. Boston, MA : Addison-Wesley, 2003.
Professional Android Application Development. Meier, R. Wrox. 2007.
Building Embedded Linux Systems.Yaghmour, K.; Jon Masters, Gilad BenYossef, Philippe Gerum. O’Reilly. 2008
Programminig for embedded systems : cracking the code New York, NY :
Wiley, 2002.
Embedded systems architecture : a comprehensive guide for engineers and
programmers. Noergaard, T. Amsterdam : Elsevier, 2005.
Embedded systems building blocks : complete and ready-to-use modules in
C .Labrosse, J.J, San Francisco, CA : CMP, 2002
Paulo André Castro
CE-703 / ITA
Mercado para Processadores Embutidos
Source: Embedded Systems Programming, May 1999
embedded
microprocessors
Motorola,
ARM,
MIPS,
i960,
x86,
…
8-bit
1 billion
8-bit
1 billion
16-bit
1 billion
32-bit
250 million
Only 4% of the
total number
125 million PCs
Intel, AMD
Average car has about 15 microprocessors.
Mercedes S-class: 63 microprocessors !!
Paulo André Castro
CE-703 / ITA
Tecnologias Relacionadas a Sistemas
Embutidos
C, C++,
Java
Languages
Embedded
Real-Time
Program
Embedded
RTOS
Network +
Protocol
Real World
Interfacing
Human
Computer
Interaction
Digital +
Analog
Circuit
DSP
Wireless
Networks
Paulo11André Castro
Control
Systems
Sistema Embutido é um “pequeno”
sistema computacional que é
geralmente escondido em um
equipamento (máquina, dispositivo
eletro-eletrônico) para aumentar a
inteligência do equipamento ou sua
eficácia
MARKET (2001)
Este tipo de sistema envolve quase
sempre hardware e software em
desenvolvimento conjunto. Sistemas
Embutidos ou Embarcados
(Embedded Systems) podem ser
chamados também de Smart
Devices, Intelligent, or Automated
Equipment.
Paulo8André Castro
PC´s !!
CE-703 / ITA
Uma pequena lista de exemplos de
sistemas embutidos
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Life-support systems
Medical testing systems
Paulo10André Castro
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Televisions
Temperature controllers
Theft tracking systems
TV set-top boxes
VCR’s, DVD players
Video game consoles
And the
Video phones
Washers and dryers
list goes on and on . . .
CE-703 / ITA
Algumas Caracterísitcas de Sistemas
Desktop, Servidor e Embutido
VHDL
Verilog
Machine Fixed Point
Intelligence Arithmetic
Fonte: (Hennessy 2009)
Smart
Cards
CE-703 / ITA
Paulo André Castro
CE-703 / ITA
2
Exemplo - Arquitetura PlayStation 2
Paulo André Castro
CE-703 / ITA
Exemplo - Telefone Celular
Exemplo - Arquitetura SoC (System on a Chip)
de uma Câmera Digital
Paulo André Castro
CE-703 / ITA
DSP (Digital Signal Processor)
A digital signal processor (DSP) is a special-purpose processor optimized
for executing digital signal processing algorithms.
Most of these algorithms, from time-domain filtering (e.g., infinite impulse
response and finite impulse response filtering), to convolution, to
transforms (e.g., Fast Fourier Transform, Discrete Cosine Transform), to
even forward error correction encodings, all have as their kernel the same
operation: a multiply-accumulate operation.
To accelerate this, DSPs typically feature special-purpose hardware to
perform multiply-accumulate (MAC). A MAC instruction of “MAC A,B,C” has
the semantics of:
“A = A + B * C”.
Paulo André Castro
CE-703 / ITA
DSP (Digital Signal Processor)
Paulo André Castro
CE-703 / ITA
The TI 320C55
Dois exemplos de DSPs:
TMS320C55 series is a DSP family targeted toward
battery-powered embedded applications
The C55 is optimized for low-power, embedded applications.
Its overall architecture is shown in Figure D.4. At the heart of
it, the C55 is a seven-staged pipelined CPU.
TI 320C55 Architecture:
TMSVelociTI 320C6x series is a line of powerful, eightissue VLIW processors targeted toward a broader range
of applications that may be less power sensitive
Paulo André Castro
CE-703 / ITA
Paulo André Castro
CE-703 / ITA
3
Sistema Embutido = Software & Hardware
Sistema Embutido é um “pequeno” sistema computacional
incorporado a um equipamento para aumentar a eficácia do
mesmo.
O projeto de um sistema embutido muitas vezes envolve
projetar conjuntamente hardware & software
Mesmo utilizando hardware pré-existente, o software
embutido deve explorar ao máximo o potencial deste
hardware (armazenamento e processamento)
Portanto para desenvolver software embutido é fundamental
conhecer a fundo como funciona um computador…É preciso
entender Arquitetura de Computadores
Paulo André Castro
CE-703 / ITA
4

Documentos relacionados

Breve histórico da Evolução dos Computadores (leitura informativa

Breve histórico da Evolução dos Computadores (leitura informativa Breve histórico da Evolução dos Computadores (leitura informativa ) CES-25 – Arquiteturas para Alto Desmpenho Prof. Paulo André Castro [email protected] Sala 110 – Prédio da Computação www.comp.ita.br...

Leia mais

1.1. - ITA

1.1. - ITA Prof. Paulo André Castro

Leia mais