SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Universidade Federal de Itajubá
Defesa da Tese

Troca de contexto segura em
sistemas operacionais embarcados
utilizando técnicas de detecção e
correção de erros
Rodrigo M A Almeida
Orientador: Luis Henrique de Carvalho Ferreira
Coorientador: Carlos Henrique Valério de Moraes
Sumário
• Objetivos
• Conceitos
•
•
•
•

Sistemas embarcados
Sistemas operacionais
Segurança
Algoritmos de correção de informação

• Desenvolvimento
• Resultados
• Conclusões
Motivação
• "Dado o aumento da dependência da sociedade na
computação embarcada, nos sistemas de
sensoriamento bem como as aplicações que eles
suportam, uma nova forma de vulnerabilidade é
inserida nesta infraestrutura critica e que apenas
agora esta começando a ser reconhecida como uma
ameaça significante com possibilidade de graves
consequências." (Wygliski, 2013)
Motivação
• Erro no firmware do controle de aceleração de um
carro da Toyota
• Stackoverflow
• Falta de backup (mirroring) das variáveis importantes
• Ganho de causa na justiça Americana Nov/2013

• Stuxnet
• Primeiro vírus direcionado a sistemas embarcados
Detectado em 06/2010
• Continua atacando sistemas, com novas alegações de
ataques na Rússia em Nov/2013
Objetivo
• Metodologia aplicada à sistemas embarcados que
aumente a robustez do sistema:
• Baixo consumo de recursos
• Mantenha a capacidade de execução de processos com
requisitos tempo real
• Proteger o sistema contra vulnerabilidades
Conceitos
Sistemas Embarcados
Conceitos
Sistemas embarcados
• Microprocessador
• Escassez de recursos
• Pouca ou nenhuma interface com o usuário
• Requisitos comuns
• Alta disponibilidade
• Processamento em tempo real
• Baixo custo
Sistema operacional
Conceitos
Sistemas operacionais
Aplicação

SO

Memória

CPU

I/O
Sistemas operacionais
Aplicação

Bibliotecas
C/C++

GUI

Maquinas
Virtuais

Kernel

Sistema de
Arquivos

Memória

Troca de
Contexto

Drivers

CPU

I/O
Troca de contexto
Troca de contexto
Troca de contexto
Troca de contexto
Troca de contexto
Segurança
Conceitos
Segurança
• Confidencialidade: garantia que as informações não
serão disponibilizadas
• Disponibilidade: Garantia que o equipamento
continuará funcionando
• Integridade: garantia que as informações não serão
alteradas indevidamente
Fontes de problemas
• Erros em memórias
Probabilidade de falha

• Interferência
eletromagnética
• Problemas de conexão
elétrica
• Bombardeamento de
partículas atômicas
• Falha por desgaste (vida
útil)

100%
80%
60%
40%
20%
0%
0,001

0,01

0,1

1

10

100

Tempo de funcionamento (anos)

1000
Falhas em memórias
Falhas em memórias
Fontes de problemas
• Vulnerabilidades nos códigos
• Buffer overflow
• Unitialized reads
• Diversidade de compiladores

• Invasões e Ataques
Soluções atuais
• Redundância em memórias
• Limitação na execução de páginas
• Modificação do programa em tempo de execução
• Microkernel
Algoritmos de detecção
e correção de erros
Conceitos
Algoritmos de detecção/correção
de erros
• Se utilizam na inserção de informações
redundantes para realizar a detecção de erros na
transmissão/armazenamento de informações.
• CRC (ciclic redundant check)
• Hamming
CRC
Hamming
Desenvolvimento
Desenvolvimento
• Criação de um SO modelo para teste da
metodologia
• Inserção de um sistema de detecção/correção de
erros na troca de contexto
• Correção mista
• Real time – Hamming
• “Normais” – CRC
Sistema
Operacional

Aplicação

serialMonitor

pidController

main

Kernel

kernel_definitions

*

kernel
calculus

process

<<interface>>

function

Controladora de Drivers

ddCtr_prm.h

ddCtr

Generic Driver

ctrPID

*

ctrlMngr

ADC DAC Serial

Interrupt Timer

driver

driverAbstrato
Detecção de erro (CRC)
Interrupção

Calculo do CRC do
próximo processo

Salvar variáveis do
processo corrente
CRC OK?

Carrega variáveis do
próximo processo

Carrega rotina
de recuperação

Fim da interrupção

Calculo do CRC do
processo corrente

Carregamento do
próximo processo
Correção de erro (Hamming)
Interrupção

Calculo do Ham do
próximo processo

Salvar variáveis do
processo corrente
Hamming OK?

Carrega variáveis do
próximo processo

Corrige erros dos
dados da pilha

Fim da interrupção

Calculo do CRC do
processo corrente

Carregamento do
próximo processo
Implementação no HCS12
• Adição de 2 bytes de verificação para cada pilha de
contexto.
Posição na memória

Informação

Tamanho

stk-3

Resultado do CRC

2 bytes (High:Low)

stk-1

PPage

1 byte

stk+0

CCR

1 byte

stk+1

D

2 bytes (B:A)

stk+3

X

2 bytes (High:Low)

stk+5

Y

2 bytes (High:Low)

stk+7

PC

2 bytes (High:Low)
Solução Mista
Salva
CRC

Interrupção

Checar CRC

Próximo
processo
é RT?

Processo
Atual é
RT?

Salva
Hamming

Reinicia
Processo

Fim da interrupção

Checar
Hamming

Corrige Pilha
Resultados
Consumo de memória
Consumo de CPU
Resultados
Sem processo em execução (idle)
Troca de contexto
Processo de tempo real
Processos extras (sobrecarga)
Consumo dos Escalonadores
12%

Consumo de CPU

10%

EDF
RR

8%

Troca de Contexto
6%
4%
2%
0%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Número de Processos
Consumo dos Escalonadores
Sem Prioridade

Com Prioridade

12%
10%

Consumo de CPU

EDF

8%

RR

6%
4%
2%
0%
1

2

3

4

5

6

8 10 12 14 16 18 20 22 24
2 4 6 8 10 12 14 16 18 20 22 24
7 9 11 13 15 17 19 21 23 25 1 3 5 7 9 11 13 15 17 19 21 23 25

Número de Processos

Número de Processos
Consumo dos métodos de
detecção/correção
50%

Consumo de CPU

40%
30%

RR
CRC

20%

Hamming

10%
0%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Número de Processos
Consumo dos métodos
otimizados
Consumo do método misto
10%

Consumo de CPU

9%
8%
7%
6%

Medido
Calculado

5%
4%
3%
2%
1%
0%

0

5

10

15

20

Período pRT em ticks

25

30

35

40
Sem processo em execução (idle)
Troca de contexto
Processo de tempo real
Simulação de falhas na
memória
Resultados
Falhas observadas com o sistema
de correção/detecção desligado
Byte

Descrição

0
1
2
3
4
5
6
7
8
9
10
11

CRC (alto)
CRC (baixo)
Paginação
CCR
Acumulador B
Acumulador A
Indexador IX (alto)
Indexador IX (baixo)
Indexador IY (alto)
Indexador IY (baixo)
Contador de Programa (alto)
Contador de Programa (baixo)

Bit
7 6 5 4 3 2 1 0
Comando para simulação de falha
Resposta do sistema
Troca de contexto
Ação de controle
Comando para simulação de falha
Resposta do sistema
Troca de contexto
Ação de controle
Melhoria na confiabilidade
do sistema
Resultados
Confiabilidade no funcionamento
Sistema de controle
Resultados
Resultados
Malha aberta

Simulação

Teste na planta

Resposta do sistema
Referência
Ação de controle
Diagrama de blocos da simulação
Kp=1; Ki=0; Kd=0;

Simulação

Teste na planta

Resposta do sistema
Referência
Ação de controle
Kp=1; Ki=5; Kd=0;

Simulação

Teste na planta

Resposta do sistema
Referência
Ação de controle
Kp=10; Ki=3; Kd=0,02;

Simulação

Teste na planta

Resposta do sistema
Referência
Ação de controle
Conclusão
Conclusões
• É uma técnica implementável na maioria dos
sistemas operacionais atuais
• Baixo consumo de Flash e RAM
• Consumo de processamento de 12% à 50%
• É possível reduzir o consumo para valores de 1,7% à
8,5% com o uso de lookup tables, aumentando no
entanto o consumo de RAM ou Flash (+600 bytes)
Conclusões
• O sistema é capaz de se recuperar de problemas
que corrompam a pilha de dados
• Processos com exigência de RT
• Continuaram sua execução sem problemas, mesmo com
ocorrência de erros

