Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

bootloader Pic 18F6520



  1. #1
    jum0034

    bootloader Pic 18F6520


    ------

    bonjour,

    je souhaite mettre en place un bootloader qui chargerait le programme principal par I2C ,mais je ne connais pas trop le fonctionnement des bootloaders ,si quelqu'un aurai un exemple pour ce type d'utilisation sa serai cool.

    merci

    -----

  2. Publicité
  3. #2
    jum0034

    Re : bootloader Pic 18F6520

    Personne peu m'aider

  4. #3
    cherwam07

    Re : bootloader Pic 18F6520

    Salut,

    Bigonoff cours PART-5 pour savoir tout ce qu'il faut pour un bootloader PIC18 (c'est de l'asm mais facilement transposable)
    Le même bigonoff, pour l'utilisation de l'I2C, ou une librairie de ton outil de développement.

    Bon courage

  5. #4
    jum0034

    Re : bootloader Pic 18F6520

    salut a tous ,
    je viens de faire mon bootloader en C pour le pic 18F6520
    mais je doit readresser les vecteur d'interruption ainsi que les adresse du bootloader et du programme principal ,
    ou doit-je faire ces modification ?
    si s 'est sur le .lib , avec quel logiciel doit je le modifier?
    merci

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    cherwam07

    Re : bootloader Pic 18F6520

    Ca dépend de ton compilo.

    Si tu utilises MCC18, alors tu dois modifier le <18fxxxx>.lkr

    Prend exemple sur d'autres bootloaders sur le site de micro sheep.

  9. #6
    jum0034

    Re : bootloader Pic 18F6520

    OK, je te remercie

  10. Publicité
  11. #7
    jum0034

    Re : bootloader Pic 18F6520

    voici mon linker modifié:

    // File: 18f6520i.lkr
    // Sample ICD2 linker script for the PIC18F6520 processor

    LIBPATH .

    FILES c018i.o
    FILES clib.lib
    FILES p18f6520.lib
    CODEPAGE NAME=boot START=0x0 END=0x1FF PROTECTED
    CODEPAGE NAME=h_int_vect START=0x208 END=0x217 PROTECTED
    CODEPAGE NAME=l_int_vect START=0x218 END=0x229 PROTECTED
    CODEPAGE NAME=page START=0x22A END=0x7D7F
    CODEPAGE NAME=debug START=0x7D80 END=0x7FFF PROTECTED
    CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
    CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
    CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
    CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED

    ACCESSBANK NAME=accessram START=0x0 END=0x5F
    DATABANK NAME=gpr0 START=0x60 END=0xFF
    DATABANK NAME=gpr1 START=0x100 END=0x1FF
    DATABANK NAME=gpr2 START=0x200 END=0x2FF
    DATABANK NAME=gpr3 START=0x300 END=0x3FF
    DATABANK NAME=gpr4 START=0x400 END=0x4FF
    DATABANK NAME=gpr5 START=0x500 END=0x5FF
    DATABANK NAME=gpr6 START=0x600 END=0x6FF
    DATABANK NAME=gpr7 START=0x700 END=0x7F3
    DATABANK NAME=dbgspr START=0x7F4 END=0x7FF PROTECTED
    ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

    SECTION NAME=CONFIG ROM=config

    STACK SIZE=0x100 RAM=gpr6


    si vous voyez des erreurs , faite moi signe.

  12. #8
    jum0034

    Re : bootloader Pic 18F6520

    je ne comprend pas , comment je defini mon emplacement boot , car comme cela sa ne fonctionne pas?
    merci

  13. #9
    jum0034

    Re : bootloader Pic 18F6520

    c est bon j ai reussi a alouer mes adresse ,
    mais maintenant je n'arrive pas a écrire dans la flash ,il faut que j'ecris octet par octet , mais je viens de voir qu il y a TBLWT qui écrit un octet dans le buffer interne , c est la que je ne comprend rien,
    voici mon code pour programmer la flash:
    void ecrire_flash( char adH, char adL, char data)
    {

    EEADRH = adH; // écrit un octet dans la flash
    EEADR = adL;
    EEDATA = data;


    EECON1bits.EEPGD = 1; //access data Flash memory
    EECON1bits.CFGS = 0; //access data eeprom memory
    EECON1bits.WREN = 1; //enable write
    EECON2 = 0x55;
    EECON2 = 0xAA;
    EECON1bits.WR = 1; // start writing

    while (EECON1bits.WR){}

    EECON1bits.WREN = 0; //disable write

    Nop();
    Nop();
    Nop();


    comment dois-je gerer le TBLWT ?

  14. #10
    jum0034

    Re : bootloader Pic 18F6520

    salut,
    personne aurai des routine en C , pour ecrire en flash ? SVP
    merci

  15. #11
    jum0034

    Re : bootloader Pic 18F6520

    bonjour ,
    je viens d'utiliser le bootloader RS232 pour PIC 18F6520
    Mais des que je rajoute ce SP sa me met cette erreur:
    Executing: "C:\mcc18\mpasm\MPASMWIN.e xe" /q /p18F6520 "bootloader2.asm" /l"bootloader2.lst" /e"bootloader2.err"
    Error[118] C:\BOOTLOADER ASSEMBLEUR POUPOU V2\BOOTLOADER3\BOOTLOADER2.ASM 675 : Overwriting previous address contents (0200)
    ; ****************************** ****************************** *****************
    RdI2C
    clrwdt
    bsf SSPCON1,CKP ; relache clock
    btfss PIR1,SSPIF
    bra $ - 2
    bcf SSPCON1,CKP ; maintient clock

    ;----------------------------------------------------------------
    ; State 1: I2C write operation, last byte was an address byte
    ; SSPSTAT bits: S = 1, D_A = 0, R_W = 0, BF = 1
    ;
    ; State 2: I2C write operation, last byte was a data byte
    ; SSPSTAT bits: S = 1, D_A = 1, R_W = 0, BF = 1
    ;----------------------------------------------------------------

    SSP_Handler
    movf SSPSTAT,W ; Get the value of SSPSTAT
    andlw b'10101101' ; Mask out unimportant bits in SSPSTAT.
    movwf Temp ; for comparision checking.
    State1: ; Write operation, last byte was an
    movlw b'10001001' ; address, buffer is full.
    xorwf Temp,W ;
    btfss STATUS,Z ; Are we in State1? si "0" saut sspbuf
    goto State2 ; No, check for next state.....
    movf SSPBUF,W ; Do a dummy read of the SSPBUF.
    bcf PIR1,SSPIF
    goto RdI2C
    State2: ; Write operation, last byte was data,
    movlw b'10101001' ; buffer is full.
    xorwf Temp,W
    btfss STATUS,Z ; Are we in State2?
    goto State1 ; No, check for next state.....

    movf SSPBUF,W ; Get the byte from the SSP.
    movwf RXDATA ; Put it in the buffer.

    bcf PIR1,SSPIF
    return

    ; Unlock and start the write or erase sequence.

Discussions similaires

  1. power save mode pic 18F6520
    Par jum0034 dans le forum Électronique
    Réponses: 5
    Dernier message: 10/03/2009, 20h28
  2. sauvegarde contexte pic 18F6520
    Par jum0034 dans le forum Électronique
    Réponses: 7
    Dernier message: 18/02/2009, 15h23
  3. Prob. TIMER1 PIC 18F6520
    Par jum0034 dans le forum Électronique
    Réponses: 15
    Dernier message: 17/02/2009, 15h42
  4. timer et pwm pic 18F6520
    Par jum0034 dans le forum Électronique
    Réponses: 4
    Dernier message: 12/02/2009, 05h19
  5. Bootloader PIC 16F877
    Par azertylr dans le forum Électronique
    Réponses: 7
    Dernier message: 30/12/2005, 21h30
Découvrez nos comparatifs produits sur l'informatique et les technologies.