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 skopiować zawartość mikrokontrolera ATmega8 bez demontażu?

woszu 07 Wrz 2007 21:08 1623 12
REKLAMA
  • #1 4260833
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    Witam.
    Buduje sobie komputer samochodowy. Jest już zamontowany w aucie, ale program wymaga poprawek. Wymontowanie go z fury, zajmuje zbyt dużo czasu, a poza tym, to najprawdopodobniej nie będzie ostatnia poprawka programu. Czy istnieje jakiś sposób kopiowania zawartości mikrokontrolerów z jednego na drugi (np atmega8)??? W domu zaprogramował bym jeden układ, a w samochodzie bym skopiował jego zawartość do układu w komputerku. Są takie urządzonka?

    P.S.
    1. Nie posiadam laptopa
    2. Komputerek musi być już zamontowany w aucie (na stałe), bo jak leży luzem, to trudno obserwować i testować program.
  • REKLAMA
  • #2 4261057
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Niespotkałem się z takim urządzeniem ale zawsze można sobie taki skonstruować.

    Co do testowania w samochodzie to jest to najlepszy sposób na wyłapanie wszystkich niedociągnieć jednak jakoś niewyobrażam sobie żeby za każdym razem chodzić do PC'ta zeby coś poprawić. Najlepszym rozwiązaniem byłoby jednak kupno laptopa :wink:.
  • REKLAMA
  • #3 4261158
    mxmxmxmxmx
    Poziom 16  
    Posty: 318
    Pomógł: 8
    Ocena: 12
    skopiować tak sobie sie nie da. Ale dałoby się to zrobić prockiem, który ma sporo(troche) więcej pamięci niż ilośc programu który potrzebujesz przynieść.
  • #4 4261225
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 571
    Wszystko sie da od tego masz bootloader można go napisać tak że będzie sobie kopiował program nawet z pamiątki I2C czy SPI trzeba tylko napisać procedurę która wykona kopiowanie zawartości programu np z pamięci i2c , wykonasz to na każdym procesorze atmela ,który obsługuje komendę SPM a sa to wszystkie Megi i sporo z grupy Attiny
  • #5 4261911
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    kurde, więc z tego co tu obserwuje, to prostym sposobem się nie da:/ Łatwiej chyba będzie jednak go wyciągnąć:)
    Dzięki za zainteresowanie tematem
  • REKLAMA
  • #6 4261929
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    mxmxmxmxmx napisał:
    skopiować tak sobie sie nie da. Ale dałoby się to zrobić prockiem, który ma sporo(troche) więcej pamięci niż ilośc programu który potrzebujesz przynieść.
    Jeśli masz złącze ISP w komputerze docelowym, wystarczy dopisać procedurkę programowania przez ISP, która zrobi zrzut pamięci kodu. Oczywiście wymaga to kawałka wolnej pamięci, więc można np. do przenoszenia programu wykorzystać ATMega16 wyposażony we wspomnianą procedurkę.
  • REKLAMA
  • #7 4262157
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    ja wykorzystuje atmega168. Sam program ma około 13kb, wiec 3kb mam wolne. A ma ktoś moze taką procedurę? Nawet nie wiem jak ona powinna wyglądać. A programuje właśnie po ISP. Piszę oczywiście w bascomie:)
  • #8 4262783
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Procedurę ISP w wersji asemblerowej można znaleźć w programatorach np. wiszących na RS232. Inaczej mówiąc wystarczy przerobić taki soft, aby dane zamiast z RSa ciągnął z pamięci kodu.

    Swego czasu miałem zrobiony taki programatorek, ale niestety dla AT89S5x.
  • #9 4266901
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    Asembler to nie moja bajka, tak jak i C, więc ja nic nie przerobie, choćbym nawet dostał gotowy program;] Ja poszukuje czegoś w bascomie....
  • #10 4271616
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Nie widziałem programatora ISP napisanego w BASCOMie. W sumie algorytm nie jest specjalnie skomplikowany, tym bardziej, że może być okrojony (spokojnie można pominąć odczyt sygnatury, czy obsługę fusebitów), więc chyba zmieści się w kilkudziesięciu liniach tego języka.
  • #11 4271631
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    super, tylko jak te linie mają wyglądać?:)
    Ja tu potrzebuje konkretnego listingu najlepiej...
  • Pomocny post
    #12 4271679
    pgp
    Poziom 19  
    Posty: 412
    Pomógł: 6
    Ocena: 17
    A może wyprowadź złącze dla AVR na zwewnatrz -jeśli masz obudowe DIL to wykrozystaj dwie podstawki DIL i taśmy wielożylowe (np. takie na których kiedys dyski twarde były podpinane) wszystko połącz 1 do 1.
  • #13 4271697
    woszu
    Poziom 15  
    Posty: 287
    Pomógł: 2
    Ocena: 33
    to już jest jakiś pomysł! Czemu ja na to nie wpadłem? Na razie można zrobić tak jak napisałeś, a jak program będzie już dopracowany, to atmegę z powrotem na płytkę włożyć:)
    Najprostsze rozwiązania są najlepsze:)

Podsumowanie tematu

✨ Poruszono problem kopiowania zawartości mikrokontrolera ATmega8 bez konieczności demontażu z pojazdu. Standardowe kopiowanie bezpośrednie nie jest możliwe, jednak można to zrealizować poprzez napisanie bootloadera lub procedury programowania ISP, która umożliwi zrzut pamięci programu do innego mikrokontrolera. Wymaga to jednak wolnej pamięci w mikrokontrolerze oraz odpowiedniego oprogramowania, które można napisać np. w Bascomie lub asemblerze. Alternatywnie zasugerowano wyprowadzenie złącza ISP na zewnątrz obudowy (np. poprzez podstawki DIL i taśmy wielożyłowe), co pozwoli na programowanie i testowanie bez demontażu. Wskazano, że najlepszym rozwiązaniem byłoby użycie laptopa do programowania, jednak autor nie posiada takiego sprzętu. Dyskutowano także o wykorzystaniu mikrokontrolerów z większą pamięcią (np. ATmega16, ATmega168) do przechowywania i kopiowania programu. Procedury ISP są dostępne w programatorach RS232 i można je dostosować do własnych potrzeb.
Wygenerowane przez model językowy.
REKLAMA