• A solução mista aumenta a segurança sem um
consumo exagerado de processamento
Agradecimentos
Agradecimento
• Luis e Carlos pelas valiosas orientações
• Adriano, Cesar, Lucas, Henrique e Rafael, pelo auxilio nos
drivers e testes
• Enzo pela ajuda na 1ª versão do kernel e a Thaty pelas
revisões do documento
• Armando pela ajuda na estatística e análises de confiabilidade
• Alberto Fabiano pelas conversas sobre segurança e
embarcados
• Colegas do Grupo de engenharia biomédica pelo apoio e
infraestrutura.
Obrigado

Contenu connexe

En vedette (12)

Hgfdpoi
HgfdpoiHgfdpoi
Hgfdpoi
 
Aulas virtuales
Aulas virtualesAulas virtuales
Aulas virtuales
 
US9492725B2
US9492725B2US9492725B2
US9492725B2
 
Paul
PaulPaul
Paul
 
Jackson 1 cveleros
Jackson 1 cvelerosJackson 1 cveleros
Jackson 1 cveleros
 
Test
TestTest
Test
 
1
11
1
 
Fiche Solaria
Fiche SolariaFiche Solaria
Fiche Solaria
 
1
11
1
 
We future challenge_blogger
We future challenge_bloggerWe future challenge_blogger
We future challenge_blogger
 
Research hypothesis
Research hypothesisResearch hypothesis
Research hypothesis
 
employment certificate
employment certificateemployment certificate
employment certificate
 

Similaire à Troca de contexto segura em SO embarcados usando ECC

Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Rodrigo Almeida
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizadoselliando dias
 
TDC - Testes e Sistemas legados #quemNunca - SC/2016
TDC - Testes e Sistemas legados #quemNunca - SC/2016TDC - Testes e Sistemas legados #quemNunca - SC/2016
TDC - Testes e Sistemas legados #quemNunca - SC/2016Fernando Santiago
 
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Troca de contexto segura em sistemas operacionais embarcados utilizando técni...
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Rodrigo Almeida
 
Resultados da prova it essentians
Resultados da prova it essentiansResultados da prova it essentians
Resultados da prova it essentiansrntd2
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroMySQL Brasil
 
[CLASS 2014] Palestra Técnica - Valéria Alves
[CLASS 2014] Palestra Técnica - Valéria Alves[CLASS 2014] Palestra Técnica - Valéria Alves
[CLASS 2014] Palestra Técnica - Valéria AlvesTI Safe
 
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdf
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdfslide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdf
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdfProfIvanSaboia
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan SeidlTI Safe
 
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineProjeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineJoao Galdino Mello de Souza
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesJefferson Moreira
 
Geração Automática de Autómatos Celulares para FPGA
Geração Automática de Autómatos Celulares para FPGAGeração Automática de Autómatos Celulares para FPGA
Geração Automática de Autómatos Celulares para FPGAAndré Costa Lima
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Fabiano Weimar
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 

Similaire à Troca de contexto segura em SO embarcados usando ECC (20)

Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
TDC - Testes e Sistemas legados #quemNunca - SC/2016
TDC - Testes e Sistemas legados #quemNunca - SC/2016TDC - Testes e Sistemas legados #quemNunca - SC/2016
TDC - Testes e Sistemas legados #quemNunca - SC/2016
 
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Troca de contexto segura em sistemas operacionais embarcados utilizando técni...
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...
 
Resultados da prova it essentians
Resultados da prova it essentiansResultados da prova it essentians
Resultados da prova it essentians
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo Eletro
 
[CLASS 2014] Palestra Técnica - Valéria Alves
[CLASS 2014] Palestra Técnica - Valéria Alves[CLASS 2014] Palestra Técnica - Valéria Alves
[CLASS 2014] Palestra Técnica - Valéria Alves
 
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdf
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdfslide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdf
slide-grc-resoluc3a7c3a3o-de-problemas-troubleshooting.pdf
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
 
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineProjeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
 
Esd Control
Esd ControlEsd Control
Esd Control
 
seissigmatrad.pdf
seissigmatrad.pdfseissigmatrad.pdf
seissigmatrad.pdf
 
