18. In 1976 - The Z80 offered many improvements over the 8080:
An enhanced instruction set[8]
New IX and IY index registers
A better interrupt system
Less hardware required
Intel 8080 – 1074
the first truly usable microprocessor
X
22. Conjuntos de hardware e software de propósito
específico, fisicamente inseridos em um
contexto maior, executando funcionalidades
dedicadas que são auxiliar ou complementar.
O que são sistemas embarcados?
23. Características específicas no
desenvolvimento
• Programação para microcontroladores
• Restrições de arquiteturas específicas
• Cuidado na seleção de tamanho e tipo de variáveis
• Tipicamente sem ponto flutuante
• Design de sistema reativo a eventos externos (interrupções)
•Tempo Real
•Interfaces de comunicação específicas: CAN, SPI, I2S...
•Restrições quanto ao Consumo de Energia
25. Características específicas no
desenvolvimento
• Custo reduzido
• Executar uma tarefa específica
• Mínimo de recursos suficientes
• Memória Flash (código)
• Memória RAM
• Processador
• Consumo de energia
• Periféricos
26. Características específicas no
desenvolvimento
• Interface com hardware
•Não basta funcionar, tem que ser fabricável a custo razoável
•E não basta funcionar em laboratório, tem que ir a campo
•Gerenciamento de mudanças
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89. The Arduino Due is a microcontroller board based on the
Atmel SAM3X8E ARM Cortex-M3 CPU (datasheet). It is the
first Arduino board based on a 32-bit ARM core
microcontroller.
92. Intel Quark SoC X1000 is a 32-bit, single core,
single-thread, Pentium (P54C/i586) instruction set
architecture (ISA)-compatible CPU, operating at
speeds up to 400 MHz.
TV Digital Interativa – soluções para TV Digital em áreas como interatividade, entretenimento, educação e saúde;
Tecnologias Móveis – projetos para o setor de telefonia celular como vídeo, aplicações de controle, casa digital, calendário, jogos e entretenimento geral;
Testes – Planejamento, automação, verificação e execução de testes de software;
Sistemas Embarcados – sistemas para captura e transmissão wireless de imagens; aplicações de telemetria e controle em veículos
Num desenvolvimento para PC, você pode escrever, executar e depurar o programa localmente.
No caso de embarcados, o programa executa em outro processador, para isso você precisa de cross-debugger
A comunicação é feita via JTAG
Se não quiser, pode usar printf pela UART, mas pode modificar o tempo de operação
Interface com hardware
Um software mal projetado pode danificar o hardware
Funcionamento com JTAG diferente do processador
Não basta funcionar, tem que ser fabricável a custo razoável
Projetos de ponta são muito caros
Placas de múltiplas camadas
Processadores com encapsulamento complexo
E não basta funcionar em laboratório, tem que ir a campo
Só o ambiente real pode prover condições de testes reais
Sistemas críticos não podem falhar
No caso de equipamentos de raios-x, cujo tubo possui restrições de potência, modos de operação, isolação e aquecimento
Projetos mais complexos encarecem o custo de produção de placa e setup para montagem de componentes
Problemas de campo: condições de fornecimento elétrico, cargas, impedâncias, capacitâncias que interferem no hardware
Gerenciamento de mudanças
Depois que tudo funciona, em laboratório e campo, ainda restam as mudanças
Podem ser internas ou externas (dos clientes)
Podem ser motivadas por novas funcionalidades, adaptações ou correções de erros
Um embarcado é desenvolvido para um propósito específico, portanto possui pouca flexibilidade para mudanças