Você está na página 1de 77

BTL

Implementando um Bootloader
nos MCUs Microchip PIC®

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 1
Agenda

 Conceitos do Bootloader
 AN1302 Bootloader I2C™
 AN1310 Bootloader Serial
 Diferenças de Arquitetura
 Recursos Adicionais
 Resumo

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 2
Conceito de Bootloader

 “Reprogramar” o chip sem:


 Remover o componente
 Requerer programador específico
 Pessoal dedicado às atualizações
 Mínimo conhecimento técnico
necessário

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 3
Como funciona?

O bootloader roda o código, não


em modo de programação:
 Recebe o comando

 Interpreta o comando

 Executa o comando

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 4
AN1302 Agenda
 Projeto AN1302
 Comandos/I2CTM/Esquemático
 Usando o AN1302
 Métodos para entrar no bootloader
 Projeto da aplicação
 Dicas
 Interrupções/Mapa de Memória
 Bits de Configuração
 Limitações
 Programção de Múltiplos Processadores
 Lab 1: AN1302 Rodando

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 5
AN1302 I2CTM Bootloader
para PIC1X(L)F1XXX
 Tamanho de código pequeno
 Suporta todos os PIC® MCUs
enhanced midrange
 Não requer alta tensão
 Usa I2C, um protocolo comum
 Programação múltipla/seletiva
 Encaminhamento de Interrupções
 Transparente quando não em uso

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 6
AN1302 Comandos

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 7
I2CTM Escravo – Sinalização
de recepção

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 8
AN1302 Esquemático
Típico

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 9
Entrando no Modo
Bootloader
Três métodos de entrar no
bootloader:
 Sem aplicação salva

 Pino de I/O baixo e reset do chip;


liberar pino de I/O para alto
 Subrescrever a aplicação do
usuário e resetar o MCU
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 10
Dicas de Pinos de I/O

 Pode ser usado pushbutton ou


nível lógico de outro lugar
 Controlar MCLR também?
 Comando “RESET” também foi
incluído nas linhas enhanced
mid-range
 Usar Interrupt-On-Change?
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 11
Projeto da Aplicação

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 12
Última Palavra da
Aplicação do Usuário
 AN1302 verifica a última palavra da
memória de programa
 Permite transparência
 Se 0x3455, vá direto para a aplicação do
usuário
 Senão, vá para o modo bootloader
 Permite manipular o bootloader,
eliminando pino de I/O extra
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 13
Encaminhamento de
Interrupções
 Interrupção do PIC16usualmente
em 0x0004
 Bootloader remapeou a
interrupção para 0x0204
 ‘GOTO 0x0204’ salvo em 0x0004
 2 ciclos de instrução a mais para
entrar na ISR
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 14
Mapa da Memória Flash
PIC16

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 15
Bits de Configuração

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 16
Limitações

 Firmware do Bootloader não suporta


EEPROM, mas pode ser adaptado
 Arquitetura PIC16 não permite
escrita dos bits de configuração
 PIC® MCU deve ter o módulo MSSP;
até agora todos os modelos
enhanced tem.

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 17
Sistemas
Multiprocessador VDD

SCL SCL

Master Slave
I2CTM Address: 0x0A
SDA SDA

PIC 1x(L)F1xxx MCU

SCL

Slave
I2C Address: 0x0B
SDA

PIC 1x(L)F1xxx MCU

SCL

Slave I2C Address: 0x0C


SDA

PIC 1x(L)F1xxx MCU

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 18
Lab 1:
AN1302 Rodando

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 19
Objetivos Lab 1

 Reconhecimento da placa de
demonstração
 Setup dos bits de configuração e
carregar o firmware do
bootloader
 Progamar e rodar a aplicação do
usuário através do bootloader

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 20
Lab 1 Sumário

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 21
AN1310 Agenda
 AN1310 Projeto
 Lab 2: AN1310 Rodando
 Usando AN1310 na Sua aplicação
 Memória Flash
 Proteção contra Escrita
 Bootloader Incremental
 Lab 3: Desenvolvendo aplicações
