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

Jak edytować tekst w pliku binarnym z EPROM 27c256/27c512?

tomcio 14 Wrz 2005 23:55 7121 17
  • #1 1819173
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Witam.......
    Mam takie pytanie.......
    Czy jest możliwość edycji zawartości pliku "sczytanego" (bin) ?
    Jeśli tak to jakim programem lub jak to się robi ?

    Potrzebuje sczytać zawartość pamięci 27c256 lub 27c512, następnie zostawić wartości (parametry), a zmienić opisy (zmienić text opisów) i ponownie zapisać do pamięci (nowych lub skasowanych pamięci).

    Na początek chciałem posłużyć się programatorem Willem PCB3b(taki mam).

    Przepraszam jeśli zadaje "głupie" pytanie ale nie znam sie na tym, nie robiłem nigdy tego.

    Pozdrawiam i liczę na wskazówki, może jakieś linki na w/w temat.
  • #2 1819224
    mrq80
    Poziom 15  
    Posty: 57
    Pomógł: 15
    Witam,

    Jest taka możliwość ale z jednym zastrzeżeniem.
    Otóż w pamięci może znajdować się suma kontrolna i kiedy
    cokolwiek zmienisz w pamięci suma nie będzie się zgadzać.
    Wtedy urządzenie może nie działać. Jednak sumy kontrolne
    nie występują wszędzie i możesz sprobwać. Pamiętaj tylko
    aby zachować pierwotną zawartość pamięci
    , abyś mógł ją
    przywrócić w razie konieczności.

    Do prób poszukaj jakiś edytor szesnastkowy np. HexWorkshop.
    Albo wpisz w google Hex Editor, Hex Edit, Hexadecimal Edting, ...

    Pozdrawiam
    Marek
  • #3 1819560
    Dx2
    Poziom 13  
    Posty: 81
    Pomógł: 4
    Ocena: 3
    Witam.
    Jeżeli wiesz na jaki to jest pisane procesor, a napewno wiesz skoro go masz;) to użyj DIASEMBLERA tego procesora, zobaczysz cały kod asemblerowy, mozesz zmieniac i kompilowac na nowo.
    Edytować BINa możesz w dowolnym Programatorze który wyswietla kody ASCII i ma mozliwość ich edycji, dlatego tekst mozna bez problemu zmienić ale byłoby dobrze żeby nowy miał taką samą długość;)
    Pozdrawiam.
  • #4 1819610
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Dziękuje kolegą za porady.

    Popatrzę sobie.
    Jeśli będę coś robił to zawsze zachowam zawartość właściwą ,
    ona zostanie w scalaczku , a tego nie zmienię.

    Jeszcze jedno pytanie.....
    Miałem program w 27C256, kolega mi skopiował to na 27C512 i nie zadziałało.
    Czy to jest wina samego scalaka (tak przypuszczam) , czy pojemności pamięci ?
  • #5 1819709
    mrq80
    Poziom 15  
    Posty: 57
    Pomógł: 15
    Witam,

    Spróbuj na 1pin układu 27C512 podać 0V (GND). Spójrz na rysunek.
    Na pierwszym pinie w 27c512 jest A15 czyli wejszie adresowe.
    Zaś w 27c256 jest VPP czyni napięcie do programowania.
    Jeśli wymusisz stan 0 na A15 wtedy będzie tak naprawde
    obsługiwane tylko polowa pamięci, a że pozostałe piny są
    zgodne to powinno działać poprawnie.
    Załączniki:
    • Jak edytować tekst w pliku binarnym z EPROM 27c256/27c512? EPROM.gif (18.53 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 1819722
    Caladan
    Poziom 19  
    Posty: 242
    Pomógł: 33
    Ocena: 3
    Coz, jedyny problem jaki moge wymyslic z pojemnoscia pamieci, jest to problem z adresowaniem. Skoro uklad ma 64kB to znaczy, ze kazdy bajt jest adresowany za pomoca 16 linii. Poprzedni natomiast mial tylko 15 linii adresowych, rozumujac w ten sam sposob. Jesli zalozymy, ze program nowy zostal zgrany do dolnej polowy pamieci, to byc moze najstarszy bit adresu jest niepodlaczony, ale podlaczony do Vcc i dlatego kazde odwolanie nastepuje do gornej polowy kostki. Jesli program zostal wpisany w gorna czesc kostki, a15 jest zwarte z Vcc to progam zadziala, jesli nie bedzie adresow bezwzglednych w samej zawartosci pamieci. Inaczej skoczy gdzies w czesc I na tym sie skonczy (wywali sie) :D Porownaj datasheety do tych dwoch pamieci i sprawdz co sie dzieje z pinem, ktory w 27c256 jest NC, a w 27c512 bedzie a15.

    Pozdrawiam,
    Caladan

    Od razu dopisze, bo widze, ze ktos juz zamiescil w czasie jak pisalem posta obrazki. Skoro pin nie jest NC, tylko Vpp, to trzeba zobaczyc, jaki tam jest stan. I czy urzadzenei samo nie moze programowac tej pamieci, bop wtedy moze byc problem.
  • #7 1820435
    Dx2
    Poziom 13  
    Posty: 81
    Pomógł: 4
    Ocena: 3
    Żeby urządzenie mogło programować musiałoby posiadac świetlówke UV do kasowania;) bo to przecież zwykły EPROM ze szkiełkiem.
    A15 do masy i powinno być ok.
    Pzdr.
  • #8 1826729
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Dzięki za podpowiedzi i wyjaśnienie.
    Z "512" odpuszczam, poprostu mogę wgrać do mniejszej i to działa.
    Kolega chciał pomóc i wgrał do większej, bo nie miał "256", ale to nie poszło, teraz wiem dlaczego.

    Teraz muszę jeszcze sprawdzć "edycje textu" w pamięci.

    Pozdrawiam i dziękuje za podpowiedzi.
  • #9 1934978
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Zabrałem się za zmianę tekstu i:
    wychodzi, ze suma kontrolna nie jest jednakowa przy rożnych wersjach językowych tego samego programu a jednak oba działają poprwnie.

    Chciałem zmienić wpisy (tekst) w innej wersji i mi to nie zadziałało.
    Wywaliło mi to jako błąd.
    W czym może być problem ?

    Jeszcze jedna sprawa:
    Mam programator Willem PCB3b.
    Programuje mi kości D27256-20, NM27C256N.
    Nie chce mi zaprogramować M27256FI (Thomsona).
    Jak na razie trafiłem takie 2.
    Błąd jaki mi wywala to :
    Błąd w 0x000005 układ 0x48 bufor 0x49..
    Nie wiem w czym problem .
    Jak ktoś z kolegów spotkał się z takim problemem i go rozwiązał to
    za podpowiedź będę wdzięczny.

    Pozdrawiam

    ps.
    Szukam literatury na temat programowania w/w scalaków.

    Czy jest "jakiś" scalak , zastępujący ten a można go kasować elektronicznie (programowo).
    Przydał by mi się taki do testów.
  • #10 1935758
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Są odpowiedniki tych pamięci typu EEPROM np. zaczynające się od AT28C.... (Piszę z pamięci więc nie podam więcej szczegółów)
  • #11 1937130
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Znalazłem w sprzedaży scalaki 28C256 ale czy to jest ich odpowiednik nie wiem.
    Czy ktoś z kolegów mógłby to potwierdzić dokładnie lub nie.
  • #12 1937255
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Kolego, to nie jest tak że można jedą wyjąć a drugą włożyć.
    samo programowanie 28-ki jest inne od 27-ki, a więc sprawdz czy jesteś w stanie zaprogramować ten EEPROM.
    Poza tym rozcokołowanie też jest trochę inne, w załączniku masz rozcokołowanie 28.
    Załączniki:
    • Jak edytować tekst w pliku binarnym z EPROM 27c256/27c512? Untitled-Scanned-68.jpg (37.08 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 1959089
    tomcio
    Poziom 26  
    Posty: 1193
    Pomógł: 9
    Ocena: 82
    Doszedłem do:
    1.Program odwołuje się do sumy kontrolnej, bo po zmianie sumy kontrolnej maszyna nie działa.

    Jak zrobić aby można było ustawić dalej taką samą sumę kontrolną ?
    ....Dodawać jakieś znaczki na końcu ?

    Czy programowo da się zabezpieczyć to, żeby odwoływał się do określonej sumy kontrolnej ?

    Zastanawiam się nad tym i takie wnioski wyciągnąłem na podstawie podobnego programu.
    Mam 2 takie same programy lecz inne języki i w obu, ktoś zmieniając
    język zmienił sumę kontrolną, lecz dalej program działa poprawnie.
    Dlaczego, nie wiem.

    Za spostrzeżenia na w/w temat będę wdzięczny wszystkim.
    Procek na jakim to pracuje jest 80C186.
    Pozdrawiam i z góry dzięki za wszelkie spostrzeżenia.
  • #14 1960345
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Moje spostrzeżenie jest takie, że jeśli ktoś celowo zabezpieczył program sumą kontrolną to zrobił to najprawdopodobniej w jakimś celu, a w jakim to jest jasne, żeby nikt mu nie grzebał w programie. Ja sam tak robiłem wielokrotnie i starałem się zastosowac algorytm sumy kontrolnej taki który jest maksymalnie zagmatwany. Więc nie wiem czy tak prosto sobie z tym poradzisz. Jeśli jesteś pewny że zabezpieczenie przed zmianą leży w sumie kontrolnej staraj się znalezć algorytm jej tworzenia na podstawie zczytanego programu.
  • #15 1970401
    Smoczy
    Poziom 20  
    Posty: 436
    Pomógł: 26
    Ocena: 67
    należy przeprowadzić analizę programu, poprzez disasemblacje i sądze, że bez większego problemu powinieneś znaleść ten algorytm wyliczania sumy kontrolnej oraz miejsce jej zapisania. Może być tak, że suma kontrolna nie jest wyliczana z całej zawartości pamięci.
  • #16 6132673
    Clay
    Poziom 12  
    Posty: 35
    Ocena: 1
    Witam
    Mam podobny problem jak kolega Tomcio :) Zatrzymałem się na disasemblacji kodu i byłbym bardzo wdzieczny za pomoc. Mianowicie nie wiem jaki disassembler użyć do tej pamięci EPROM (27c256).
    Posiadam takie 2:

    DASMx - http://www.geocities.com/pclareuk/DASMx/

    8051/8052, z80, 8035/8048/8041 http://www.programmersheaven.com/download/2371/38/ZipView.aspx

    Czy którymś z powyższych mogę się posłużyć do tego EPROMu ?
    Jeśli nie to jakim innym programem ? Ewentualnie proszę o podpowiedź do jakiej rodziny pamięci zalicza się ten 27c256 to sprobuje poszukać sam :)

    Pozdrawiam.
  • #17 6132753
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    Clay napisał:
    Mianowicie nie wiem jaki disassembler użyć do tej pamięci EPROM (27c256).
    No to przy takiej znajomości to nie polecam dalszego grzebania, chyba jest logiczne że disasembler dobiera tak żeby obsłużyć dany procesor.
  • #18 6133288
    Clay
    Poziom 12  
    Posty: 35
    Ocena: 1
    Wczoraj po tym moim poście mnie oświeciło i sie domyśliłem że musze zobaczyc na jakim procesorze jest wszytko oparte :)

    Cytat:
    No to przy takiej znajomości to nie polecam dalszego grzebania


    Ciekawa rada, zawsze mnie zastanawiało dlaczego ludzie odpowiadają na forach w taki dziwny nieprzyjemny sposób :) A czy kolega elektryk jak zaczynał zabawe z tego typu problemami to już miał pełną znajomość tematu? (pytanie retoryczne, nie czekam na dopowiedz :) ).

    Pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy możliwości edycji zawartości plików binarnych z pamięci EPROM 27C256 i 27C512. Potwierdzono, że edycja jest możliwa za pomocą edytorów szesnastkowych (np. HexWorkshop), jednak należy uważać na sumy kontrolne, które mogą uniemożliwić poprawne działanie urządzenia po modyfikacji. Wskazano, że zmiana tekstów w pliku binarnym wymaga zachowania oryginalnej długości danych oraz uwzględnienia sumy kontrolnej, której algorytm można próbować odnaleźć poprzez disasemblację kodu asemblerowego procesora (w tym przypadku 80C186). Poruszono problem różnic w adresowaniu między EPROM 27C256 a 27C512, gdzie pin A15 w 27C512 musi być uziemiony, aby działać jak 27C256, co tłumaczy niekompatybilność programów skopiowanych między tymi układami. Omówiono także trudności z programowaniem niektórych układów (np. M27256FI Thomsona) programatorem Willem PCB3b oraz wskazano, że pamięci EEPROM z serii AT28C mogą być elektronicznie kasowalnymi odpowiednikami EPROM. Wskazano, że programowanie i rozcokołowanie układów 28C różni się od 27C, co wymaga uwagi przy zamianie. Porady obejmują zachowanie oryginalnej zawartości, stosowanie disasemblacji do analizy sum kontrolnych oraz uwzględnienie specyfiki pinów i adresowania przy użyciu różnych typów pamięci EPROM.
Wygenerowane przez model językowy.
REKLAMA