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

Jak zaprogramować PIC12C508A przy użyciu JDM i ICSP?

centipede 24 Sie 2004 11:44 2739 22
REKLAMA
  • #1 810945
    centipede
    Poziom 16  
    Posty: 234
    Pomógł: 1
    Ocena: 4
    Witam, nigdy nie programowałem procesorów z pamięcią OTP.
    Posiadam jedynie "okrojoną" wersję JDM'a jaką można kupić na allegro ..
    Ona teoretycznie programuje tylko PIC16F84A .., ja dorobiłem do niej kabelek ICSP i programowałem tym programatorem PIC16F873, oraz PIC16F628, czy trzeba to jakoś przerobić, żeby zaprogramować PIC12C508A ??
  • REKLAMA
  • #2 811142
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Teoretycznie powinno pójść. Ale..., życie potwierdzi jak jest.
  • #3 811147
    centipede
    Poziom 16  
    Posty: 234
    Pomógł: 1
    Ocena: 4
    no właśnie o to chodzi, że nie działa ..
  • #4 811214
    marmur99
    Poziom 17  
    Posty: 285
    Pomógł: 5
    Ocena: 4
    Algorytmy programowania OTP i Flash są różne. Może się więc okazać, że nie zaprogramuejsz OTP tym programatorem.

    Marmur99
  • REKLAMA
  • #5 813607
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    ja JDM+ IC-prog programowalem PIC z serii 12Cxxx.Nie bylo problemow.Skoro w IC-PROG obsluguje 12Cxxx tzn. ze algorytmy sa dobre.Po drugie nie rozumiem co to znaczy wersja okrojona JDM.Jak dziala na F to i powinien ci zadzialc na C jesli oczywiscie program sterujacy obsluguje dany procek.Zakladam ze nie uzywasz ic-proga albo PonyProg.Wiec scignij sobie ktorys i nie bedzie problemu.
  • #6 825242
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    witam
    ja tez mam programator JDM z allegro i chcialem zaprogramować PIC12C672. Lecz moj JDM ma podstawke 18nożek i tylko takie procki moze programować bo nie ma scieżek na procki 12Cxxx. dorobilem odpowiednią przejsciowke i probowalem zaprogramować lecz plik .hex wgrywa sie do procka bardzo długo cos kolo 10 minut i na koniec wyskakuje mi komunikat (adres 000h czy cos takiego) prosze o pomoc jak zaprogramować ten układ.
  • #7 825808
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    masz piec istotnych lini ktore mosuisz podlaczyc do PICa.Vpp(MCLR),Vss,Vdd,data,Clock,na stronie microchipa znajdziesz dokumentacje do kazdego ukladu a w niej opis gdzie sa dane nozki.Wystarczy podlaczyc te 5 nozek z odpowiednimi wyjsciami jdm i bedzie ok.Jesli ci podstawka nie pasuje to na plytce uniwersalnej wlutuj sobie taka jak trzeba i przylacz odpowiednio te 5 lin.Chociaz z drugiej strony w jdmie bylo tak zrobione ze na 18-nastonozkowej podstawce mozna bylo programowac pice 12Cxxx.musisz popatrzec czy nozki:
    14 jest polaczona z pierwsza,
    18 z 5
    17 z 13
    16 z 12
    jesli tak tzn ze podstawka jest przystossowana do pic12
    wkladasz ja w ten sposb ze jedynka 12 jest tam gdzie jedynka 16
  • #8 825924
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    w moim JDM te nóżki nie sa polaczone i nie mozna prograsmowac pic12cxxx dlatego juz dorobilem przystawke ktora doprowadza odpowiednie sygnały do podstawki 8nóżkowej. ale objawy sa takie jak napisalem wyżej.
  • #9 826279
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    i uzywasz ic-proga?
  • #10 826391
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    windows 98, IC-Prog105C . układ scalony PIC12C672, czy ten układ można zapisać tylko raz ? jezeli za pierwszym razem mi sie nie uda to układ jest do wyrzucenia ?
  • REKLAMA
  • #11 826509
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Wszystkie PIC z literka C zapisuje się raz.
  • REKLAMA
  • #12 826696
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    tylko raz ale mozesz kilkakrotnie zaladowac program tylko e rozne miejsca.ja czesto tak robilem gdy np,. programik zajmowal 100 bajtow a pamiec mialem 512 to 5 razy moglem wgrac program.
    Robisz tak:

    org 0
    goto start

    org 6
    start

    Gdy program ci zabiera 256 bajtow to gdy zechcesz umiescic nastepny musisz zamazac goto start poprzez wstawienie instrukcji nop, a potem wstawic nowa instrukcje goto start lecz start to etykieta o adresie innym niz poprzednio, czyli na poczatku wolnej jeszcze pamieci.

    czyli
    org 0
    nop
    goto start

    org 0x106 ;pamiec wolna od tego adresu, gdyz do adresu 0x105
    ;jest juz zajeta przez poprzednia wersje programu
    start

    aby jeszcze zyskac na ilosci zaprogramowan procesora z pamiecia OTP
    zamiast calego programu , najpierw umieszczam gotowe procedurki(ktore wiem ze sa dopracowane i sie nie zmienia)np. delay czy send_byte

    czyli pierwszy program tak:
    org 0
    goto start

    org 6
    delay

    ;petla opozniajaca
    retlw 0
    send_byte

    ;instrukcje

    retlw 0
    start ;glowny program wynosi 256 bajtow

    natomiast kolejny ladujemy :

    org 0
    nop
    goto start

    org 6
    delay

    ;petla opozniajaca
    retlw 0
    send_byte

    ;instrukcje

    retlw 0
    org 106+rozmiar procedur
    start ;glowny program wynosi 256 bajtow

    ;ta technika pozwala kilka razy wyprobowac program
    ;oczywiscie wtedy gdy program nie zajmuje wiekszosci pamieci
  • #13 826733
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    dodam jeszcze ze czesto bywa tak ze w programie zmienia sie jakas stala lub np. kasujemy jakas instrukcje

    czyli zamiast "goto gdziestam" zamazujemy NOPem

    chodzi oto ze w pamieci OTP zawsze zero mozna zrobic z jedynki,lecz odwrotenie niestety nie,a poniewaz kod instrukcji nop to 0x00 wiec kazda instrukcje zamazemy NOPem

    czyli jesli chcemy wartosc np. 127=b'01111111'
    zmienic na np.126=b'01111110' to sie da
    lecz na 128 juz nie bo 128=b'10000000'
  • #14 830274
    centipede
    Poziom 16  
    Posty: 234
    Pomógł: 1
    Ocena: 4
    Panowie, nie o to chodzi :/
    ja wiem, że to się tylko raz programuje, ale mnie się ani razu nie zaprogramowało :/
  • #15 832791
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    witam
    juz nie daje rady z tym JDM, postanowilem kupic programator PIcLoad a dokladnie to kupilem samą płytke.
    http://ajpic.zonk.pl/picload/index.php
    Własnie czekam na przesylke i jak zmontuje to napisze czy dalem rade.
    Pozdro.
  • #16 832839
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    to nie lepiej dolozyc troche zloty i kupic juPIC u tego samego producenta??programatorka jest zgodna z PICSTART PLUS microchipa.
    wygoda ze hej.piszesz sobie program , komplilujesz, i programujesz.
    Na bierzaco zmieniasz sobie program w ukladzie za pomoca jedngo MPLABA.
  • #17 833934
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    gummis napisał:
    to nie lepiej dolozyc troche zloty i kupic juPIC u tego samego producenta??programatorka jest zgodna z PICSTART PLUS microchipa.
    To jest duża zaleta, ale programator ten jest bardzo wolny, czas ładowania procesora z flashem 8kW jest ok 1 minuty.
  • #18 834118
    gummis
    Poziom 15  
    Posty: 162
    Pomógł: 4
    Ocena: 1
    no tak ale ja sobie ustawiam zeby programowal tylko czesc pamieci.tylko ta ktora aktualnie pisze.wtedy jest szybko
  • #19 838480
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    witam
    no więc powiem że jestem w 7 niebie poniewaz to działaaa.
    złozylem programator PicLoad
    http://ajpic.zonk.pl/picload/index.php odpaliłem IcProg105c i wczytalem plik .hex do mojego procesorka PIC12C672 i bez żadnych problemów zaprogramował. nie było żadnych nieprzyjemnych komunikatów.
    Mój koszmar z JDM sie skończył
    pozdrawiam @L.L :D 8)
  • #20 917474
    ninja2
    Poziom 15  
    Posty: 158
    Pomógł: 1
    Ocena: 18
    Witam wszystkich.
    Gdzieś czytałem ze JDM+IcProg nie daja rady z picami 12c509, ponieważ IcProg nie potrafi ustawić prawidłowo jakichś bitów. Chyba chodzi o oscylatory. C Zcy ktoś moze sie wypowiedzieć na ten temat ?
    Kupiłem 10 piców i zaprogramowałem IcProgiem + JDM. Na 10 prawidłowo sie zaprogramowały 4. Kazdy z nich miał identyczne oznaczenia i identycznym wsadem programowałem.
    Dlaczego tak sie stało ?
  • #21 918189
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    nie wiem dlaczego tak sie dzieje i nie chce wiedziec bo moj problem zniknol wraz z kupnem programatora picload
    http://ajpic.zonk.pl/picload/index.php
    kupilem sama płytke w cenie ok20zł to nie majatek a reszte czesci mialem w domu. kilka rezystorów kondensatorow i 3 tranzystorki. koszt budowy jest tani i najważniejsze że działa. od tamtej chwili nie chce słyszec o JDM.
  • #22 1028750
    saico
    Poziom 20  
    Posty: 508
    Pomógł: 21
    Ocena: 38
    Mam pytanie do "kubanczyk". Czy programowałeś już PicLoader'em układ PIC12C509A ewentualnie ...508A? Daje radę?

    Pozdrawiam
  • #23 1030119
    kubanczyk
    Poziom 14  
    Posty: 85
    Pomógł: 3
    z układów 8 nożkowych programowalem tylko układ pic12c672 i dało rade , lecz twojego pica 12c508 napewno tez da rade ponieważ ma takie same wyprowadzenia. sypnij troche szacunków jeżeli ci pomogłem :)
    Pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy problemów z programowaniem mikrokontrolera PIC12C508A za pomocą programatora JDM i interfejsu ICSP. Użytkownik posiada uproszczoną wersję programatora JDM, który teoretycznie obsługuje tylko PIC16F84A, a do którego dołączył kabel ICSP, umożliwiający programowanie PIC16F873 i PIC16F628. Jednak próby programowania PIC12C508A nie powiodły się. Wskazano, że algorytmy programowania pamięci OTP (One-Time Programmable) różnią się od algorytmów dla pamięci Flash, co może uniemożliwiać programowanie PIC12C508A tym samym sprzętem i oprogramowaniem. Zalecane jest użycie programów takich jak IC-Prog lub PonyProg, które obsługują serię PIC12Cxxx. Problemem może być również nieodpowiednie podłączenie linii programujących (Vpp, Vss, Vdd, data, clock) oraz brak odpowiedniej podstawki lub przejściówki do układów 8-nóżkowych. Użytkownicy sugerują wykonanie własnej przejściówki lub użycie uniwersalnej płytki do poprawnego podłączenia sygnałów. Wiele osób zrezygnowało z JDM na rzecz programatora PicLoad, który jest tani, prosty do zbudowania i skutecznie programuje PIC12Cxxx, w tym PIC12C672 i PIC12C508A. PicLoad współpracuje z IC-Prog i umożliwia szybkie i bezproblemowe programowanie. Wspomniano także o programatorze juPIC, kompatybilnym z PICSTART PLUS i integrującym się z MPLAB, co ułatwia programowanie i modyfikację kodu. Dodatkowo omówiono specyfikę pamięci OTP, która pozwala na jednokrotne programowanie, z możliwością częściowej modyfikacji poprzez zamazywanie instrukcji NOP, ale bez możliwości przywrócenia bitów z 0 na 1. Problemy z programowaniem PIC12C509 za pomocą JDM i IC-Prog mogą wynikać z nieprawidłowego ustawienia bitów konfiguracyjnych, np. oscylatora, co skutkuje niepowodzeniem programowania niektórych układów.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA