Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratório de Microprocessadores
• Apresentação
• Avaliação
• Kit de desenvolvimento e Emuladores
• Modos de endereçamento
• Aula prática 01
• Aula prática 02
• Dúvidas
2
Avaliação
• Prova = 50%
– Um trabalho extra individual pode ser entregue no dia da prova.
Se estiver funcionando corretamente substituirá 50% do valor da
prova.
– O tema do trabalho deverá ser discutido com o professor até a
aula anterior a prova
3
Kits de desenvolvimento e Emuladores
• Programador (Gravador) - Programmer
• Kit de Desenvolvimento - Experimenter Boards
• Emuladores
Programador (gravador)
Microprocessadores PIC
Kit de Desenvolvimento
Programador (gravador)
Microprocessadores MSP430
Microprocessadores MSP430
http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=1203&familyId=342&toolTypeId=1#FETkits
Kits de desenvolvimento e Emuladores
Emulação via JTAG
• JTAG ( Joint Test Access Group ) é uma interface de programação e teste de circuitos digitais, padronizada como
IEEE 1.149,1.
• O dispositivo é acessado através de quatro linhas seriais (TMS, TCK, TDI, TDO) através dos quais as portas,
memória, registradores, etc., podem ser lidos e escritos em alta velocidade:
1. TDI (Test Data In) – Entrada de dados
• Além da programação, a interface JTAG também permite testar e depurar seus microcontroladores e as portas
I/O. Com um depurador JTAG pode desenvolver software diretamente na placa eletrônica original. O depurador
desencadeia interrupção de hardware e software, interrompe o programa e executá-lo em único passo, sem
necessidade de emulador e sem hardware adicional.
Kits de desenvolvimento e Emuladores
Emulação via JTAG
Kits de desenvolvimento e Emuladores
Desenvolvimento de programas
Interpretação
• Edição consiste na digitação, de todos os mnemônicos pertencentes ao programa, utilizando um editor de texto tipo ASCII. Neste
estágio o programa está em linguagem assembly e é conhecido como código fonte.
• Montagem é a tradução do texto digitado (mnemônicos) para o respectivo código de máquina (binário) da CPU. Caso seja obtido
sucesso nesta etapa será gerado o código objeto.
– Compilação - significa traduzir o código de fonte de uma linguagem de programação de alto nível para uma linguagem de programação de
baixo nível (por exemplo, linguagem de montagem assembly ou código de máquina).
– Interpretadores - programas de computador que leem um código fonte de uma linguagem de programação interpretada e o converte em
código executável.
• Linkedição (Linker) - insere informações relativas ao sistema operacional, que está sendo utilizado, ao código fonte. Entretanto o papel
mais relevante da linkedição é a ligação de vários códigos objetos.
• Depuração (em inglês: debugging, debug) é o processo de encontrar e reduzir defeitos num aplicativo de software ou mesmo em
hardware. Erros de software incluem aqueles que previnem o programa de ser executado e aqueles que produzem um resultado
inesperado.
Kits de desenvolvimento e Emuladores
Emulador IAR Embedded Workbench
• IAR empresa Sueca que desenvolveu o software (IAR Systems).
• IAR Systems foi fundada em 1983 e desenvolve principalmente emuladores, compiladores para auxiliar no
desenvolvimento de sistemas microprocessados e microcontroladores.
Kits de desenvolvimento e Emuladores
Emulador IAR Embedded Workbench
Workspace
Área de trabalho
Situação da memória
Log
Messagens de erro e
acompanhamento
Kits de desenvolvimento e Emuladores
Emulador IAR Embedded Workbench
Agenda
• Modos de endereçamento
• Contador de programa – PC
• Ponteiro (Apontador de pilha) - SP
• Aula prática 02
• Aula prática 03
• Aula prática 04
• Dúvidas
11
Modos de Endereçamento MSP430
Modo registro indireto @Rn Rn é usado para apontar para o operando. Conteúdo do Registrador Memória
Contador de programa - PC
• O PC pode ser lido ou escrito diretamente pelo software em execução, permitindo o uso de técnicas, como por
exemplo: Desvio Calculado.
Exemplos:
• O apontador da pilha (SP/R1) é utilizado pela CPU para armazenar os endereços de retorno de sub-rotinas e
interrupções.
• Utiliza modo de prédecremento (decrementa e depois desempilha) e pós-incremento (incrementa e depois
empilha) .
• A cada operação de empilhamento (armazenar dado na pilha) o SP é decrementado de 2, e a cada operação de
desempilhamento (leitura de dado na pilha) o SP é incrementado de 2.
• O SP pode se utilizado por software em todos os modos de endereçamento e com todas as instruções.
• O SP é inicializado em memória RAM pelo usuário, sendo alinhado por endereços pares, para tanto o bit 0 é
sempre mantido em nível lógico 0.
• Após o reset o SP fica em valor indeterminado, devendo ser inicializado pelo usuário antes de utilizar a pilha.
Apontador de Pilha - SP
Exemplo:
Temos um caso especial da utilização do SP como argumento para as
instruções PUSH e POP
MOV 2(SP) ,R6 ;Carrega I2 em R6 PUSH → Armazenamento na pilha
MOV R7 ,0 (SP) ;Escreve R7 em TOS POP → Leitura de um valor da pilha
PUSH #0123h ;Coloca 0123h em TOS
POP R8 ;R8 = 0123h
Registrador de Status – SR
Registrador de Status ( Status Register – SR )
• Status Register (SR/R2): Registrador especial de 16 bits que contem os FLAGS de condições lógicas e aritméticas
alem dos bit’s de controle de Low Power Mode (LPM) e bit de habilitação global das Interrupções Mascaráveis.
8 V Flag de estouto (Overflow). Será setado se o resultado de uma operação aritméticatransbordar (overflow). O bit é válido para operação de byte ou de word.
6 SCG0 Gerador DC do DCO (Oscilador Controlado Digitalmente) do sistema. Controla o sinal DCOCLK.
Flag de desligamento do cristal oscilador do sistema de clock. Se este bit estiver setado, o oscilador a cristal entra em estado desligado. Todas as
5 OSCOFF atividades dependentes deste sinal de clock cessam, contudo o conteúdo de RAM, portos e registros são mantidos. Caso a CPU dependa deste clock
somente voltará a funcionar se ocorrer uma interrupção externa, quando o bit GIE estiver habilitado ou um sinal NMI ou reset.
Flag de desligamento do clock da CPU. Se este bit estiver setado a CPU entra em modo desligado. A execução de programas
4 CPUOFF
pára, contudo, RAM, registros e portas são preservados. Somente sairá deste estado através de interrupção ou reset.
Flag habilitador geral de interrupção (General Interrupt Enable). Se setado habilita todas as interrupções mascaráveis. Se resetado desabilita todas as
3 GIE interrupções mascaráveis. O bit GIE é resetado automaticamente pela interrupção e setado automaticamente pela instrução RETI ou por outra instrução
apropriada.
Flag Negativo. Será setado se o resultado de uma operação for negativo. Em operações de word o bit N = bit 15 do resultado.
2 N
Em operações de byte o bit N = bit 7 do resultado.
1 Z Flag Zero.Será setado se o resultado de uma operação de byte ou word for zero. Caso contrário será resetado.
Flag de transporte (carry). Será setado se uma operação produzir um carry (vai um) e zerado se não houver carry.
0 C
Em algumas instruções o bit de carry indica resultado diferente de zero (bit de zero invertido).
Os bits de status V, N, Z e C são modificados somente com instruções específicas, consulte o conjunto de instruções.
Conjunto de instruções