Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2541
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    187

Posty napisane przez Elvis


  1. Nie sprawdzałem jak jest w najnowszych wersjach, ale dawniej takiej opcji nie było - i nie był to błąd, ale raczej założenie projektowe (it's not bug, it's a feature).

    Problemem w przypadku tak skomplikowanych układów jak STM32MP1 jest konieczność współdzielenia peryferiów między równolegle działające rdzenie i systemy. GPIO są dobrym przykładem - projektant musi zadecydować, które piny przydzielić dla Linux-a, a którymi ma sterować rdzeń M4. Ponieważ w wersji "produkcyjnej" najpierw startuje Linux i to on jest głównym systemem, za konfigurację GPIO odpowiada ten system. Dlatego CubeMX nie generuje kodu inicjalizującego GPIO dla M4 - po prostu ma to zrobić A7. CubeMX generuje za to plik konfiguracyjny, czyli device-tree, który należy dodać do jądra linuxa - dzięki czemu piny zostaną skonfigurowane poprawnie jeszcze zanim kod na M4 zacznie działać.

    Niestety takie podejście nie sprawdza się w przypadku trybu inżynierskiego i w nim trzeba konfigurację GPIO napisać samemu. Ale to chyba nie jest zbyt skomplikowane zadanie 🙂

     

    • Lubię! 2

  2. Skoro nie masz jeszcze kopii zapasowej systemu, najwyższy czas ją przygotować: https://forbot.pl/blog/kopia-zapasowa-raspberry-pi-jak-skopiowac-karte-microsd-id29561

    Na szczęście w przypadku RaspberryPi bardzo łatwo jest zachować dane - wystarczy wyjąć kartę microSD, a wszystko od nowa zainstalować na innej. Na koniec można po prostu przekopiować pliki konfiguracyjne, dane, bazy, itd.

    Oczywiście najlepiej byłoby naprawić obecny system, ale i tak lepiej tego nie robić na aktualnej i jedynej kopii. Więc jeśli chcesz poeksperymentować, to najpierw zrób backup, następnie odwiń go na inną kartę i zacznij naprawiać system. Jak coś pójdzie źle to zawsze można próbować jeszcze raz.


  3. 4 minuty temu, fast_rabbit napisał:

    @Elvis, proszę powstrzymać się od hejtu. Nie potrafisz, nie chcesz, daj zrobić innym.

    Nigdzie i nikogo nie hejtowalem, chyba pod hejt znacznie bardziej pasuje zarzucanie komuś braku umiejętności.

    Jedyne co napisałem to ostrzeżenie, bo moim zdaniem w przypadku takich "anonimowych" ogłoszeń trzeba być ostrożnym. Szkoda czasu np. na pisanie oferty skoro ktoś przykładowo chce udowodnić że projekt powinien kosztować daną kwotę, zrobić badanie rynku, albo po prostu zyskać trochę rozgłosu w sieci.

    • Lubię! 2

  4. @atMegaTona nie słyszałeś nigdy o ogłoszeniach dawanych zupełnie nie po to żeby wykonać projekt? O tym właśnie pisałem odnośnie ostrożności - bo wcale nie jestem pewien, czy to ogłoszenie faktycznie ma na celu znalezienie wykonawcy, czy np. sprawdzenie za ile takie projekty są wykonywane, albo po prostu zrobienie komuś reklamy. Oczywiście mogę się mylić, ale jakoś zakres wymagań idealnie pokrywa się z tym co w EP i EdW opisuje jeden z zablokowanych użytkowników tego i innych forów... Więc jak dla mnie to nie ma żadnego budżetu, żadnego projektu, jest ogłoszenie, na które wielu naiwnych może się nabrać.

    • Lubię! 2

  5. @Harnas dziękuję za uwagi. Odczyt z plików, jak i samo przygotowanie danych jest oczywiście zrobione absolutnie nieprofesjonalnie. To co opisałem powstawało jako "dłubanina" metodą prób i błędów, a moim celem było uruchomienie przykładu z X-CUBE-AI, planowałem później wszystko zrobić od początku, ładniej, lepiej, i poprawniej oraz z ciekawszym czujnikiem (chciałem użyć czujnik gestów https://botland.com.pl/pl/czujniki-gestow/3065-apds-9960-czujnik-rgb-i-wykrywacz-gestow-33v-i2c-sparkfun-sen-12787.html). Plan był dobry, ale zabrakło czasu, więc opisałem po prostu to co udało mi się zrobić, za niedoskonałości bardzo przepraszam.


  6. Bez podstaw pythona raczej nie da się używać keras, ani nic sensownego w AI zrobić. Nie musisz być od razu pythonowym guru, ale postawy są niezbędne. Inaczej zostanie tylko uruchamianie gotowców i zabawa przygotowanymi przez kogoś sieciami.


  7. Wydaje mi się, że jeśli ktoś chce poznać lepiej uczenie maszynowe, to do tego przyda się dobra książka i bardzo mocny komputer, najlepiej z solidną kartą graficzną.

    Natomiast użycie AI w systemach embedded to trochę inny temat. I tak trzeba sieć wytrenować na PC, później zostaje już tylko konwersja na mikrokontroler i w tym faktycznie może pomóc AI-CUBE. Miałem o tym napisać artykuł, ale trochę zabrakło czasu.

    • Lubię! 1

  8. Pytanie tylko czy @SOYER jest bardziej zainteresowany nauką budowy frezarek, czy raczej ich wykorzystania. Bo zbudowanie frezarki, czy drukarki to dopiero początek. Ale oczywiście jak ktoś ma mnóstwo wolnego czasu i dużo pieniędzy, to niech buduje od podstaw, w końcu kto bogatemu zabroni 😉


  9. Dyskusja nad wyższością jednego środowiska / procesora / biblioteki nad innym nie ma sensu. Żadne z tych rozwiązań nie jest absolutnie lepsze, ani absolutnie gorsze - gdyby tak było już dawno zostałoby tylko to lepsze.

    Natomiast nie mieszajmy edytora / środowiska z biblioteką. Arduino IDE jest... proste i chyba to wszystko co można napisać. Ale to dla wielu osób, szczególnie początkujących może być zaletą. Powiem więcej - nawet dla dawno temu początkujących może to być zaleta. Jak potrzebuję szybko przetestować np. nowy moduł, do którego mam bibliotekę pod Arduino to używam Arduino IDE. Bo tak jest po prostu najszybciej. Później mogę używać innych środowisk, bibliotek, czy mikrokontrolerów, ale żeby szybko przetestować np. nowy mały wyśwetilacz, albo czujnik użycie Arduino jest po prostu oszczędnością czasu.

    Na koniec jeszcze odnośnie wydajności bibliotek - wcale nie zawsze biblioteki HAL są szybsze od Arduino. Przyznam, że pisząc artykuł o wyświetlaczach przeżyłem ogromne rozczarowanie biblioteką HAL. Jeśli będziemy wysyłać dane w małych paczkach, np. po bajcie, biblioteki Arduino są wydajniejsze niż HAL... Okazuje się, że implementacja od ST jest tak przekombinowana, że zajmuje to mnóstwo czasu. Natomiast Arduino zapisuje od razu do rejestrów. Ot taka ciekawostka.


  10. O stm32mp1 są na Forbocie co najmniej dwa artykuły:

    https://forbot.pl/blog/nowe-stm32-ze-wsparciem-dla-linuksa-cos-dla-fanow-rpi-id33971

    https://forbot.pl/blog/stm32mp1-co-warto-wiedziec-jak-zaczac-id37003

    Ogólnie ten mikroprocesor jest bardziej interesujący, ale raczej ma niewiele wspólnego z instalacją Linux-a na mikrokontrolerach, co było opisane w tym temacie.

    Co do komunikacji między rdzeniami, to używana jest biblioteka OpenAMP (https://github.com/OpenAMP/open-amp/wiki/OpenAMP-Overview), ale najprościej jest użyć wirtualnego uart-a. W przykładach od ST znajdziemy gotowe rozwiązanie, które działa tak jakby oba rdzenie były połączone łączem szeregowym (po stronie linuxa używamy zwykłego urządzenia /dev/tty*, po stronie mikrokontrolera mamy gotowe funkcje do wysyłania i odbierania danych).

    Natomiast przypisanie GPIO i większości modułów peryferyjnych można samemu zmodyfikować, więc jeśli chcemy to rdzeń cortex-m może kontrolować więcej GPIO niż cortex-a. Wszystko zależy od zastosowania. Niektóre moduły oraz ich piny (np. pamięć DDR) są dostępne tylko dla cortex-a, ale na pewno nie jest to większość.

    • Lubię! 2

  11. @marek1707 nie jestem adminem, ani moderatorem, nie mam więc możliwości zamknięcia tego tematu.

    Inna sprawa, że przeniesienie go do działu „na luzie” byłoby wskazane, ale już samo zamykanie - właściwie dlaczego? Nikt nic złego nikomu w tym temacie nie zrobił, mamy dość ciekawe hasło, chociaż jego rozwinięcie raczej nie ma żadnego sensu.

    Moim zdaniem najlepsze co wszyscy razem możemy zrobić,  to przestać się w tym temacie odzywać i już nie karmić trola.


  12. 14 wpisów, mnóstwo tekstu i zupełnie brak treści... Proponuję przejść do jakiegokolwiek konkretu, albo wywalić ten wątek do kosza. Forbot to techniczne forum, a nie kółko filozoficzne, @MKJB ja coś wymyśliłeś, może zbudowałeś i chcesz o tym napisać, to pisz śmiało, chętnie poczytamy

    • Lubię! 1
×
×
  • Utwórz nowe...