Długi maraton, aby zobaczyć boot na Powerboard Tyche

W listopadzie zeszłego roku sporo pracy włożono w uruchomienie prototypu Powerboard Tyche. W szczególności Max Tretene z ACube Systems pracował nad:

    • obliczaniem nowszego RCW (Reset Configuration Word)
    • próbą zaprogramowania eeprom przez I2C
    • próbą uruchomienia U-Boota z karty SD
    • debugowaniem naszej Powerboard Tyche za pomocą oscyloskopu zgodnie ze wskazaniami projektanta płyty głównej

    Programowanie eeprom przez I2C

    Programowanie eeprom przez I2C nie jest możliwe za pomocą naszego programatora USB, ponieważ zasilanie dostarczane do układu zasila również inne komponenty na płycie głównej notebooka. Ponieważ pobór mocy jest wysoki, port USB przechodzi w stan ochrony, a nawet jeśli w tym samym czasie zasilimy płytę notebooka, programator nie działa.
    Próbowaliśmy nie podawać go z programatora, ale zasilając płytkę i przenosząc tylko sygnały I2C i MASS, ale bez powodzenia.

    Dla eepromu I2C użyliśmy sygnałów masy i I2C, zasilających płytkę, ale programator ponownie nie programuje go, ponieważ zgłasza błąd IC nie odpowiada (chip nie odpowiada). Jeśli użyjemy tylko sygnałów I2C bez masy, z zasilaną płytką, to widzi układ, ale wydaje się, że pisze puste, ponieważ odczytuje wszystkie wartości zer tylko wtedy, gdy jest zaznaczone.

    Po tych wszystkich nieudanych próbach płyta główna jest teraz w rękach projektanta elektroniki, który spróbuje rozwiązać te problemy.

    Wyjście z portu szeregowego

    Uruchamianie programów z pamięci. Podczas pobierania programu testowego do pamięci i po ustawieniu odpowiednich przełączników na RCW zakodowany na stałe, program działa, ale wyjście z portu szeregowego jest nieczytelne. Jest to problem prototypu, ponieważ powtarzając procedurę na NXP T2080RDB DevKit, dane wyjściowe z portów szeregowych brzmią “Core0-Thread0: Welcome to CodeWarrior!”. Jednak gdy uruchamiamy ten sam program z pamięci, ale odbiegamy od danych wyjściowych do konsoli debuggera, komunikaty pojawiają się poprawnie.

    Nawet jeśli sprawdziliśmy wiele aspektów, aby wyszukać, gdzie leży problem, nie mogliśmy znaleźć niczego złego. Ten którego używamy działa poprawnie na NXP T2080RDB DevKit, a sprawdzenie projektu elektronicznego w prototypie nie ujawnia błędów, jest dość podobny do odpowiedniego projektu jak w oryginalnych schematach NXP T280RDB DevKit, nawet złącze jest takie samo.

    Poniższy rysunek przedstawia sesję debugowania na pamięci. W prawym dolnym rogu konsoli debugera można zobaczyć poprawne dane wyjściowe komunikatu, ale tak nie jest w przypadku portu szeregowego.

    Wyjście debugowania pamięci SRAM w konsoli

    Testy programowania NAND zakończyły się sukcesem. Zrzuciliśmy pamięć do pliku, a następnie sprawdziliśmy, czy U-Boot został poprawnie zflaszowany. Jednak podczas wybierania przełączników do rozruchu z pamięci NAND, płytka prototypowa nie wydaje się w żaden sposób uruchamiać. W rzeczywistości dioda LED sygnału ASLEEP pozostaje włączona, a z banku zasilaczy wydaje się, że procesor jest uśpiony.

    DDR nie może być w żaden sposób zainicjowany. W tej chwili nie mamy żadnych dalszych informacji na temat tej inicjalizacji, ponieważ na płytce można uruchomić tylko kilka prostych testów.

    Dane wyjściowe na numerze seryjnym, ale tekst jest nieczytelny, na DevKicie dane wyjściowe są czytelne i wyglądają następująco:
    Core0-Thread0: Welcome to CodeWarrior!

    Debugowanie Powerboard Tyche, aby dowiedzieć się, dlaczego się nie uruchamia

    Sys_Clock mają ten sam zegar zestawu NXP T2080RDB DevKit.

    Jednym z testów było sprawdzenie, czy port szeregowy ma prawidłową szybkość transmisji.

    Oscyloskop, Powerboard Tyche i debugger JTAG
    Wyjście szeregowe Powerboard Tyche na oscyloskopie

    Wygląda na to, że częstotliwość wyjścia szeregowego nie jest prawidłowo ustawiona. Spodziewamy się 115200 bodów/s, podczas gdy z tego wynika, że półfala kwadratowa daje około 32 kHz.

    Drugi zestaw deweloperski NXP T2080RDB do rozwoju U-Boota

    Proces rozwoju U-Boota jest prowadzony przez współpracującego z nami holenderskiego programistę Basa Vermeulena. Ponieważ Bas nie ma sprzętu opartego na procesorze NXP T2080, jest zmuszony sprawdzać wszelkie zmiany zastosowane w U-Boocie pośrednio, wysyłając każdą nowo skompilowaną wersję do Maxa Tretene, który ma nasz DevKit. Jak można się domyślić, proces ten jest dość powolny i skomplikowany. Na szczęście dzięki wsparciu NXP udało się znaleźć dedykowany sprzęt wspierający ten cel, a w styczniu 2024 roku będziemy mogli udostępnić Basowi dodatkowy T2080RDB DevKit.

    Zmiany w projekcie PCB i skanowanie 3D obudowy notebooka

    Gdy będziemy w stanie w końcu rozwiązać problemy uniemożliwiające uruchomienie Powerboard Tyche, musimy zaktualizować układ PCB, aby lepiej pasował do obudowy notebooka Eclipse. Aby osiągnąć ten cel, planujemy wykonać skany 3D całej obudowy, dzięki czemu będziemy mogli przearanżować projekt PCB zgodnie z modelem 3D obudowy notebooka Eclipse. Wstępna i nieformalna wycena ujawniła, że taki skan 3D może kosztować około 700 euro.

    Na koniec jeszcze raz dziękujemy za Wasze wsparcie i darowizny, które pozwalają nam sfinansować wszystkie te działania, znacznie ułatwiając osiągnięcie naszego celu w rozsądnym czasie: bardzo dobrej jakości wydania notebooka opartego na PowerPC jako otwartego sprzętu.

    1. Development of software components and fix boot up for the Powerboard Tyche

      Zebrano €9,011.74 z docelowej kwoty €16,000.00

    Nasze wystąpienia na wydarzeniach Free Software – październik-listopad 2023

    Wykład Power Progress Community Foundation na Konferencji Wolnego Oprogramowania Południowego Tyrolu, SFSCON 11 listopada 2023 r.

    Roberto Innocenti – Prezes Społeczności Power Progress +Powerboard Tyche prototyp i obudowa
    NXP Tech Days 24.10.23 Od lewej: projektant Powerboard Tyche, prezes PPC i właściciel ACube Systems
    Dzień Linuksa, Mediolan 28.10.2023 Aktualizacje społeczności Power Progress dotyczące Powerboard Tyche