Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Nie potrafię poprawnie odczytać i ponownie wgrać wsadu w MC9S08SH16

matrixmm 19 Jun 2021 01:25 465 6
  • #1
    matrixmm
    Level 9  
    Cześć, walczę od jakiegoś czasu z mikrokontrolerem MC9S08SH16 NTX(Freescale). Najpierw by trochę się nauczyć kupiłem czyste kontrolery. Napisałem prosty programik do migania ledy i wgrałem go do mikrokontrolera przez CodeWarior.
    Następnie przy pomocy memmory dump zgrałem flesh z pamięci (adresy z datasheetu) i taki plik s19 wgrywam przy pomocy programu usbdm programmer do nowego mikrokontrolera. I tu pełny sukces i ma radość wielka :). Led miga czyli czytanie wgrywanie działa.
    Niestety jak przychodzi do czytania i wgrywania HCS08 w Siemensie Eq7 albo w płycie indukcyjnej to mój sposób zawodzi. Flash zdaje się zgrywać bez błędu. Wgrywam na druga kość też bez errorów. Jednak po wlutowaniu mikrokontrolera z nowym softem urządzenie nie działa.
    Czytam internet od paru dni. Najwięcej jest na Rosyjskich forach. Znalazłem filmik na którym Pan robi dokładnie tak samo jak ja na Arkadii i jemu działa. Z kolei w innym miejscu Pan pisze, że aby wgrać nowy firmware do HCS08 muszę mieć jeszcze dump (SW) ze specyficznym regionem. Znalazłem dumpy zgrane programatorem TNM5000 w formacie "bin". Niestety nie mam takiego programatora by je wgrać. Próbowałem przekonwertować bin na s19 ale standardowy objconvert nie rozpoznaje tego pliku bin więc nie potrafię go przekonwertować na s19.
    Może ktoś z doświadczonych kolegów podpowie jakieś rozwiązanie? Temat przerobiłem z Siemens Eq7 oraz mikrokontrolerami HCS08 w płytach indukcyjnych. Za każdym razem bez efektu. Czy to kwestia Lock Bit? Czy jak mikrokontroler jest zabezpieczony to też normalnie by się sczytywał tyle, że nie pełny albo zniekształcony? Brak mi doświadczenie więc proszę o wyrozumiałość.
    I najważniejsze pytanie. Czy mogę go sklonować przy pomocy USBDM? Czy mogę zapomnieć i muszę mieć TNM5000? Albo inny drogi programator?
    Będę wdzięczny za wszelką pomoc.
  • #2
    JarekC
    Level 31  
    Po pierwsze sprawdź co otrzymałeś w odczytanym pliku (s19), jeżeli procesor jest zabezpieczony to mogłęś odczytać same 0 lub FF.
  • #3
    matrixmm
    Level 9  
    Zwróciłem na to uwagę. Nie jest pusty.
    Więc wygląda to tak. Zgrywam mikrokontroler: MC9S08AC60.
    Obszar pamięci flasch według datasheet to: 0870-17FF i 1860-FFFF.
    załączam co mi sczytał w pliku s19 oraz plik bin zgrany TMN5000
    Zastanawia mnie, że mi sczytuje pierwszy obszar pamięci cały czysty. Natomiast w pliku z netu mam w obszrze 0870-093F dane.
    Drugi blok pamięci wygląda podobnie mój sczytany jak i bin z netu.
    Poradźcie proszę czym skonwertować ten bin do s19.
  • #4
    matrixmm
    Level 9  
    Udało mi się przekonwertować bin do s19 przy pomocy bin2s19. Wygląda mi, że poprawnie. Wgrałem plik ale płyta dalej się nie podnosi. Sprawdzę jutro na płycie która jest na 100% sprawna. Może po prostu na tej płycie coś jeszcze nie działa. Nie zmienia to jednak faktu, że na mikrokontrolerach MC9S08SH16 w płycie indukcyjnej operacja zgrania flasha nie działa na 100%. Przegrywam flash na czysty nowy kontroler. Wlutowuje go zamiast starego (działającego) i płyta przestaje działać. Wlutowuje stary i działa. Robię memmory dump ze starego i z nowego flasha i wyglądają mi na identyczna. :(
  • #5
    matrixmm
    Level 9  
    Muszę czegoś nie wiedzieć. :( Dziś trochę eksperymentowałem. Mam kilka czystych kontrolerów MC9S08SH8 i patrzyłem jak to jest z opcją secure. Jak wgram flash i go zabezpieczę to potem zgrywanie go za pomocą memmory dump daje same zera. Z tego wnioskuje, że skoro zgrywam flash (zarówno z MC9S08SH16 ja i z MC9S08AC60) i jest w nim treść a nie same zera to znaczy, że nie są zabezpieczone. Dlaczego w takim razie to nie działa? Nie zgrywam wszystkiego? Zgrywa się z błędem? Może ktoś, kto ma doświadczenie w programowaniu mikrokontrolerów jakoś mnie naprowadzi co robię nie tak.
  • #7
    matrixmm
    Level 9  
    Tak sobie teraz myślę, że jeżeli chodzi o MC9S08AC60 to pewnie zabezpieczenie objawia się tym, że pierwszy blok pamięci jest pusty. Natomiast więcej zagadek mam z MC9S08SH16. Tam jest jeden blok pamięci i jest kompletny. Jak wgrywam go na inny czip to nie działa. Porównywałem zawartość obu wsadów po zgraniu z nowego i starego i wyglądają identycznie. Teraz mi tak przyszło do głowy, że może te układy które kupiłem są niesprawne (próbowałem 3 różne sztuki ale z tej samej partii). Przedstawiają się poprawnym ID ale oznaczenie na nich jest zamazane. Może to jakaś podróbka i nie działa nie dla tego, że wsad źle zgrywam ale, że po prostu układy są z czapki. Hmm... zamówię inne i spróbuję.