introducao projeto embarcados
Post on 11-Jan-2016
39 Views
Preview:
DESCRIPTION
TRANSCRIPT
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)
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
Exemplos de sistemas embarcados
Smartphones MP3 players
PDAs
PDAs Internet das coisas
3
3
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
Principal Objetivo da disciplina EA075
Mostrar que tudo que pode ser feito emSoftware pode ser feito em Hardware
(co-design).
5
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
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
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
99
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
Descrição do Simulador11
11
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
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
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
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
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
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
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
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
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
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
Informação Importante
Disponibilidade dos simuladores ARMSim# e QuartusII
Laboratório LE27 → Ambiente Windows
Disponivel: Simulador ARMSim# e QuartusII Web Edition 13.osp1
22
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
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
A visão do Sistema
25
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
top related