sistemas embarcados
TRANSCRIPT
1César Ofuchi – [email protected]
Sistemas Embarcados
(Adaptado do Prof. Hugo Vieira Neto)
César Yutaka Ofuchi
KIT LPCXPresso1343 e BaseBoard
2César Ofuchi – [email protected]
Ambiente de Desenvolvimento
• IAR Embedded Workbench for ARM– Utilizar versão 7.5 é compatível com as máquinas do
laboratório (disponível para download no site da
disciplina)
– Possui Simulador
– Necessita de interface JTAG externa (J-LINK)
• Baixar IDE IAR 7.5 no website a versão 7.5http://paginapessoal.utfpr.edu.br/ofuchi/sistemas-embarcados-
el68e/laboratório-0
4César Ofuchi – [email protected]
LPCxpresso base board
5César Ofuchi – [email protected]
LPCxpresso base Jumpers
6César Ofuchi – [email protected]
• Em uso desde 2012
• Requerem cuidado no manuseio para não serem
danificados
• Cada equipe usará sempre o mesmo kit ao
longo do semestre
• Há um kit extra disponível no almoxarifado para
uso fora de sala (laboratório livre)
Kits de Desenvolvimento
7César Ofuchi – [email protected]
• Familiarizar-se com a documentação do kit de
desenvolvimento (ler e analisar):
– Manual da placa LPCxpresso Base Board
– Diagrama esquemático da placa LPCxpresso Base Board
– Diagrama esquemático da placa LPCxpresso LPC1343
Obs: todos os documentos mencionados
acima estão disponíveis no website
Atividades Extra-Classe
8César Ofuchi – [email protected]
Armazenamento dos Kits (1)
9César Ofuchi – [email protected]
Armazenamento dos Kits (2)
10César Ofuchi – [email protected]
Armazenamento dos Kits (3)
11César Ofuchi – [email protected]
Armazenamento dos Kits (4)
12César Ofuchi – [email protected]
Armazenamento dos Kits (5)
13César Ofuchi – [email protected]
Armazenamento dos Kits (6)
14César Ofuchi – [email protected]
• Conectar o cabo USB preto no conector mini-USB
ao lado do bloco verde
• Há um conversor USB para serial na placa base
board (COM virtual)
Conexão da Alimentação
15César Ofuchi – [email protected]
• Conectar o cabo USB prateado no conector
mini-USB da placa J-LINK light (placa vermelha
embaixo da placa do processador)
• Todos os jumpers da placa do processador
devem estar abertos
Conexão do Debugger (IAR EWARM)
16César Ofuchi – [email protected]
• À venda por cerca de U$70.00 (dx.com)
• Plataforma interessante para TCC
• Display gráfico em cores QVGA
• Microcontrolador LPC1768
Opção de Kit: Land Tiger LPC1768
17César Ofuchi – [email protected]
• À venda por cerca de U$20.00 (dx.com)
Opção de Debugger: J-LINK
18César Ofuchi – [email protected]
Procedimento de Uso dos Kits no Laboratório
19César Ofuchi – [email protected]
Procedimento de Uso dos Kits no Laboratório
20César Ofuchi – [email protected]
Procedimento de Uso dos Kits no Laboratório
21César Ofuchi – [email protected]
Procedimento de Uso dos Kits no Laboratório
22César Ofuchi – [email protected]
Familiarização com Kit e Ambiente IAR
• Ler tutorial de configuração de novos projetos no ambiente IAR EWARM
• Fazer o download dos códigos exemplos (workspaces) no website (LPC1343 e parafuncionar sem a placa)
• Objetivo1: colocar em funcionamento o projeto básico– Testar modo passo-a-passo
– Verificar VIEW-> Disassembly– Verificar Registradores
– Verificar drivers da placa base
– Verificar drivers do microcontrolador
23César Ofuchi – [email protected]
Familiarização com Kit e Ambiente IAR
• Objetivo2: editar o projeto básico e escrever no display OLED e escolher um LED (LED4 – LED12) para acionar de acordo com o movimento do joystick. – Para cima escrever “C” e ligar somente LED4
– Para baixo escrever “B” e ligar somente LED12
– Para esquerda escrever “E” e ligar somente LED5
– Para direita escrever “D” e ligar somente LED13
*Dica: Consultar esquemático da placa base
24César Ofuchi – [email protected]
Familiarização com Kit e Ambiente IAR
• Objetivo3: Utilizar o IAR sem a placa base,
em modo simulação.– Utilizar o exemplo do website para funcionar sem
placa
– Verificar registradores utilizados na chamada de
função em assembly
26César Ofuchi – [email protected]
• ARM-Thumb Procedure Call Std
• Passagem de parâmetros:
- primeiros parâmetros em R0, R1, R2 e R3
demais parâmetros pela pilha
- Retorno da função:
- R0 (32 bits)
- R1:R0 (64 bits)
ATPCS
27César Ofuchi – [email protected]
Tipo Tamanho Tipo Tamanho
char 8 bits [ ] 32 bits
short 16 bits struct ptr = 32 bits
int 32 bits float 32 bits
unsigned 32 bits double 64 bits
long 32 bits enum = int
long long 64 bits
* 32 bits
ATPCS – Tipos de Dados
28César Ofuchi – [email protected]
• Quem tem a obrigação de salvar o valor dos
registradores caso interesse manter este valor
após a chamada de uma função ?
- rotina chamada: deve salvar R4 a R11 antes de
alterar
- R0 a R3,R12 podem ser livremente utilizados pela
rotina chamada
ATPCS
29César Ofuchi – [email protected]
PUSH {R4-R7,LR}
…
POP {R4-R7,LR}
BX LR
Códigos de Entrada e Saída de Função
FUNC:
PUSH {R4-R7,LR}
…
POP {R4-R7,PC}
BX LR
FUNC:
Verificar caso a caso quais
registradores precisam ser
salvos
30César Ofuchi – [email protected]
Atividades Extra Sala
• Objetivo4: Chamada de função assembly
pelo código em C.– Utilizar o exemplo do website para funcionar sem
placa
– Fazer uma função em assembly que calcule a
média aritmética dos dígitos do seu código de
aluno (ex: 488690 = (4+8+8+6+9+0)/6)
– Cada dígito é um parâmetro desta função
– Utilizar padrão ATPCS