You are on page 1of 26

Projeto EA075

Profª Drª Leticia Rittner (Turma U)
Prof° Dr° Levy Boccato (Turma A)
Leandro Aparecido Sangalli (PED)

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

O que é um Sistema Embarcado?
Homer: Um sistema Embarcado?
Lisa: É um Sistema Embarcado!
Homer: Huuuuummmm!!!!!!!!!!
Homer: Ha! Um Sistema, o quê?
Lisa: Embarcado!!!
Homer: Ha!!! É um sistema com estrutura interna
(processador,
memória,
dispositivo
para
armazenamento, etc) semelhante a de um
computador pessoal dedicado a executar de
forma satisfatória determinada tarefa.
2

3 Exemplos de sistemas embarcados Smartphones MP3 players PDAs PDAs Internet das coisas 3 .

4 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 .

5 .Principal Objetivo da disciplina EA075 Mostrar que tudo que pode ser feito em Software pode ser feito em Hardware (co-design).

OBSERVAÇÃO IMPORTANTÍSSIMA: Não vamos aprender tudo sobre arquiteturas ARM e nem sobre programação em VHDL. em nosso caso. Resultados esperados: perceber na prática as principais diferenças do desenvolvimento de projetos para Software e para Hardware. “Vamos ficar bem longe disso!” 6 . o VHDL (Hardware). utilizaremos o simulador ARMSim# (Software) e uma linguagem de descrição de Hardware.6 Objetivos das Atividades Práticas Desenvolver as mesmas atividades em Software e Hardware.

7 . Mostrar via utilização de exemplos práticos que: “tudo que é desenvolvido em software pode ser feito também em Hardware”. Objetivo específico: Simular no decorrer da disciplina o desenvolvimento do projeto de um sistema embarcado utilizando como base para Software o simulador ARMSim# e para Hardware o simulador QuartusII (VHDL).7 Objetivos com os Simuladores em EA075 Objetivos gerais Utilizar os simuladores ARMSim# e QuartusII (VHDL) para auxiliar na compreensão dos conteúdos estudados em sala de aula.

ca/ 8 . http://armsim.8 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).cs.uvic.

9 9 .

Mac OS.1. 10 .10 Descrição do Simulador Distribuição gratuita para fins acadêmicos. Observação: Os exemplos que serão apresentados se baseiam na versão 1.9. utilizando Windows 7. Pré-Requisitos (SO) Windows (a partir do Windows 98) Simples instalação (≈ 3 minutos) Linux.

11 Descrição do Simulador 11 .

R1. . entre outras. Onde R10. R15) de 32-bits cada. Efetua diferentes tipos de operações.12 Descrição do Simulador (Cont. de estado.. R11. 12 .. Efetua operações nas bases: decimal (Signed/Unsigned) ou hexadecimal.. lógicas. R15 são registradores de controle. como por exemplo: aritméticas. . ..) Possui 16 registradores (R0..

Rb. #n: carrega o valor inteiro n no registrador Ra.13 Descrição do Simulador (Cont.) Instruções básicas do ARMSim#para o primeiro programa mov Ra. armazenando o resultado dessa soma em Ra. 13 . armazenando o resultado em Ra. Rc: subtrai o conteúdo carregado em Rc do de Rb. Rc: efetua a adição dos valores que estão carregados em Rb e Rc. Rb. add Ra. sub Ra.

00 por mês.00 = -R$55.00 que sobrou da sua mesada do mês de Fevereiro.00 = R$125. João gostaria de comprar o novo FIFA15 que custa R$180. Quanto ainda falta para João efetuar tal aquisição? Resposta: R$125.00. Mas. 14 . Sabendo que ele ganha R$100.00 + R$100. quanto ele terá para gastar em Março? Resposta: R$25.00.14 Primeiro Programa no ARMSim# João tinha R$25.R$180.00 .00.

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

Assembly nos da mais controle sobre a aplicação que esta sendo desenvolvida. Em linguagens de alto nível os códigos são menores (otimiza o gasto de memória de programa).16 Breve análise da programação em Assembly Quais as principais diferenças entre linguagens de alto nível e uma linguagem Assembly (por exemplo. Por exemplo:Como uma linguagem de alto nível efetua a multiplicação de inteiros grandes? 16 . a do ARM)? Assembly é mais complexa.

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

s → Play ( ) .91 → Execute o arquivo baixado. Abra o simulador ARMSim# → File → Load → teste_arm.s (Por exemplo: teste_arm.ca/AttachedFiles/ARMSim_UserGuide4Plus. Primeira execução: abra um documento Bloco de Notas e copie o programa do slide 15.18 Instruções para utilização do ARMSim# Acesse: http://armsim.uvic.cs.cs.uvic.91 → 1.ca/ → Download → ARMSim# 1.s). Sugestão: faça a leitura do tutorial em: http://armsim.pdf 18 . Salve este arquivo no formato .

19 .Quartus II . como por exemplo. VHDL (Linguagem de descrição de hardware VHSIC "Very High Speed Integrated Circuits").VHDL O QuartusII é um software que da suporte para simular o desenvolvimento de dispositivos lógicos programáveis via linguagens de descrição de hardware.

ou seja. possibilitando a representação destes circuitos basicamente por meio de: sinais e portas lógicas. esta possibilita uma forma estruturada para descrição de circuitos digitais. Permite que circuitos digitais sejam descritos por meio de sentenças matemática (lógicas) similar a uma linguagem de programação usual. 20 .VHDL É uma linguagem de descrição de hardware.

html Neste endereço: Download de todas as versões disponíveis.Mais Detalhes sobre o QuartusII Desenvolvido e distribuído pela Altera https://www.com/downloads/download-center. Sobre VHDL: Internet (melhor referência) 21 .altera. Informações sobre funcionamento do QuartusII.

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. Este também deve efetuar a decifragem. 23 . entre outros) que efetue a cifragem (criptografia) de caracteres que sejam digitados no teclado e mostre na tela o caractere cifrado.

devemos discutir quais serão as etapas do projeto e por onde devemos começar.Gerenciamento O que vamos desenvolver? O sistema interno deste mini-computador. Como vamos desenvolver? Entendendo o que temos que fazer. 24 .

A visão do Sistema 25 .

Etapa2: implementar um conversor de um único caractere (letra) para o formato hexadecimal da tabela ASCII. 26 . Etapa3: generalizar a Etapa2 para uma sequência finita de caracteres. Etapa4: integração das etapas. para cifragem e decifragem de dados.Etapas do projeto Etapa1: implementar o algoritmo de criptografia One-Time Pad.