Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

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

mavi 11 Sty 2012 14:10 3833 9
  • #1 11 Sty 2012 14:10
    mavi
    Poziom 19  

    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.

    0 9
  • Arrow Multisolution Day
  • #2 11 Sty 2012 14:15
    mmacura
    Poziom 17  

    Jeżeli procesor jest zablokowany to szkoda Twojego czasu - po prostu nie da się go zgrać.

    Marek

    0
  • Arrow Multisolution Day
  • #3 11 Sty 2012 14:32
    mavi
    Poziom 19  

    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.

    0
  • #4 11 Sty 2012 14:36
    Electix
    Poziom 20  

    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

    0
  • #5 11 Sty 2012 14:38
    63404
    Użytkownik usunął konto  
  • #6 11 Sty 2012 14:45
    Electix
    Poziom 20  

    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.

    1
  • #7 11 Sty 2012 14:47
    mavi
    Poziom 19  

    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.

    0
  • #8 11 Sty 2012 15:50
    Electix
    Poziom 20  

    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ć.

    0
  • #9 11 Sty 2012 16:00
    mavi
    Poziom 19  

    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?

    0
  • #10 11 Sty 2012 16:08
    Electix
    Poziom 20  

    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 :)

    0