Pic sem o bootloader
2 participantes
picminas :: PIC 18F4550 :: PIC 18F4550 :: Firmware
Página 1 de 1
Pic sem o bootloader
Olá!
Estou usando o MPLAB X para Linux e estou usando uma gravadora diretamente nos pinos ICSP (Kit Picminas vs 3.0).
Como não consigo usar o bootloader pelo MPLAB X e com a gravadora está funcionando bem, resolvi abandonar o bootloader por agora. O problema, é que o firmware não funciona.
Se eu deixo o main.c com o pragma como citado abaixo, compila, mas não roda no pic.
Então, pensei em alterar o Linker de várias formas, nas tags Start e End, mas também não deu certo.
Obs.: O pic está funcionando corretamente, já coloquei o bootloader (usando o Pickit2, no Windows) e ficou Ok.
Vocês tem alguma dica? Como usar o PIC sem o bootloader?
Obrigado
Vinicius L.
Estou usando o MPLAB X para Linux e estou usando uma gravadora diretamente nos pinos ICSP (Kit Picminas vs 3.0).
Como não consigo usar o bootloader pelo MPLAB X e com a gravadora está funcionando bem, resolvi abandonar o bootloader por agora. O problema, é que o firmware não funciona.
Se eu deixo o main.c com o pragma como citado abaixo, compila, mas não roda no pic.
- Código:
extern void _startup (void); // See c018i.c in your C18 compiler dir
#pragma code _RESET_INTERRUPT_VECTOR = 0x000
void _reset (void)
{
_asm goto _startup _endasm
}
#pragma code
Então, pensei em alterar o Linker de várias formas, nas tags Start e End, mas também não deu certo.
- Código:
CODEPAGE NAME=boot START=0x0 END=0x700 PROTECTED
CODEPAGE NAME=vectors START=0x701 END=0x829 PROTECTED
Obs.: O pic está funcionando corretamente, já coloquei o bootloader (usando o Pickit2, no Windows) e ficou Ok.
Vocês tem alguma dica? Como usar o PIC sem o bootloader?
Obrigado
Vinicius L.
vinicius loureiro- Mensagens : 3
Data de inscrição : 10/09/2010
Re: Pic sem o bootloader
Ola Vinicius,
Tudo bom?
Junto com o MPLABX a microchip também lançou um software cross plataform para boot loader HID. (no microchip solutions que voce pode baixa-lo em: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784 . Após instalado dentro do diretório ..../Microchip Solutions v2011-07-14\USB\Device - Bootloaders\HID\Software - Cross Platform).
Quando vamos programar sem o bootloader tem algumas configurações que devem ser feitas. Primeiro você deve utilizar outro linker que não reservará o espaço do bootloader. Você encontrará este link na pasta do compilador C18. (ex: mplabc18\v3.37\bin\LKR\18f4550_g.lkr). Substitua este linker pelo linker que voce utiliza para funcionar o bootloarder.
Outro cuidado a ser tomado são as configurações do microcontrolador de escolha de clock, proteção de código, watch dog timer etc. Quando você usava o firware do bootloader estas configurações eram feitas para você pelo bootloader.
As principais configurações são estas:
Isto fará o PIC funcionar sem o bootloader.
Espero ter ajudado.
Bruno S. Avelar
Tudo bom?
Junto com o MPLABX a microchip também lançou um software cross plataform para boot loader HID. (no microchip solutions que voce pode baixa-lo em: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784 . Após instalado dentro do diretório ..../Microchip Solutions v2011-07-14\USB\Device - Bootloaders\HID\Software - Cross Platform).
Quando vamos programar sem o bootloader tem algumas configurações que devem ser feitas. Primeiro você deve utilizar outro linker que não reservará o espaço do bootloader. Você encontrará este link na pasta do compilador C18. (ex: mplabc18\v3.37\bin\LKR\18f4550_g.lkr). Substitua este linker pelo linker que voce utiliza para funcionar o bootloarder.
Outro cuidado a ser tomado são as configurações do microcontrolador de escolha de clock, proteção de código, watch dog timer etc. Quando você usava o firware do bootloader estas configurações eram feitas para você pelo bootloader.
As principais configurações são estas:
- Código:
#pragma config PLLDIV = 5 // (20 MHz crystal on PICDEM FS USB board)
#pragma config CPUDIV = OSC1_PLL2
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2
#pragma config FOSC = HSPLL_HS
#pragma config FCMEN = OFF
#pragma config IESO = OFF
#pragma config PWRT = OFF
#pragma config BOR = ON
#pragma config BORV = 3
#pragma config VREGEN = ON //USB Voltage Regulator
#pragma config WDT = OFF
#pragma config WDTPS = 32768
#pragma config MCLRE = ON
#pragma config LPT1OSC = OFF
#pragma config PBADEN = OFF //NOTE: modifying this value here won't have an effect
//on the application. See the top of the main() function.
//By default the RB4 I/O pin is used to detect if the
//firmware should enter the bootloader or the main application
//firmware after a reset. In order to do this, it needs to
//configure RB4 as a digital input, thereby changing it from
//the reset value according to this configuration bit.
// #pragma config CCP2MX = ON
#pragma config STVREN = ON
#pragma config LVP = OFF
// #pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming
#pragma config XINST = OFF // Extended Instruction Set
#pragma config CP0 = OFF
#pragma config CP1 = OFF
// #pragma config CP2 = OFF
// #pragma config CP3 = OFF
#pragma config CPB = OFF
// #pragma config CPD = OFF
#pragma config WRT0 = OFF
#pragma config WRT1 = OFF
// #pragma config WRT2 = OFF
// #pragma config WRT3 = OFF
#pragma config WRTB = OFF // Boot Block Write Protection
#pragma config WRTC = OFF
// #pragma config WRTD = OFF
#pragma config EBTR0 = OFF
#pragma config EBTR1 = OFF
// #pragma config EBTR2 = OFF
// #pragma config EBTR3 = OFF
#pragma config EBTRB = OFF
Isto fará o PIC funcionar sem o bootloader.
Espero ter ajudado.
Bruno S. Avelar
Tópicos semelhantes
» uso do bootloader no ccs
» BootLoader MicroC
» Bootloader com MikroC
» Erro ao compilar o bootloader
» Utilização do Compilador CCS na confecção de Firmware com Bootloader
» BootLoader MicroC
» Bootloader com MikroC
» Erro ao compilar o bootloader
» Utilização do Compilador CCS na confecção de Firmware com Bootloader
picminas :: PIC 18F4550 :: PIC 18F4550 :: Firmware
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|