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

Gotowy układ z wgranym programem na atmega16- jak zgrać ten wsad?

mavi 11 Sty 2012 14:10 6254 9
REKLAMA
  • #1 10381115
    mavi
    Poziom 19  
    Posty: 493
    Ocena: 41
    Pytanie jak w temacie. Mam gotowy układ, kupiony od osoby trzeciej. Docelowo chciałbym zmodyfikować wsad o nowe funkcje. Do tej pory bawiłem się atmegą8 i banalnym darmowym programem zgrywałem sobie wsad. Niestety program na atmega16 jest zablokowany. Zgrać się nie da.

    moje pytanie to jak zgrać ten wsad? Zakładam, że przez program bascom i avrdude. Nie znam jednak odpowiedniej komendy.
  • REKLAMA
  • #2 10381132
    mmacura
    Poziom 19  
    Posty: 215
    Pomógł: 28
    Ocena: 16
    Jeżeli procesor jest zablokowany to szkoda Twojego czasu - po prostu nie da się go zgrać.

    Marek
  • REKLAMA
  • #3 10381193
    mavi
    Poziom 19  
    Posty: 493
    Ocena: 41
    Tego nie wiem czy jest zablokowany. Troche źle się wyraziłem :)
    Zablokowany na obsługę tych procków jest program którego do tej pory używałem sobie.
  • #4 10381211
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Tak jak napisał kolega wyżej, jeżeli pamięć flash megi jest zabezpieczona bitem lock ustawianym w FUSE BITS, to jedyne co możesz zrobić, to wyczyścić całą pamięć i razem z nią ten bit. Niestety nie odczytasz przy okazji jej zawartości. Ale nawet gdyby, to co Ci po niej? Przecież to są dane binarne, czyli zapisany kod assemblerowy w postaci komend zrozumiałych dla dekodera instrukcji procesora. Zatem mając nawet tę binarkę i poddając ją odwrotnej kompilacji, czyli przywrócenia do postaci kodu zrozumiałej dla nas, to i tak myślę że próba modernizacji takiego kodu będzie bardzo żmudnym i trudnym zadaniem.

    Lepiej poproś wcześniejszego właściciela o kod wsadu i wtedy walcz. W takim przypadku zablokowana pamięć nie będzie mieć już dla Ciebie żadnego znaczenia. No chyba że jest tak, że kontroler jest zablokowany totalnie (nie odzywa się, nie odpowiada na transmisję z programatorem ISP). No to wtedy będziesz musiał go odblokować na przykład przy pomocy programatora równoległego... :P
  • #5 10381217
    Konto nie istnieje
    Konto nie istnieje  
  • #6 10381244
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Pogubiłem się w tym, o co konkretnie Ci chodzi...

    Czy Ty chcesz odczytać z ATmegi zawartość FLASH i ją przetworzyć do kodu źródłowego?

    A może Ty chcesz napisany w jakimś języku kod źródłowy skompilować do HEX i wgrać do pamięci mikrokontrolera?

    Wspominałeś coś o Bascom, tam masz wszystko żeby napisać program, skompilować go a nawet wgrać od razu do pamięci. Jak masz kompatybilny z Bascom'em programator to nie potrzebujesz nic więcej.

    Tak samo będzie jak będziesz używał AVR Studio, masz wszystko a dotego totalnie za darmo. Jedyny wymóg to kompatybilny programator...

    Zadawaj bardziej precyzyjnie pytania, bo nie będziemy umieli Ci pomóc.
  • REKLAMA
  • #7 10381254
    mavi
    Poziom 19  
    Posty: 493
    Ocena: 41
    Tak jak wcześnej napisałem, nie wiem czy jest zablokowany.

    Z osobą, która to pisała kontaktu nie jestem w stanie zdobyć bo już poprzedni właściciel tego układu nie miał kontaktu.

    a co do programu darmowego, to jest to AVR Calculator.
    https://obrazki.elektroda.pl/24_1246382236.jpg
    Idealny program dla osób, kóre nie wiedzą tyle ile powinny wiedzieć :)


    Bascom mam, programator kompatybilny też.
    Chodzi o zgranie wsadu by co nieco zmodyfikować w samym programie i ponownie go wgrać do atmegi.
  • REKLAMA
  • #8 10381490
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    No to jak jest taki stan rzeczy, to powiem Ci... Odpuść sobie:)

    Skoro piszesz że używasz programów dla osób które nie wiedzą tyle ile powinny wiedzieć, to moim zdaniem branie się za modernizację programu deasemblowanego, jest w Twoim przypadku niewykonalne. Dla mega specjalisty byłaby to strasznie ciężka i żmudna robota.

    Chodzi o to że to co chcesz zrobić zapewne nie da efektu, jaki oczekujesz.

    Jeżeli myślisz że po odczytaniu programu z megi będziesz miał gotowe źródło z komentarzami i do tego w Bascomie, to muszę Ci przyznać, że jesteś mega optymistą :) A radziłbym Ci zaopatrzyć się w jakieś materiały o podstawach programowania mikrokontrolerów.Tu masz stronkę naszego forumowego kolegi gdzie znajdziesz dużo informacji potrzebnych na początek

    Tak jak pisałem wyżej, "wsad" jak raczyłeś nazywać program zapisany we Flashu megi, jest kodem maszynowym mikrokontrolera w postaci binarnej. Jeżeli uda Ci się go odczytać i deasemblować, to będziesz miał kod maszynowy w postaci tekstowej, takiej w której będziesz znał tylko instrukcje i ich kolejność. Kod ten, będzie różnił się od tego pisanego przez człowieka, że będzie pozbawiony komentarzy, etykiet. Stałe i zmienne nie będą miały nazw symbolicznych, takich jak ludzie używają podczas tworzenia kodu, będą to po prostu czyste wartości (w przypadku stałych) lub wartości adresów (w przypadku zmiennych).

    Poradzę Ci zatem, poczytaj stronkę którą Ci poleciłem, poszukaj trochę materiałów tu na forum, w literaturze. Zapoznaj się bliżej z architekturą mikrokontrolera i zacznij pisać programy od początku samemu. Za jakiś czas zrozumiesz co miałem na myśli, odradzając Ci metodę która chciałeś zastosować.
  • #9 10381529
    mavi
    Poziom 19  
    Posty: 493
    Ocena: 41
    Podstawy mam ale to są podstawy i to na atmega 8, do którego sie ostatnio zbliżyłem z dwa lata temu.
    Ok to inaczej zapytam aby mieć janość. Z Modyfikacji w programie mogę zrezygnować pod warunkiem przebudowy układu. Jednak to musiałbym zrobić na nowej płytce a przez to nowej atmedze. Czy w takim razie w prostej linii robiąc kopię układu elektronicznego, będę w stanie przynajmniej skopiować zawartość i wgrać do nowej atmegi?
  • #10 10381557
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Jeżeli pamięć flash jest zabezpieczona przed odczytem to nie. Jeżeli nie jest zabezpieczona przed odczytem, to jak najbardziej możesz tak zrobić.

    Wspominałeś coś o AVRdude, myślę że z jego pomocą, jesteś w stanie sprawdzić czy pamięć jest zabezpieczona i jeżeli nie jest zabezpieczona, odczytać ją i zapisać w postaci pliku hex czy bin na kompie, a później ewentualnie tym plikiem zaprogramować kolejny mikrokontroler. Ale jak to zrobić to Ci już nie doradzę, bo ja nigdy tym sprzętem się nie bawiłem. Myślę że z pomocą helpa i ewentualnie kolegów z forum dasz radę to w miarę szybko ogarnąć.

    I w zasadzie nic więcej w tym temacie się chyba nie da powiedzieć, ani zrobić.

    Powodzenia :)

Podsumowanie tematu

✨ Użytkownik pyta o możliwość zgrania wsadu z układu opartego na mikrokontrolerze ATmega16, który został zakupiony od osoby trzeciej. W przeszłości korzystał z ATmega8 i prostego programu do zgrywania wsadów, jednak program na ATmega16 jest zablokowany. Odpowiedzi wskazują, że jeśli pamięć flash jest zabezpieczona bitem lock w FUSE BITS, to odczyt jest niemożliwy. Użytkownik powinien skontaktować się z poprzednim właścicielem w celu uzyskania oryginalnego kodu. W przypadku braku kontaktu, sugeruje się użycie programatora równoległego do odblokowania mikrokontrolera. Wspomniano również o programach Bascom i AVR Studio, które mogą być użyte do programowania, ale nie do odczytu z zablokowanej pamięci. Użytkownik rozważa również możliwość skopiowania układu elektronicznego i wgrania zawartości do nowej ATmegi, co jest możliwe tylko, jeśli pamięć nie jest zabezpieczona.
Wygenerowane przez model językowy.
REKLAMA