utilizando o AN1310
 Aplicações AN1310 adicionais
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 22
AN1310 Bootloader Serial

 Código de programa pequeno


 Outras plataformas
 Suporta todos os PIC16/PIC18
 Autobaud de 1200 bps a
3 Mbps
 Planejamento da Escrita e
verificação de CRC
 Integração com terminal serial
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 23
Esquemático Típico

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 24
Sinalização de Dados da
UART

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 25
Sinais da UART -
Bootloader

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 26
Alcançar Altas Taxas de
Dados
 Casar taxas USB-SERIAL para as
taxas dos PIC® MCU

Why?

 Evitar conversor de nível RS-232


 Evitar cabos seriais longos
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 27
Projeto do Firmware

Data Bus

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 28
Dados Back-to-Back

IDLE Start 0 .. 7 Stop IDLE Start 0 .. 7 Stop

IDLE Start 0 .. 7 Stop Start 0 .. 7 Stop Start 0 .. 7 Stop

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 29
Mapa de Memória PIC18

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 30
Planejamento da Escrita
Bootloader Reset Vector 0000h
High Priority Interrupt Vector 0008h
Apagar:
Low Priority Interrupt Vector 0018h (1FC00 a 1F800]
Application Firmware (1C00 a 0]
1AC0h Escrever:
1C00h [0 a 1AC0)
1F800
[1FBC0 a 1FC00)
Application Reset Vector 1FBFC
1FC00
Bootloader Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 31
Planejamento da Escrita
Bootloader Reset Vector 0000h
High Priority Interrupt Vector 0008h
Apagar:
Low Priority Interrupt Vector 0018h (1FC00 a 1F800]
Application Firmware (1C00 a 0]
1AC0h Escrever:
1C00h [0 a 1AC0)
1F800
[1FBC0 a 1FC00)
1FBFC
1FC00
Bootloader Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 32
Planejamento da Escrita
Bootloader Reset Vector 0000h
0008h Apagar:
0018h
(1FC00 a 1F800]
(1C00 a 0]
1AC0h Escrever:
1C00h [0 a 1AC0)
1F800
[1FBC0 a 1FC00)
1FBFC
1FC00
Bootloader Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 33
Planejamento da Escrita
Bootloader Reset Vector 0000h
High Priority Interrupt Vector 0008h
Apagar:
Low Priority Interrupt Vector 0018h (1FC00 a 1F800]
Application Firmware (1C00 a 0]
1AC0h Escrever:
1C00h [0 a 1AC0)
1F800
[1FBC0 a 1FC00)
1FBFC
1FC00
Bootloader Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 34
Planejamento da Escrita
Bootloader Reset Vector 0000h
High Priority Interrupt Vector 0008h
Apagar:
Low Priority Interrupt Vector 0018h (1FC00 a 1F800]
Application Firmware (1C00 a 0]
1AC0h Escrever:
1C00h [0 a 1AC0)
1F800
[1FBC0 a 1FC00)
Application Reset Vector 1FBFC
1FC00
Bootloader Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 35
Lab 2:
AN1310 Rodando

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 36
Lab 2 Objetivos

 Reconhecimento da placa de
demonstração
 Setup dos bits de configuração e
carregar o firmware do
bootloader
 Experimentar diferenter taxas de
transmissão

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 37
Placa Utilizada
DM183032
PIC18 Explorer

MCP2200EV-VCP
USB-to-Serial
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 38
Placas Utilizadas

MA180024 – PIC18F46J50 USB PIM


© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 39
Lab 2 Sumário
 Baud-Rate
 Diferenças nos clocks do sistema
 Arredondamento interno da baud-rate
 Conversores de nível RS-232

 Falha da alteração da Baud


 Autobaud não roda

 A maioria dos PIC® MCUs funcionam


