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

[Rozwiązano] Renesas H8S/2398 - jak odblokować sterownik po wgraniu firmware z bootloader protection?

krzysieslaw 21 Wrz 2017 20:38 2310 15
  • #1 16712753
    krzysieslaw
    Poziom 8  
    Witam. Posiadam sterownik automatyki zbudowany na bazie mikrokontrolera Renesas H8S/2398 (mam nawet do mikrokontrolera jakąś dokumentację oraz darmową wersję Flash Development Toolkit, dostępna w sieci). Potrzebuję pomocy w jego zaprogramowaniu (kwestia finansowa do uzgodnienia).
    Producent sterownika zakończył wsparcie i nie jest w stanie mi pomóc. Wgrywałem aktualizację firmware (plik a37) przez narzędzia producenta (nie Renesasu) i przez pomyłkę zaznaczyłem opcję "bootloader protection". Firmware się wgrał, ale do tego momentu sterownik nie wykonuje programu i nie można się z nim połączyć aby wgrać ponownie program. Jest po prostu martwy.
    Narzędzia Renesasu nie są kompatybilne z protokołem komunikacyjnym tego sterownika, zaś ja nie mam narzędzi aby go zaprogramować w inny sposób - potrzebny jest prawdopodobnie inny interfejs.
    Poza źle wgranym firmwarem sterownik jest sprzętowo sprawny dlatego chcę go odzyskać.
    Firmware był aktualizowany ze względu na błędy w poprzedniej wersji.
    Jeżeli ktoś miał do czynienia z tą serią H8S proszę o pomoc. Dziękuję.

    Moderowany przez tmf:

    Temat wydzieliłem do nowego wątku. Na przyszłość proszę uważnie czytać pod czym się wysyła posty.

  • #3 16714125
    krzysieslaw
    Poziom 8  
    JarekC napisał:
    Trochę za mało informacji.
    Jak jest połączony H8S z komputerem?
    Jak jest wywoływany tryb aktualizacji oprogramowania?
    Czy wiadomo do czego służyła opcja "bootloader protection"?
    Czy była próba komunikacji poprzez Flash Development Toolkit?

    JarekC


    Jedyne wyjście bezpośrednie z H8S przebiega przez kartę komunikacyjną sterownika działającą na protokole N2Open RS-485. Na płytce obok kontrolera są jakieś 2 gniazda wielopinowe, ale ich przeznaczenie nie jest dokumentowane.

    Tryb aktualizacji oprogramowania wywołuje się z narzędzia dostarczonego przez producenta sterownika (nie Renesas). Programuje się go wtedy poprzez protokół N2Open.

    Na początku ładowania firmware ładowany jest bootloader z pliku firmware. Jest to jakieś 1% i trwa 1-2 sekundy, potem idzie właściwa zawartość. Jeżeli przerwie się ładowanie firmware lub rozłączy kabel komunikacyjny w trakcie trwania operacji, ale już po załadowaniu bootloadera (owe 1%) to sterownik nie działa ale jest do odratowania - można nawiązać z nim ponownie komunikację i wgrać firmware. Jeżeli przerwanie nastąpi w trakcie wgrywania bootloadera to sterownik jest kompletnie martwy i karta komunikacyjna nie działa.
    Po zaznaczeniu "bootloader protection" etap wgrywania bootloadera jest pomijany.
    Wielokrotnie wgrywałem firmware z opcją bootloader protection zaznaczoną, ale wtedy wgrywana była dokładnie ta sama wersja celem kompletnego wyczyszczenia sterownika. Teraz robiłem aktualizację do nowszej wersji.

    Generalnie mając nienaruszony bootloader sterownik na chłopski rozum powinien się podnieść przynajmniej do poziomu działającej komunikacji, szczególnie, że można przerwać wgrywanie programu już za bootloaderem i sterownik da się odratować.
    Być może firmware nadpisał jakiś obszar zarezerwowany dla bootloadera - inna wersja więc może inne obszary, indeksy, mapa pamięci, nie wiem.

    Flash Development Toolkit nie jest w stanie połączyć się z H8S przez kartę komunikacyjną - czy to martwego czy też sprawnego sterownika. Nie znam/mam interfejsu szeregowego do bezpośredniego programowania H8S.
  • #4 16714273
    JarekC
    Poziom 32  
    Z tego co mi wiadomo to H8S/2398 może być programowany albo w trybie Boot albo User Program Mode.
    Szczegóły są dostępne w karcie katalogowej rozdział 19.15.4

    Wg. mnie to co teraz można zrobić to spróbować ręcznie wprowadzić H8S w tryb Boot i zobaczyć w wtedy uda się nawiązać połączenie albo z oprogramowaniem producenta albo FDT Renesasa.

    Należałoby sprawdzić czy na któreś za złącz lub zworek są wyprowadzone nóżki procesora MD2,MD1,MD0.

    Wg mnie producent powinien przewidzieć taką sytuację awaryjną i podać procedurę ratunkową.

    Co to za sterownik?

    JarekC
  • #5 16714317
    krzysieslaw
    Poziom 8  
    JarekC napisał:
    Z tego co mi wiadomo to H8S/2398 może być programowany albo w trybie Boot albo User Program Mode.


    Tak, widać to także w narzędziu FDT, obie opcje nie działają w moim przypadku.
    Wprowadzenie ręcznie mikrokontrolera we właściwy stan nie jest dla mnie osiągalne, nie odbywa się to przez zwarcie dwóch nóżek lecz podanie stanów wysokich i niskich na 4 sygnałach.

    Szukam właśnie osoby/serwisu, która być może wie jak to ugryźć fizycznie - zaczynając od podstaw nie mam nawet właściwego interfejsu. Na pewno nie idzie to przez RS-485.

    Co do nóżek MD2, MD1 i MD0 to próbowałem analizować wzrokowo z lupą, ale płytka jest dwuwarstwowa i jest tego po prostu za dużo.

    JarekC napisał:

    Wg mnie producent powinien przewidzieć taką sytuację awaryjną i podać procedurę ratunkową.


    Wytwórca tego sterownika na pewno przewidział takie sytuacje, problem w tym, że linia produktów została zamknięta, sterownik do producenta trzeba wysłać za granicę, nie ma żadnej gwarancji, że będą w stanie coś z tym zrobić, opłaty za diagnostykę i ewentualne zaprogramowanie praktycznie na poziomie ceny nowego urządzenia - do tego brak pewności, że będą w stanie.
    Polski oddział nie jest w stanie pomóc.

    Sterownik to FX07 f-my Johnson Controls.
  • #6 16714365
    JarekC
    Poziom 32  
    Prawdopodobnie część sygnałów jest dostępna na złączu w które wpinana jest karta N2Open.

    W sieci znalazłem dyskusję osoby która podobnie zablokowała sterownik ale nie też nie znalazła rozwiązania.

    Wg mnie teraz tylko rozrysowanie podłączeń i próba wgrania firmware przez FDT.
    Więcej zdalnie nie pomogę.

    JarekC
  • #7 16714404
    krzysieslaw
    Poziom 8  
    Szczerze mówiąc w ogóle nie zakładałem opcji zdalnej pomocy.
    Poza tym że posługuję się multimetrem (woltomierz, amperomierz) i miernikami cęgowymi, oraz miałem trochę elektroniki na studiach i mam trochę podstaw w głowie, to reszta dla mnie jest kompletnie czarną magią, brak sprzętu i umiejętności do takich zadań.
    Chętnie podeślę ten sterownik osobie, która będzie w stanie to naprawić.
  • #8 16716831
    JarekC
    Poziom 32  
    Z układami Renesasa jest ten problem że są mało popularne wśród hobbystów.
    Spotykane są głównie w automatyce przemysłowej i samochodówce a w tych przypadkach
    dostęp do informacji technicznych jest mocno utrudniony.
    A serwis najczęściej polega na wymianie całego sterownika.
    Sam się z tym spotkałem w przypadku naprawy sterownika torów na kręgielni (oparty o Renesas M16C) gdzie oficjalny serwis oczywiście zaproponował wymianę sterowników na nowe, za niezłą sumkę.
    U mnie skończyło się szczęśliwie, udało mi się złożyć programator i odnaleźć w dokumentacji informację o sposobie wywoływania bootloadera i programowania M16C.

    Pozdrawiam
    JarekC
  • #9 16719879
    krzysieslaw
    Poziom 8  
    JarekC napisał:

    U mnie skończyło się szczęśliwie, udało mi się złożyć programator i odnaleźć w dokumentacji informację o sposobie wywoływania bootloadera i programowania M16C.

    Pozdrawiam
    JarekC


    Dokumentacja do samego H8S jest dostępna - sam osobiście niewiele z tym jestem w stanie zrobić, powód podałem w poprzednim poście.
    Problem jest z dokumentacją do sterownika, gdyż taka nie jest dostępna nawet dla system builderów.
    A celem jest naprawa sterownika po kosztach mniejszych niż proponuje mi JC. Oczywiście JC nie gwarantuje mi, że cokolwiek naprawi, szacować koszta chce po otrzymaniu sterownika, sterownik ma iść na wysyłkę do Niemiec, koszta wysyłki plus wycena wstępnej diagnostyki problemu są już na wstępie na poziomie ceny nowego sterownika.
  • #11 16724448
    krzysieslaw
    Poziom 8  
    JarekC napisał:
    A jaki jest koszt takiego sterownika?

    JarekC


    Nie wiem czy ma to teraz znaczenie - sterownika nie ma już na rynku (zaprzestanie produkcji i likwidacja zapasów magazynowych).
    Ostatnie sztuki jakie JC mógł mi zaproponować nabyliśmy w naprawdę okazyjnej cenie.
    Mógłbym klientowi dać coś zamiennego gdyby nie magistrala N2Open.
  • #13 16737048
    krzysieslaw
    Poziom 8  
    JarekC napisał:
    Głównie chodzi o to czy opłacalne jest poświęcenie np kilku godzin pracy na rozpoznanie tematu i próbę wgrania firmware.

    JarekC


    Tak, jest opłacalne. Po pierwsze nie ma go już na rynku.
    Sterowniki są montowane w skrzynkach o wymiarach uniemożliwiających montaż obecnych rozwiązań JC (wszystko da się przerobić ale to są dodatkowe koszta).
    Sterowniki pracują w oparciu o (teoretycznie otwarty) N2Open, który ze względu na obecność Modbus RTU nie zdobył żadnej większej popularności poza Johnsonem (generalnie popularny w USA i trochę we Włoszech). Zmiana teraz komunikacji na Modbus to kolejne koszta - w tych sterownikach nie można zmienić sobie karty komunikacyjnej.
    Po drugie zdarza się nam, że musimy na nowo wgrać firmware, czasami na obiekcie (najczęściej w wyniku błędnie wgranego programu). Jeżeli straci zasilanie w momencie wgrywania bootloadera to umarł w butach. Narzędzie Johnsona teoretycznie pozwala wyłączyć wgrywanie bootloadera (pozostawia oryginalny) ale gdyby to działało dobrze to byśmy dzisiaj nie dyskutowali.
    Renesas oferuje narzędzia, którymi można wgrać firmware do kontrolera bez konieczności zakupu tych narzędzi.

    Tak więc, jeżeli cena będzie odpowiednia można pokusić się o rozpracowanie tego sterownika.
  • #14 16737261
    JarekC
    Poziom 32  
    W dalszym ciągu nie wiadomo czy programowanie odbywało się przez tryb Boot Mode czy User Mode.

    Jeżeli może Pan podesłać mi plik z firmware (a37) to sprawdzę jaki obszar pamięci jest aktualizowany i spróbuję przeanalizować który tryb mógł być zastosowany.

    Może być taka sytuacja że uda się wgrać firmware i sterownik zadziała ale nie da się przywrócić możliwości aktualizacji z programu JC.

    JarekC
  • #15 19704542
    krzysieslaw
    Poziom 8  
    Wróciłem do tematu po 4 latach - zidentyfikowałem na płycie urządzenia gniazdo zawierające sygnały
    Vcc, Vss, Md0, Md1, Md2, /Res, TxD, RxD (gniazdo służy do wtykania klucza programującego producenta - czy pozwoli wgrać FW nie wiem). Mam oprogramowanie Renesasu, które przynajmniej w teorii wspiera ten sterownik. Mam zamiar zamówić układ RS232 o nazwie Pololu 23201a, który ma dopasowywać napięcia do poziomu mikrokontrolera (3,3V oraz 5V). Rozumiem, że sygnały po stronie konwertera GND, RxD, TxD podłączam odpowiednio do Vss, TxD oraz RxD złącza?
    Md0, Md1 i Md2 służą do wyboru trybu. Czy pozostałe we wtyku sygnały gdzieś podłączam do konwertera?
  • #16 19764388
    krzysieslaw
    Poziom 8  
    Udało się wgrać firmware z użyciem interfesju Pololu 23201a (i każdego pewnie innego dającego napięcia TTL), wspomnianego oprogramowania Renesasu i z odpowiednim ustawianiem linii MD0,1,2 oraz /RES. Wgrywanie działało tylko w trybie BOOT. W trybie USER brak możliwości komunikacji z kontrolerem. Być może kwestia innej kombinacji linii MDx i /RES. Kontroler posiada kilka linii RX/TX więc być może w trybie USER komunikacja odbywa się na innym interfejsie. Generalnie kompletny brak dokumentacji do sterownika jako całego urządzenia. Temat do zamknięcia.
REKLAMA