Introducao Projeto Embarcados

26
Projeto EA075 EA075 - Introdução ao Projeto de Sistemas Embarcados. Profª Drª Leticia Rittner (Turma U) Prof° Dr° Levy Boccato (Turma A) Leandro Aparecido Sangalli (PED)

description

Projeto de Sistemas Embarcados

Transcript of Introducao Projeto Embarcados

Page 1: Introducao Projeto Embarcados

Projeto EA075

EA075 - Introdução ao Projeto de Sistemas Embarcados.

Profª Drª Leticia Rittner (Turma U)

Prof° Dr° Levy Boccato (Turma A)Leandro Aparecido Sangalli (PED)

Page 2: Introducao Projeto Embarcados

O que é um Sistema Embarcado?

Homer: Ha!!! É um sistema com estrutura interna(processador, memória, dispositivo paraarmazenamento, etc) semelhante a de umcomputador pessoal dedicado a executar deforma satisfatória determinada tarefa.

Homer: Um sistema Embarcado?Lisa: É um Sistema Embarcado!Homer: Huuuuummmm!!!!!!!!!!Homer: Ha! Um Sistema, o quê?Lisa: Embarcado!!!

2

Page 3: Introducao Projeto Embarcados

Exemplos de sistemas embarcados

Smartphones MP3 players

PDAs

PDAs Internet das coisas

3

3

Page 4: Introducao Projeto Embarcados

Curiosidades

� Smartphones� Samsung Galaxy y (ARMv6)� Samsung Galaxy S4 (ARM Cortex A-9)� Iphone 3 (ARM Cortex A8)� Outros modelos de Iphones� Iphone 5s (Apple A7 – ARM 64 bits)

� Internet das coisas� Conecta aparelhos do nosso dia-a-dia a

Internet provendo diferentes serviços.

4

4

Page 5: Introducao Projeto Embarcados

Principal Objetivo da disciplina EA075

Mostrar que tudo que pode ser feito emSoftware pode ser feito em Hardware

(co-design).

5

Page 6: Introducao Projeto Embarcados

Objetivos das Atividades Práticas

� Desenvolver as mesmas atividades em Software eHardware, em nosso caso, utilizaremos o simuladorARMSim# (Software) e uma linguagem de descrição deHardware, o VHDL (Hardware).

� Resultados esperados: perceber na prática as principaisdiferenças do desenvolvimento de projetos paraSoftware e para Hardware.

� OBSERVAÇÃO IMPORTANTÍSSIMA: Não vamosaprender tudo sobre arquiteturas ARM e nem sobreprogramação em VHDL.� “Vamos ficar bem longe disso!”

6

6

Page 7: Introducao Projeto Embarcados

Objetivos com os Simuladores em

EA075

� Objetivos gerais� Utilizar os simuladores ARMSim# e QuartusII

(VHDL) para auxiliar na compreensão dosconteúdos estudados em sala de aula.

� Mostrar via utilização de exemplos práticos que:“tudo que é desenvolvido em software pode ser feitotambém em Hardware”.

� Objetivo específico:� Simular no decorrer da disciplina o desenvolvimento

do projeto de um sistema embarcado utilizandocomo base para Software o simulador ARMSim# epara Hardware o simulador QuartusII (VHDL).

7

7

Page 8: Introducao Projeto Embarcados

Simulador ARMSim#

� Desenvolvedores:� Dr° Nigel Horspool (University of Victoria)� Dale Lyons (University of Victoria)� Drª Micaela Serra (University of Victoria)

� Simulador baseado no ARM7TDMI (≈1998);� http://armsim.cs.uvic.ca/

8

8

Page 9: Introducao Projeto Embarcados

99

Page 10: Introducao Projeto Embarcados

Descrição do Simulador

� Distribuição gratuita para fins acadêmicos;� Pré-Requisitos (SO)

� Windows (a partir do Windows 98)� Simples instalação (≈ 3 minutos)� Linux;� Mac OS;

Observação: Os exemplos que serão apresentados se baseiam na versão 1.9.1, utilizando Windows 7.

10

10

Page 11: Introducao Projeto Embarcados

Descrição do Simulador11

11

Page 12: Introducao Projeto Embarcados

Descrição do Simulador (Cont.)

� Possui 16 registradores (R0, R1, ..., R15) de32-bits cada.

� Onde R10, R11, ... , R15 são registradores decontrole.

� Efetua diferentes tipos de operações, comopor exemplo: aritméticas, lógicas, de estado,entre outras.

� Efetua operações nas bases: decimal(Signed/Unsigned) ou hexadecimal.

12

12

Page 13: Introducao Projeto Embarcados

Descrição do Simulador (Cont.)

� Instruções básicas do ARMSim#para o primeiro

programa� mov Ra, #n: carrega o valor inteiro n no

registrador Ra.� add Ra, Rb, Rc: efetua a adição dos valores

que estão carregados em Rb e Rc,armazenando o resultado dessa soma emRa.

� sub Ra, Rb, Rc: subtrai o conteúdocarregado em Rc do de Rb, armazenando oresultado em Ra.

