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

Programowanie Atmega 16A programem Progisp 1.72

Haczyk 04 Lut 2015 09:25 4449 33
REKLAMA
  • #1 14401863
    Haczyk
    Poziom 19  
    Witam, mam problem z zaprogramowaniem Atmegi 16A.
    Używam programu Progisp 1.72 eprom i flash odczytał się bez problemu, ale kiedy dałem, aby wgrał ponownie, płytka umarła, dlaczego?
    Nic nie zmieniałem.
  • REKLAMA
  • #2 14401899
    yokoon
    Poziom 29  
    Haczyk napisał:
    Witam mam problem z zaprogramowaniem Atmegi 16A.
    Używam programu Progisp 1.72 eprom i flash odczytał się bez problem ale kiedy dałem aby wgrał ponownie płytka umarła dlaczego?.
    Nic nie zmieniałem


    Witam.
    Czy Kolega może problem opisać dokładnie?
    Co to znaczy płytka umarła, może zablokowałeś mikroprocesor.
  • #3 14401911
    Templarious
    Poziom 22  
    A zmieniałeś fusebity ?
  • #4 14401915
    Haczyk
    Poziom 19  
    Kliknąłem erase chip później chciałem wgrać nowy eprom i flash. Wszystko się ładnie wgrało ale płytka nie wstała cisza.

    Dodano po 28 [sekundy]:

    Z fusebitami nic nie zmieniałem
  • #5 14401996
    Templarious
    Poziom 22  
    Pokaz schemat i program jesli to nie tajemnica.
  • #6 14402046
    Haczyk
    Poziom 19  
    schematu wysłać nie mogę bo go nie mam myślę że jest nie potrzebny do zaprogramowania. Powiem jak ma działać.
    Urządzenie ma wyświetlacz i cztery przyciski. ESC Up DOWN i Enter.
    Urządzenie steruje dmuchawą zmienia się moc nadmuchu oraz moc podawanego płynu.
    Jeśli chodzi o program to używam Progisp 1.72.
    Zawartość układu odczytałem bez problemu Flash i Eprom i to samo chciałem zrobić na drugiej płycie wgrać całą tą zawartość i wszystko się wgrało ale płytka nie uruchomiła się. Nic nie zmieniałem też z fusebitami.
  • #7 14402079
    Konto nie istnieje
    Konto nie istnieje  
  • #8 14402099
    Haczyk
    Poziom 19  
    to są dwa takie same urządzenia jest tam tylko atmega i nic więcej
  • REKLAMA
  • #9 14402106
    dondu
    Moderator na urlopie...
    Haczyk napisał:
    Zawartość układu odczytałem bez problemu Flash i Eprom i to samo chciałem zrobić na drugiej płycie wgrać całą tą zawartość i wszystko się wgrało ale płytka nie uruchomiła się.

    Na jakiej podstawie jesteś pewien, że odczytałeś prawidłowo?
  • REKLAMA
  • #10 14402166
    Haczyk
    Poziom 19  
    program pokazał informację że odczyt jest prawidłowy
  • #13 14402205
    Templarious
    Poziom 22  
    Oczywiście ze jakieś dziadostwo. Co to w ogole za format?
    powinien być HEX to 1 sprawa, po otwarciu tego pliczku są same krzuny.
  • #15 14402213
    Haczyk
    Poziom 19  
    W hex nie mogę wysłać niedozwolone rozszerzenie

    Dodano po 50 [minuty]:

    Z dobrej płytki odczytywałem flash i eprom kilka razy i zawsze pliki były takie same więc nie sądzę aby odczytywał tylko te przypadkowe
  • #17 14402625
    Haczyk
    Poziom 19  
    I tu się zaczynają schody. ponieważ nie potrafię na podstawie pliku hex stwierdzić czy jest Ok czy nie Napisz e-mail na PW i wyślę do Ciebie plik
  • #19 14402813
    Haczyk
    Poziom 19  
    flash tylko jest w rozszerzeniu bin bo hex nie mogę zamieścić
  • #20 14402844
    szczywronek
    Poziom 28  
    Bin, hex, elf... nie ma różnicy - chodzi o treść a nie format. Jak się upierasz to możesz hex'a spakować rarem i wrzucić na forum.
    Popatrz na kolejne wartości w tym pliku *.bin i znajdź wzór ;) To nie jest kod programu...
  • REKLAMA
  • #22 14402903
    dondu
    Moderator na urlopie...
    To jest zawartość odczytanego Flash i umieszczonego w pliku Soft_Tour_Hazer_II.bin.
    Nie ma się ni jak do programu, czyli mikrokontroler był zabezpieczony przed odczytem:

    Programowanie Atmega 16A programem Progisp 1.72
    Zrób to co pisałem czyli zainstaluj HexEdit a sam zobaczysz rezultat.
  • #23 14402935
    Haczyk
    Poziom 19  
    Zainstalowałem hex editora tylko nie wiem na co zwrócić uwagę. wiem że zadałem teraz głupie pytanie.

    Dodano po 3 [minuty]:

    A co powiesz na ten odczyt?
  • #24 14402953
    szczywronek
    Poziom 28  
    Kolejne wartości to kolejne liczby naturalne... tylko powtórzone po dwa razy: 0 0 1 1 2 2 3 3 4 4 5 5 .... itd... aż do 255 (szesnastkowo FF). Potem się zapętla i leci od nowa. Dobrze widać to w pliku bin. W hex jest to samo tylko wygląda mądrzej bo format bardziej skomplikowany.
  • #25 14403026
    Haczyk
    Poziom 19  
    A jak poznać czy program jest zabezpieczony przed odczytem czy nie.
  • #26 14403094
    dondu
    Moderator na urlopie...
    No właśnie tak jak poznałeś :) Nie ma innej możliwości.
    Zabezpieczenie działa także pod kątem odczytu lockbitów, czyli nie da się odczytać nawet ich.
    Aby je skasować (lockbity) należy wykonać chep erase, co jednocześnie kasuje pamięć FLASH:

    Cytat:
    Lock Bits ... can be cleared by a chip erase command only.
    ...
    The Chip Erase will erase the Flash and EEPROM(1) memories plus Lock Bits.
    Note: 1. The EEPRPOM memory is preserved during chip erase if the EESAVE Fuse is programmed
  • #27 14403267
    Haczyk
    Poziom 19  
    No tak tylko ja się o tym przekonałem kasując flash a później chcąc go wgrać ponownie z dobrej płytki okazało się że się nie da ale powiedz mi jak to zauważyć że flash jest zablokowany na podstawie tego pliku hex co wysłałem
  • #28 14403286
    dondu
    Moderator na urlopie...
    Wiem, dlatego pisałem, że:

    dondu napisał:
    Do przeglądnięcia zawartości wykorzystaj program HexEdit i niestety prawdopodobnie załamiesz się :)

    Niestety nic z tym już nie zrobimy.

    Tak jak napisaliśmy - analizując plik co w tym przypadku jest łatwe ponieważ:

    szczywronek napisał:
    Kolejne wartości to kolejne liczby naturalne... tylko powtórzone po dwa razy: 0 0 1 1 2 2 3 3 4 4 5 5 .... itd... aż do 255 (szesnastkowo FF). Potem się zapętla i leci od nowa. Dobrze widać to w pliku bin. W hex jest to samo tylko wygląda mądrzej bo format bardziej skomplikowany.


    Skompiluj jakiś dowolny program i podglądnij plik HEX - i porównaj, z tym który odczytałeś, a zobaczysz stanowczą różnicę.
    Można także użyć deasemblera i później analizować kod.
  • #29 14403359
    szczywronek
    Poziom 28  
    Właśnie miałem napisać o deasemblacji, ale mnie Sz.P. moderator ubiegł :) Możesz skorzystać z narzędzi online - np. http://www2.onlinedisassembler.com/
    Uploadujesz cały hex (z tym Twoim coś nie działa upload pliku - być może z powodu jego niepoprawnej zawartości) albo kopiujesz jego zawartość, wybierasz architekturę (avr) i voila - masz podgląd zawartości. Po deasemblacji Twojego "wsadu" wychodzi na to, że 99% programu to powtarzające się rozkazy cpi - jest to oczywista bzdura.

    Coś mi chodzi po głowie, że wsad odczytany z zabezpieczonego AVR'a zawsze zawiera kolejne liczby (adresy komórek pamięci) - ale nie dam sobie głowy uciąć.
  • #30 14403477
    Haczyk
    Poziom 19  
    No właśnie nie wiem dlaczego nie działa upload. Ale udało się skopiować i wkleić zawartość hex. Tylko jak ją interpretować?
REKLAMA