Professional Documents
Culture Documents
1 Formato das Transaes Transao do Source: Reset, EA Nvel de Prioridade: IP0 e IP1 SCON, TCON IE Transao do Checker: SCON, TCON PC
[CT 001] Monitorar Ocorrncia de Interrupo
1.2
Casos de Teste
EA = 1 ES = 1 RI ou TI = transio de 0 para 1
EA = 1
EA = 1 ES, EX0, EX1, ET0, ET1 = 1 RI ou TI = transio de 0 para 1 IE0, IE1, TF0, TF1 = transio de 0 para 1
EA = 0 ES, EX0, EX1, ET0, ET1 = qq valor RI ou TI = qq valor IE0, IE1, TF0, TF1 = qq valor
10
EA = qq valor ES, EX0, EX1, ET0, ET1 = 0 RI ou TI = qq valor IE0, IE1, TF0, TF1 = qq valor
EA = 1 ES = 1 RI E TI = transio de 0 para 1
???
Descrio:
Procedimento de Teste:
1 Fila de execuo vazia 2 Interrupo da USART (prioridade: IP1.x, IP0.x = 0) 3 Interrupo do Timer 0 com mesma prioridade enquanto a USART ainda est executando
1. coloca interrupo USART como primeiro da fila 2. interrompe a execuo da USART, e coloca o Timer 0 3. Ao final da execuo do Timer, executar (dar continuidade ou recomear ????) a USART 1. coloca interrupo Externa 0 como primeiro da fila 2. Ao final da execuo da Externa 0, executar o Timer 1
1 Fila de execuo vazia 2 Interrupo da porta Externa 0 (prioridade: IP0.x, IP1.x = 1) 3 Interrupo do Timer 1 com mesma prioridade enquanto a Externa 0 ainda est executando
1. Externa 0 execuo
(prioridade
002)
em
2. Fila de execuo: Timer 1 (prioridade 002) 3. Interrupo da USART (prioridade 112) 4. Interrupo do Timer 0 com mesma prioridade enquanto a USART ainda est executando
1. Externa 0 execuo
(prioridade
112)
em
1. Externa 0 continua em execuo 2. Fila de Execuo: USART (prioridade 112) Timer 1 (prioridade 002)
Externa 0 (prioridade 002) Timer 1 (prioridade 002) 3. CPU sinaliza retorno da execuo
[PD 002] Gerenciar Execuo de Interrupo (corner) Linha Entradas Sadas
Fila de execuo permanece inalterada (Chuta quem tem menor prioridade ???) Nova interrupo descartada
1 2 3 4 5 6 7
Executar rotina da interrupo Externa 0 IT0 = 1 Executar rotina da interrupo Externa 0 IT0 = 0 Executar rotina de interrupo do Timer 0 Executar rotina da interrupo Externa 0 IT1 = 1 Executar rotina da interrupo Externa 0 IT1 = 0 Executar rotina de interrupo do Timer 1 Executar rotina de interrupo da USART
IE0 = 0 PC = 0003h PC = 0003h TF0 = 0 PC = 000Bh IE1 = 0 PC = 0003h PC = 0013h TF1 = 0 PC = 001Bh PC = 0023h
Descrio: Testar o gerenciador como um todo: monitorar, gerenciar e executar rotina de tratamento.
Procedimento de Teste:
[PD 001] Executar Rotina de Tratamento de Interrupo (corner)
Linha Entradas
Sadas
1 2
[PD 002] Executar Rotina de Tratamento de Interrupo (real) Linha Entradas Sadas
Escrever em assembly aplicaes reais utilizando ferramenta da Keil. Utilizar, tambm, exemplos de ESE
[PD 003] Executar Rotina de Tratamento de Interrupo (random) Linha Entradas Sadas
Variar os seguintes parmetros: IP0 e IP1: prioridade IE : 0x00 a 0xff TCON = 0x00 a 0xff SCON = 0x00 a 0xff
1.3 1.3.1
1.3.2
Cobertura de Cdigo
Utilizar comando gcov para analisar cobertura de cdigo