13

13

Page 14: Introducao Projeto Embarcados

Primeiro Programa no ARMSim#

� João tinha R$25,00 que sobrou da sua mesada do mês de Fevereiro. Sabendo que ele ganha R$100,00 por mês, quanto ele terá para gastar em Março?� Resposta: R$25,00 + R$100,00 = R$125,00.

� Mas, João gostaria de comprar o novo FIFA15 que custa R$180,00. Quanto ainda falta para João efetuar tal aquisição?� Resposta: R$125,00 - R$180,00 = -R$55,00.

14

14

Page 15: Introducao Projeto Embarcados

Primeiro Programa no ARMSim# (Cont.)

mov R1, #25 @carrega o valor 25 no registrador R1.mov R2, #100 @carrega o valor 100 no registrador R2.add R3, R1, R2 @soma os valores carregados em R1 e R2, armazenando o resultado em R3.mov R4, #180 @carrega o valor 180 no registrador R4.sub R5, R3, R4 @ subtrai o valor de R4 do valor carregado em R3, armazenando o resultado final em R5. (ATENÇÃO)

15

15

Page 16: Introducao Projeto Embarcados

Breve análise da programação em

Assembly

� Quais as principais diferenças entre linguagens dealto nível e uma linguagem Assembly (por exemplo,a do ARM)?� Assembly é mais complexa;� Em linguagens de alto nível os códigos são

menores (otimiza o gasto de memória deprograma);

� Assembly nos da mais controle sobre aaplicação que esta sendo desenvolvida.� Por exemplo:Como uma linguagem de alto

nível efetua a multiplicação de inteirosgrandes?

16

16

Page 17: Introducao Projeto Embarcados

Adição de inteiros grandes

� Por exemplo: Em linguagens de baixo nível, uma forma de implementar a multiplicação de inteiros grandes é:

17

17

Page 18: Introducao Projeto Embarcados

Instruções para utilização do

ARMSim#� Acesse: http://armsim.cs.uvic.ca/ → Download →

ARMSim# 1.91 → 1.91 → Execute o arquivo baixado.

� Primeira execução: abra um documento Bloco de Notas e copie o programa do slide 15.

� Salve este arquivo no formato .s (Por exemplo: teste_arm.s).

� Abra o simulador ARMSim# → File → Load → teste_arm.s→ Play ( ) .

� Sugestão: faça a leitura do tutorial em: http://armsim.cs.uvic.ca/AttachedFiles/ARMSim_UserGuide4Plus.pdf

18

18

Page 19: Introducao Projeto Embarcados

Quartus II - VHDL

O QuartusII é um software que da suporte parasimular o desenvolvimento de dispositivos lógicosprogramáveis via linguagens de descrição dehardware, como por exemplo, VHDL (Linguagemde descrição de hardware VHSIC "Very High SpeedIntegrated Circuits").

19

Page 20: Introducao Projeto Embarcados

VHDL

É uma linguagem de descrição de hardware,ou seja, esta possibilita uma forma estruturada paradescrição de circuitos digitais. Permite que circuitosdigitais sejam descritos por meio de sentenças ma-temática (lógicas) similar a uma linguagem de progra-mação usual, possibilitando a representação destescircuitos basicamente por meio de: sinais e portaslógicas.

20

Page 21: Introducao Projeto Embarcados

Mais Detalhes sobre o QuartusII

Desenvolvido e distribuído pela Altera

https://www.altera.com/downloads/download-center.html

Neste endereço:� Download de todas as versões disponíveis;� Informações sobre funcionamento do QuartusII;

Sobre VHDL:� Internet (melhor referência)

21

Page 22: Introducao Projeto Embarcados

Informação Importante

Disponibilidade dos simuladores ARMSim# e QuartusII

Laboratório LE27 → Ambiente Windows

Disponivel: Simulador ARMSim# e QuartusII Web Edition 13.osp1

22

Page 23: Introducao Projeto Embarcados

Projeto – como produto

� Visão de empreendedor: um mini-computador(processador, memória de armazenamento L/S,entre outros) que efetue a cifragem (criptografia)de caracteres que sejam digitados no tecladoe mostre na tela o caractere cifrado. Este também

deve efetuar a decifragem.

23

Page 24: Introducao Projeto Embarcados

Gerenciamento

� O que vamos desenvolver?� O sistema interno deste mini-computador.

� Como vamos desenvolver?� Entendendo o que temos que fazer,devemos discutir quais serão as etapasdo projeto e por onde devemos começar.

24

Page 25: Introducao Projeto Embarcados

A visão do Sistema

25

Page 26: Introducao Projeto Embarcados

Etapas do projeto

� Etapa1: implementar o algoritmo de criptografiaOne-Time Pad, para cifragem e decifragem de dados.

� Etapa2: implementar um conversor de um únicocaractere (letra) para o formato hexadecimal da tabelaASCII.

� Etapa3: generalizar a Etapa2 para uma sequênciafinita de caracteres.

� Etapa4: integração das etapas.26