Cap1.pdf
Cap1.pdfCap1.pdf
Cap1.pdf
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas Doentes
 
14 Diagnóstico de motores elétricos - conceitos de MCM
14 Diagnóstico de motores elétricos - conceitos de MCM14 Diagnóstico de motores elétricos - conceitos de MCM
14 Diagnóstico de motores elétricos - conceitos de MCM
 
Geração Automática de Autómatos Celulares para FPGA
Geração Automática de Autómatos Celulares para FPGAGeração Automática de Autómatos Celulares para FPGA
Geração Automática de Autómatos Celulares para FPGA
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
 
SRE passo a passo
SRE passo a passoSRE passo a passo
SRE passo a passo
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
MS Enterprise Library
MS Enterprise LibraryMS Enterprise Library
MS Enterprise Library
 

Plus de Rodrigo Almeida

Embedded systems design @ defcon 2015
Embedded systems design @ defcon 2015Embedded systems design @ defcon 2015
Embedded systems design @ defcon 2015Rodrigo Almeida
 
Embedded systems development Defcon 19
Embedded systems development Defcon 19Embedded systems development Defcon 19
Embedded systems development Defcon 19Rodrigo Almeida
 
As diferentes engenharias
As diferentes engenhariasAs diferentes engenharias
As diferentes engenhariasRodrigo Almeida
 
Testing de software en instrumentos de pesar de funcionamiento no automatico ...
Testing de software en instrumentos de pesar de funcionamiento no automatico ...Testing de software en instrumentos de pesar de funcionamiento no automatico ...
Testing de software en instrumentos de pesar de funcionamiento no automatico ...Rodrigo Almeida
 
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Rodrigo Almeida
 
Cryptology - Antônio Lacerda
Cryptology - Antônio LacerdaCryptology - Antônio Lacerda
Cryptology - Antônio LacerdaRodrigo Almeida
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de driversRodrigo Almeida
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
Kernel com requisitos temporais
Kernel com requisitos temporaisKernel com requisitos temporais
Kernel com requisitos temporaisRodrigo Almeida
 
Definição de processos
Definição de processosDefinição de processos
Definição de processosRodrigo Almeida
 
Conceitos de ponteiros struct e buffers
Conceitos de ponteiros struct e buffersConceitos de ponteiros struct e buffers
Conceitos de ponteiros struct e buffersRodrigo Almeida
 
Introdução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosIntrodução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosRodrigo Almeida
 
Segurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusSegurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusRodrigo Almeida
 
Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCDRodrigo Almeida
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialRodrigo Almeida
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosRodrigo Almeida
 
Acessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorAcessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorRodrigo Almeida
 

Plus de Rodrigo Almeida (20)

Embedded systems design @ defcon 2015
Embedded systems design @ defcon 2015Embedded systems design @ defcon 2015
Embedded systems design @ defcon 2015
 
Embedded systems development Defcon 19
Embedded systems development Defcon 19Embedded systems development Defcon 19
Embedded systems development Defcon 19
 
As diferentes engenharias
As diferentes engenhariasAs diferentes engenharias
As diferentes engenharias
 
Testing de software en instrumentos de pesar de funcionamiento no automatico ...
Testing de software en instrumentos de pesar de funcionamiento no automatico ...Testing de software en instrumentos de pesar de funcionamiento no automatico ...
Testing de software en instrumentos de pesar de funcionamiento no automatico ...
 
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
 
Cryptology - Antônio Lacerda
Cryptology - Antônio LacerdaCryptology - Antônio Lacerda
Cryptology - Antônio Lacerda
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de drivers
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
Kernel com requisitos temporais
Kernel com requisitos temporaisKernel com requisitos temporais
Kernel com requisitos temporais
 
Kernel cooperativo
Kernel cooperativoKernel cooperativo
Kernel cooperativo
 
Definição de processos
Definição de processosDefinição de processos
Definição de processos
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
Conceitos de ponteiros struct e buffers
Conceitos de ponteiros struct e buffersConceitos de ponteiros struct e buffers
Conceitos de ponteiros struct e buffers
 
Introdução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosIntrodução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcados
 
Segurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusSegurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virus
 
Comunicação serial
Comunicação serialComunicação serial
Comunicação serial
 
Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCD
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricial
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
 
Acessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorAcessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontrolador
 

Troca de contexto segura em SO embarcados usando ECC