“out of the box” somente com alteração
nos bits de configuração
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 40
AN1310 Bootloader Serial

 AN1310 Projeto
 Lab 2: AN1310 Rodando
 Usando AN1310 na Sua aplicação
 Memória Flash
 Proteção contra Escrita
 Bootloader Incremental
 Lab 3: Desenvolvendo aplicações
com AN1310
 Aplicações AN1310 adicionais
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 41
Memória Flash

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 42
Memória Flash

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 43
Memória Flash

APAGAR

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 44
Meória Flash
0000h 0000h
Write Block
Write Block 0040h
Write Block 0080h
Write Block 00C0h
Write Block 0100h
Write Block 0140h
Erase Block
Write Block 0180h
Write Block 01C0h
Write Block 0200h
Write Block 0240h
... ...
Write Block 03C0h
0400h
0400h

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 45
Endereço 0 - Bootloader

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 46
Bootloader Incremental

Apagar 400 a 0
Escrever 0 a 400
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 47
AN1310 Agenda
 AN1310 Projeto
 Lab 2: AN1310 Rodando
 Usando AN1310 na Sua aplicação
 Memória Flash
 Proteção contra Escrita
 Bootloader Incremental
 Lab 3: Desenvolvendo aplicações
utilizando o AN1310
 Aplicações AN1310 adicionais
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 48
Lab 3 Objetivos

 Fazer o Bootloader Incremental


funcionar

 Testar e levantar a performance


da aplicação

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 49
Lab 3 Sumário

 Códigos deslocados podem


forçar escritas mais longas

 Dados back-to-back necessitam


consideração sobre
temporização

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 50
AN1310 Agenda
 AN1310 Projeto
 Lab 2: AN1310 rodando
 Usando AN1310 na Sua aplicação
 Memória Flash
 Proteção contra Escrita
 Bootloader Incremental
 Lab 3: Desenvolvendo aplicações
utilizando o AN1310
 Aplicações AN1310 adicionais
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 51
Desenvolvimento Multi-
microcontrolador
 Utilizar uma versão do AN1310
para cada microcontrolador
 AN1310 suporta COM numeradas
de 1-256
 Bootloader Incremental notifica a
amostra correta

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 52
Desenvolvimento de
Baixa Potência

 Inverter UART, IDLE = GND


© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 53
Desenvolvimento de
Baixa Potência
 Cuidado com os requisitos de
tensão
 Veja Programming Specification
 Exemplo (PIC32):
 2.3V min operação
 3.0V min programação

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 54
Agenda
 Conceitos do
 AN1302 I2C™ Bootloader
 AN1310 Serial Bootloader
 Diferenças de Arquitetura
 PIC24 Tabela do Vetor de Interupção
 PIC32 Bulk Erase
 Recursos Adicionais (Microchip Application Library)
 TFTP Internet Bootloader
 USB MSD Bootloader
 USB HID Bootloader
 Sumário

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 55
Diferenças de Arquitetura
 PIC16 tem dois vetores de interrupção
 Reset – 0x000
 Interrupt – 0x004

 PIC18 tem três vetores de interrupção


 Reset – 0x000
 High Priority Interrupt – 0x008
 Low Priority Interrupt – 0x018

 PIC24 tem um vetor fixo e uma tabela de


vetores de interrupção
 Reset – 0x000
 Cada interrupção tem uma localização única no vetor
 Sete níveis de prioridade
 A tabela de vetores ocupa 0x000-0x1FF
 Programa normal inicia em 0x200
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 56
Diferenças de
Arquitetura(PIC24)
 Bootloader Serial AN1157
 AES Versão com Encriptação
disponível - SW300052
 “Delay Time” para re-entrada do
bootloader
 Bootloader deve controlar a
Tabela de Vetores de Interrupção
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 57
PIC24 Memória Memory
GOTO instruction 0000h
Bootloader Reset Address 0002h
0004h
 O vetor de reset
Interrupt Vector Table GOTO inicia o
00FEh
Application Reset Address 0100h bootloader
0104h
Alternate Vector Table

