Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro de laboratório
Versão 2021.1
Roteiro 02
Arquitetura ARM e ambiente de
desenvolvimento Keil
Resumo
Atividades
Antes de iniciar as atividades, certifique-se de que a ligação entre o dispositivo
ST-LINK e a placa de treinamento bluepill esteja correta. A Figura 1 mostra a
ligação apropriada. Além disso, nunca se deve alimentar a placa bluepill através
da entrada USB e do dispositivo ST-LINK ao mesmo tempo, uma vez que tal
procedimento pode danificar a placa de treinamento.
O objetivo das atividades é familiarizar os alunos com a interface de depuração
(debug) do ambiente de desenvolvimento Keil. Dessa forma, a realização das ativi-
dades deve considerar a observação dos valores determinados através dos elementos
da interface de depuração.
1
Atividade 1
Execute, passo-a-passo, o programa mostrado na Figura 2. Após a execução
de cada linha de código, anote os valores dos registros R1, R6 e das posições
de memória 0x20000092, 0x20000093, 0x20000094, 0x20000095 e 0x2000096 como
comentários no seu código. O conteúdo dos registros pode ser visualizado no painel
superior esquerdo. Já o conteúdo das posições de memória podem ser visualizados
buscando-se cada um dos endereços no painel inferior direito.
Ao final da atividade, não se esqueça de fechar o projeto. É uma boa prática
trabalhar com um projeto aberto por vez, para evitar equı́vocos (Project → Close
project).
Atividade 2
Execute, passo-a-passo, o programa mostrado na Figura 3. Após a execução de
cada linha de código, anote os valores dos registros R2, R3 e R4 e dos indicadores C
e Z. Todos os valores podem ser acompanhados através do painel superior esquerdo.
Ao final da atividade, não se esqueça de fechar o projeto. É uma boa prática
trabalhar com um projeto aberto por vez, para evitar equı́vocos (Project → Close
project).
Atividade 3
Utilizando o código mostrado na Figura 2, insira pontos de parada nas linhas
7, 13, 19, 25 e 31. Em seguida rode o programa até os pontos de parada inseridos.
Como se trata do mesmo código usado na atividade 1, o projeto criado anterior-
mente pode ser utilizado, bastando-se abri-lo através do menu apropriado (Project
→ Open project).
Ao final da atividade, não se esqueça de fechar o projeto. É uma boa prática
trabalhar com um projeto aberto por vez, para evitar equı́vocos (Project → Close
project).
2
1 EXPORT __main
2 AREA exemplo CODE , READONLY
3 __main
4 ; Posicao 0 x20000092
5 LDR R6 ,=0 x20000092 ; R6 =0 x20000092
6 MOV R1 ,#0 x99 ; R1 =0 x99
7 STRB R1 ,[ R6 ] ; Salva R1 na posicao
8 ; apontada por R6
9
10 ; Posicao 0 x20000093
11 ADD R6 , R6 ,#1 ; R6 = R6 +1
12 MOV R1 ,#0 x85 ; R1 =0 x85
13 STRB R1 ,[ R6 ] ; Salva R1 na posicao
14 ; apontada por R6
15
16 ; Posicao 0 x20000094
17 ADD R6 , R6 ,#1 ; R6 = R6 +1
18 MOV R1 ,#0 x3F ; R1 =0 x3F
19 STRB R1 ,[ R6 ] ; Salva R1 na posicao
20 ; apontada por R6
21
22 ; Posicao 0 x20000095
23 ADD R6 , R6 ,#1 ; R6 = R6 +1
24 MOV R1 ,#0 x63 ; R1 =0 x63
25 STRB R1 ,[ R6 ] ; Salva R1 na posicao
26 ; apontada por R6
27
28 ; Posicao 0 x20000096
29 ADD R6 , R6 ,#1 ; R6 = R6 +1
30 MOV R1 ,#0 x12 ; R1 =0 x12
31 STRB R1 ,[ R6 ] ; Salva R1 na posicao
32 ; apontada por R6
33 END
3
1 EXPORT __main
2 AREA exemplo CODE , READONLY
3 __main
4 MOV R2 ,#4 ; R2 =4
5 MOV R3 ,#2 ; R3 =2
6 MOV R4 ,#4 ; R4 =4
7 SUBS R5 , R2 , R3 ; R5 = R2 - R3
8 SUBS R5 , R2 , R4 ; R5 = R2 - R4
9 END
Tarefas
1. O processador ARM possui -bits.
2. Os registros de uso geral possuem -bits.
3. Qual é o maior valor que pode ser armazenado em um registro de uso geral?
D^e a resposta em representação hexadecimal.
4. Verdadeiro ou falso? Os registros dos periféricos internos estão mapeados no
espaço de memória.
5. Qual é o maior número de bytes que um dispositivo ARM pode acessar?
6. Verdadeiro ou falso? Não se pode carregar um valor diretamente na memória
SRAM.
7. Todo dispositivo Cortex-M é direcionado para o endereço após o reset.
Entrega
Deverá ser entregue através do SIGAA, um arquivo no formato PDF. O docu-
mento deve apresentar a identificação clara do aluno, incluindo nome, número de
matrı́cula, turma e o número do roteiro de refer^encia.
Para esse roteiro, o arquivo deve conter os códigos comentados das atividades
1 e 2 (não é necessário entregar a atividade 3) e as tarefas respondidas.
O arquivo a ser entregue deve ser nomeado seguido o modelo:
4
Não serão aceitos arquivos com conteúdo ou nomenclatura diferentes das
orientações.