logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

PIC16F877 - Błąd Invalid record type przy ładowaniu programu .hex

lapunow 30 Paź 2006 00:09 1397 4
REKLAMA
  • #1 3167739
    lapunow
    Poziom 10  
    Posty: 51
    Witam!!

    Mam problem z zaprogramowaniem mikrokontrolera PIC16F877 po probie zaladowania programu .hex do mikrokontrolera powiawia mi sie taki oto komunikat

    Q - Quit and jump to user code
    U - Upload user code to program memory
    D - Download user code from program memory
    W - Write to EEPROM, "W DD @ AA"
    R - Read from EEPROM, "R AA"
    V - Display user code rev string
    PIC>u
    Are you sure? [y/N]>y
    Erasing
    ########################
    Ready

    Invalid record type error

    Line number 1
    PIC>u
    Are you sure? [y/N]>y
    Erasing
    ########################
    Ready
    Memory protection error @ 0000h

    Line number 1
    PIC>


    Jak moze byc tego przyczyna? lub jaki moge robic blad?

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 3167815
    milik
    Poziom 23  
    Posty: 637
    Pomógł: 71
    Ocena: 58
    Witam
    Wyłączyłeś zabezpieczenie kodu przed odczytem w fuse bitach (tak zwane CP - code protection) ?
  • REKLAMA
  • #3 3167822
    lapunow
    Poziom 10  
    Posty: 51
    witam!

    za bardzo nie wiem o czym mówisz ponieważ dopiero zabieram sie do pracy z mikrokontrolerami. I jak to zrobic?
  • REKLAMA
  • #4 3168641
    milik
    Poziom 23  
    Posty: 637
    Pomógł: 71
    Ocena: 58
    Każdy mikrokontroler posiada tak zwane fuse bit’y, które ustawia się podczas wgrywania programu do pamięci uC. Służą one np. do ustawienia typu rezonatora, zabezpieczenia przed odczytem, do włączenia watchdog’a itd. O tych bitach możesz poczytać w nocie aplikacyjne twojego uC w dziale „Special features of the CPU”. Bity możesz ustawiać na dwa sposoby.
    W programie, którego używasz do wgrywania hex’a (wtedy trzeba za każdym razem ręcznie ustawiać) do uC. Natomiast, jeśli np. używasz MPLAB to na górze pliku źródłowego powinna się znaleźć linijka w stylu „__FUSES _PWRTE_ON & _CP_OFF & _WDT_OFF & _HS_OSC & _LVP_OFF”. Wtedy twój programator powinien (powinien, bo nie wiem, czego używasz) automatycznie odczytać te bity z pliku hex.

    Poniżej przykładowe ustawienia mojego programatora.

    PIC16F877 - Błąd Invalid record type przy ładowaniu programu .hex
  • #5 3262122
    lapunow
    Poziom 10  
    Posty: 51
    Jeszcze jeden jest problem Polaczyc z mikrokontrolemerm moge tylko sie przez HyperTerminal tam wszystko dziala. a jak proboje np przez MPLab to nie jest on wykrywany. czy jakos przez HyperTerminal da sie wylaczyc te Fuse bity
REKLAMA