0200h

0400h
 Limpeza da
Bootloader Firmware memória –
Tamanho do
0C00h
bloco – 1024
Application Firmware
bytes
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 58
PIC24 Memória Flash
NOP 0000h
NOP 0002h  O vetor de de
Interrupt Vector Table
0004h
interrupção NÃO
Application Reset Address
00FEh
0100h
pode ser
0104h executado
Alternate Vector Table

0200h

0400h  Componente
Bootloader Firmware
trava – Não
0C00h
pode voltar para
o bootlodar para
Application Firmware
recuperar
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 59
PIC24 Memória Flash
GOTO instruction 0000h
Bootloader Reset Address 0002h  Faça a tabela de
0004h
Interrupt Vector Table vetores de
Application Reset Address
00FEh
0100h
interrupção de
Alternate Vector Table
0104h hardware parte do
0200h
bootloader
Bootloader Firmware
 Corrija o endereço
das interrupções e
não mude
0C00h

Application Firmware

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 60
PIC24 Remapear o Vetor de
Interrupções
void __attribute__((address(0xA800)))
_InterruptRemapping()
{
asm("reset");
Nop();
asm("goto __ReservedTrap0");
asm("goto __OscillatorFail");
asm("goto __AddressError");
asm("goto __StackError");
asm("goto __MathError");
asm("goto __INT0Interrupt");
...
}

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 61
Diferenças de Arquitetura
(PIC32)
 12KB “Boot Flash” separados
0xBFC00000 - 0xBFC02FFF
 Bits de configuração no final da
memória flash de Boot
 Memória de programa normal inicia
em 0x9D000000
 Tabela de vetores relocáveis através
do registrador EBASE
 PIC32 bootloaders podem “Bulk
Erase”
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 62
Bulk Erase vs. Page Erase
 PIC32 Espec de Programação
 Page Erase Time = 40 ms
 Bulk Erase Time = 400 ms
 512 KB FLASH
 1024 Byte Erase Block size

E daí??

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 63
Bulk Erase vs. Page Erase
 PIC32 Espec de Programação
 Page Erase Time = 40 ms
 Bulk Erase Time = 400 ms
 512 KB FLASH
 1024 Byte Erase Block size
 Por favor, apagando 512 blocos...
 20 segundos por Page Erases
 400 ms por Bulk Erase

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 64
Agenda
 Conceitos de Bootloader
 AN1302 I2C™ Bootloader
 AN1310 Serial Bootloader
 Diferenças de Arquitetura
 PIC24 Tabela de Vetores de Interrupção
 PIC32 Bulk Erase
 Recursos Adicionais (Microchip Application Library)
 TFTP Internet Bootloader
 USB MSD Bootloader
 USB HID Bootloader
 Sumário

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 65
Bootloader Internet
 Localização dadrão:
 C:\Microchip Solutions\TCPIP Internet
Bootloader App
 Documentação em:
C:\Microchip Solutions\Microchip\Help\TCPIP
Stack Help.chm

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 66
Bootloader Internet

 Família PIC18F97J60/ PICDEM.net™ 2


 Stack TFTP/UDP
 Abordagem “Two Stacks”
 Cliente já atualiza software na maioria
dos computadores
 Bootloader no final da memória
FLASH (usa 8KB)
 Verifica o conteúdo HEX no chip

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 67
Bootloader Internet
Placa de Demonstração

DM163024 – PICDEM.net™ 2
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 68
Bootloader MSD Host
 Aplicação carregada de um drive
USB
 Usa abordagem “Two Stacks”
 Bootloader é totalmente independente da aplicação
 1x MSD Host USB Stack com suporte a sistema de arquivos MDD
 1x aplicação USB device (qualquer classe permitida)

 Requer Microcontrolador PIC24 ou


PIC32 USB OTG
 Sistema de Arquivos MDD necessário para ler o arquivo .hex file
do drive USB
 Sistema de Arquivos MDDé razoavelmente longo
 Projeto demonstrativo do bootloaderMSD host: ~46 kB

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 69
MSD Bootloader
Placas de Demonstração

DM240001 – Explorer 16
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 70
MSD Host Bootloader
Placas de Demonstração

MA240014 – PIC24FJ256GB110 PIM


AC164131 – USB PICtail
PICtail™
™ Plus
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 71
Usar Bootloader
USB HID
 Localização padrão:
 C:\Microchip Solutions\USB Device -
Bootloaders\HID - Bootloader\HID Bootloader -
Firmware for [PIC nome da família]
 Aplicação no PC usada para todas as famílias
USB – “HID Bootloader - PC Software”

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 72
Bootloader USB HID

 Abordagem “Two USB Stacks”


 Vendor definiod/HID customizável

 Projeto “Host”
 Programa Host é responsável pelo envio de comandos,
basicamente:
 QUERY_DEVICE – veja abaixo
 ERASE_DEVICE – apagar NVM
 PROGRAM_DEVICE – para enviar dados a serem programados
 GET_DATA – recupera dados da NVM, usado para verificação
 Especificações do Microcontrolador (ex: tamanho de memória,
regiões de programação, etc.) contidas no firmware
 Firmware envia esta informação para o host em resposta ao
comando “QUERY_DEVICE” (dependente do vendor)

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 73
Bootloader USB HID
(PIC18)
 Firmware do Bootloader ocupa 0x000-0xFFF
 Bootloader manda no vetor de Reset e vetores de interrupção
 Interrupções remapeadas para: 0x1000 + “valor”

 Bootloader verifica pushbutton no power up (RB2):


 Se pressionado – fica no bootloader
 Se não – pula para aplicação (remapeado para 0x1000)

 Aplicação acupa 0x1000+


 Use o script de linker modificado (da pasta “Application Files”) no
projeto da aplicação
 Nada mais necessita alterações
 Arquivo .hex resultante deve ser programável com ou sem
bootloader

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 74
Sumário

 Hoje nós vimos:


 Projetos com Bootloader
 Sinalização I2C™/UART
 Re-entrada do Bootloader
 Proteção contra escrita do bootloader
 Atualização incremental da aplicação
 Diferenças das Arquiteturas
 Recursos Adicionais (MAL)

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 75
Sumário
Bootloader Arquitetura Protocolo Proteção
AN1302 PIC12/PIC16 I2C™ Hardware Write
(Enhanced Protect
Mid-Range)
AN1310 PIC16, PIC18 UART Software and
Hardware Write
Protect
AN1157 PIC24F UART Software and
Hardware Write
Protect
Read Protect
(secure encryption)
Internet Bootloader PIC18F97J60 TFTP/UDP Software Write
(MAL) Family Protect
USB MSD (MAL) PIC24 USB Host / Mass Hardware Write
Storage Device Protect
USB HID (MAL) PIC18, PIC24, USB HID Hardware Write
PIC32 Protect
© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 76
Trademarks
 The Microchip name and logo, the Microchip logo, dsPIC, KeeLoq, KeeLoq logo,
MPLAB, PIC, PICmicro, PICSTART, PIC32 logo, rfPIC and UNI/O are registered
trademarks of Microchip Technology Incorporated in the U.S.A. and other
countries.
 FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MXDEV, MXLAB,
SEEVAL and The Embedded Control Solutions Company are registered trademarks
of Microchip Technology Incorporated in the U.S.A.
 Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM,
dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-
TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified
logo, MPLIB, MPLINK, mTouch, Octopus, Omniscient Code Generation, PICC,
PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rfLAB, Select Mode,
Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other countries.
 SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
 All other trademarks mentioned herein are property of their respective companies.
 © 2010, Microchip Technology Incorporated, All Rights Reserved.

© 2010 Microchip Technology Incorporated. All Rights Reserved. 1433 BTL Slide 77

Você também pode gostar