Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    1957
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    138

Elvis wygrał w ostatnim dniu 28 października

Elvis ma najbardziej lubianą zawartość!

Reputacja

480 Mistrz

O Elvis

  • Ranga
    7/10

Informacje

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Ciekawe czy USB-OTG jest dostępne w tym modelu. To byłby duży plus w porównaniu z B.
  2. Z tego co widzę tańsze płytki bazują na 32-bitowych procesorach, jak na 64-bity to i tak malinka jest niedroga. Nawet NanoPi kosztuje powyżej stówki... Zawsze zostaje optymistyczna wersja "96,75 zł netto / szt." - i jest poniżej stówki
  3. Mam wrażenie, że i tak w podobnych tematach odpowiedzi na moją wimaginowaną "ankietę" się pojawiają, Tylko nie są nigdzie zbierane, a biedny Marek musi za każdym razem pytać o to samo. Moja propozycja to było tylko zebranie pytań, które się zawsze pojawiają w jednym miejscu. A jak zmusić do wypełniania - wydaje mi się, że bardzo prostu, wystarczy żeby Marek poprosił o wypełnienie i dopiero wtedy odpowiadał dalej... Przy okazji można byłoby eliminować tematy gdzie autorowi nawet się kilku słów o projekcie nie chciało napisać.
  4. Przepraszam za mały off-topic, ale ten temat jest bardzo pasuje do pewnego schematu, który (ostatnio) pojawia się w wielu wpisach na forum. Jak dla mnie wygląda to tak: ktoś, na ogół młody (albo grupka młodych ludzi) chce coś niesamowitego zbudować. Patrząc na zadawane pytania już jako nie-młody inżynier, jedno co przychodzi do głowy to "nie da się". Z drugiej strony, właśnie taki młodzieńczy entuzjazm, połączony z brakiem wiedzy że się nie da, czasem daje wręcz zaskakujące rezultaty - studenci budują działające konstrukcje, łaziki marsjańskie, czy inne wynalazki - i pokazują że jednak się udaje. Z drugiej strony zawsze jest to samo - milion pytań i docinków, że przecież nie dacie rady. A może warto byłoby przygotować swego rodzaju standardową ankietę odnośnie projektu? I zamiast za kazdym razem zaczynać od "nie da się", a później miliona pytań o projekt, pokazać, że to co robicie ma jakiś sens i nawet staruszkowie powinni pochylić głowy zamiast kiwać na boki? Wydaje mi się że @marek1707 mógłby zaproponować kilka pytań, które pomogłyby w takim wstępnym etapie: np. jaki jest budżet projektu, jego cel, jaką wiedzę ma zespół, czy jest jakiś opiekun (naukowy) itd. Z drugiej strony to mogłoby być ciekawe dla pozostałych czytelników forum, pozwoliłoby dowiedzieć się więcej jak takie projekty wyglądają, skąd się biorą i do czego prowadzą.
  5. Momencik, coś mi się tutaj nie zgadza: Czy my piszemy o przykładach z kursu?
  6. Akurat STMStudio działa w tym przypadku lepiej niż typowy debugger. Miałem kiedyś z DMA i ADC fajną przygodę - jak sprawdzałem wyniki pod debuggerem to dostawałem poprawną wartość, ale po wznowieniu działania programu wyniki były już ciągle takie jak za pierwszym razem. Ten sam problem dotyczy chyba tego odcinka kursu, ale nie dam głowy bo nie sprawdzałem. Stąd pierwsze pytanie - jak za pomocą debuggera zatrzymasz program, to w zmiennych Pomiar_I, Pomiar_I1, Pomiar_I2 masz jakieś wyniki, czy same zera?
  7. @bresser2208, jak opisujesz problem, a później wklejasz kod to staraj się pisać o tym samym. Może mam już problemy ze wzrokiem, ale zmiennej Joystick, która "nie działa" w programie nie widzę, więc jak mógłbym pomóc. Druga sprawa, to już wracajac do tego kodu, który wkleiłeś - skąd wiesz że nie działa? Przecież zmiennych Pomiar_I1 oraz Pomiar_I2 nie używasz, więc jak odgadujesz że nie działają? Od razu powiem, że używanie debuggera może być kiepskim pomysłem. DMA działa do pewnego stopnia niezależnie od CPU, więc gdy zatrzymujesz program, mogą się pojawić błędy, które normalnie nie występują.
  8. Jakiś czas temu wspominałem, że ARM udostępnił rdzeń Cortex-M1 dla FPGA oraz planuje niedługo podobnie postąpić z Cortex-M3. Trochę czasu minęło i faktycznie na stronie ARM DesignStart pojawił się link do przykładowej implementacji Cortex-M3 w FPGA: https://developer.arm.com/products/designstart/designstart-fpga Aby pobrać pliki musimy się zarejestrować, ale na szczęście dostęp jest darmowy. Ze strony ARM pobieramy archiwum z przykładowym projektem używającym Xilinx Vivado 2018.2 oraz płytkę Arty-A7 firmy Digilent https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/ W załączonych plikach znajdziemy dość dobrą instrukcję "krok po kroku", jak możemy zbudować przykładowy projekt. Jest nieco długa (80 stron), więc przyznam że przeczytałem ją mocno pobieżnie. Sam schemat projektu wygląda następująco: Jak widzimy rdzeń Cortex-M3 jest dostępny jako moduł IP. Możemy więc użyć go w innym projekcie, co więcej nie musimy używać Arty-A7 - możemy go nawet symulować. Procesor możemy również dostosować do naszych potrzeb. Domyślnie posiada on 32kB pamięci programu oraz 32kB pamięci RAM. Można oczywiście dołączyć zewnętrzną pamięć - w przykładzie użyta jest pamięć QSPI Flash, jeśli na płytce mielibyśmy np. DDR moglibyśmy z niej skorzystać. Również pamięć wbudowaną można konfigurować (program do 128kB, dane do 1MB) , chociaż tutaj limitem są zasoby FPGA. Przykładowy projekt to ogromne ułatwienie na początek. Postępując zgodnie z instrukcją, właściwie od razu można przystąpić do syntezy. Jakieś 10 minut później widzimy efekt: Wykorzystaliśmy większość zasobów układu Artix7-35T, ale używając np. wersji 100T mielibyśmy jeszcze sporo miejsca. Układ FPGA konfigurujemy jak każdy inny przykład, po chwili na porcie szeregowym zobaczymy wynik działania przykładowego programu: Jego kod dostarczany wraz z projektem, możemy więc bez problemu zacząć pisanie własnego kodu. Na stronie DesignStart znajdziemy informację o dedykowanej płytce z interfejsem dla debuggera, niestety jeszcze niedostępnej: https://developer.arm.com/products/system-design/development-boards/designstart-daplink-board Na koniec zdjęcie płytki ARTY-A7 z działającym na niej rdzeniem Cortex-M3:
  9. @Belferek wydaje mi się, że nieco opacznie rozumiesz cytowane zapisy. Papierowych książek nie wolno legalnie kopiować, czy też dystrybuować. Możesz ją oczywiście pożyczyć. To samo dotyczy ebooka - nie wolno go kopiować i tej kopii dawać znajomemu. Ale jak najbardziej możesz go pożyczyć - wystarczy że pożyczysz znajomemu swój komputer, może wtedy czytać ile tylko chce
  10. @skrooq Twoje pytania brzmią nieco chaotycznie, więc może po kolei: Raspberry Pi B+ może spokojnie działać bez kamerki, ale nie bardzo wiem jak sobie wyobrażasz działanie samej kamery? Widziałeś jej podłączenie - to taśma, więc pytanie pomocnicze: gdzie chciałbyś tą taśmę podłączyć gdyby nie było Raspberry? Odpowiedź na to pytanie ułatwia odpowiedź na następne czyli: A jak wepniesz tych 10 tasiemek od kamer do jednego gniazda? W przypadku kamer V1.3 była pewna opcja podłączenia 4 kamer: https://kamami.pl/kamery-rpi-3-model-b/562536-arducam-multi-camera-adapter-hub-do-kamer-raspberry-pi-.html Jednak cena takiego rozgałęziacza jest wyższa niż samej malinki. Druga sprawa to ograniczenie do v1.3 - w przypadku v2 o które pytasz, podobno nie działa. Więc jak chodzi o CamV2 to najłatwiej podłączyć 1 do 1, czyli jedna kamerka do jednego raspberry. Możesz pomyśleć o razpberry zero - wtedy chociaż cena jest rozsadniejsza. Musisz napisać co znaczy "jednocześnie". Bo każdy interfejs ma ograniczoną przepustowość - i podłączając np. 10 kamer do USB2.0 musisz brać pod uwagę prędkości transmisji. I na koniec: Zacznij może od dokładnego zdefiniowania swojego zadania: ile ma być tych kamer, interesuje Cię jedno zdjęcie, seria, czy może film? Jak kamery mają być wyzwalane i jakie opóźnienie jest akceptowalne. Na koniec pomyśl jak i gdzie będą składowane wyniki - przy okazji w jakim formacie, rozdzielczości itd. Jak się nad tym zastanowisz to może sam dojdziesz do wniosku, czy ten problem Cię przerasta, czy nie. A i jeszcze na koniec najważniejsze - zasilanie. O tym też warto pamiętać. Edit: Za późno zobaczyłem wpis od @Belferek - przejściówki, które podlinkowałeś pracuja tak jak podana przeze mnie tylko z V1.3, ale jest też wersja dla V2 http://www.ivmech.com/magaza/en/development-modules-c-4/ivport-v2-raspberry-pi-camera-module-v2-multiplexer-p-107 Nie wiedziałem o tym, więc fajnie że wstawiłeś linka. Używając takiej przejściówki jest dużo łatwiej, chociaż przy okazji drogo. Pozostaje nadal pytanie o "jednoczesność", bo wykonanie zdjęcia zajmuje czas, a taki multiplekser pozwala raczej na dostęp tylko do jednej kamery w danym momencie. Druga sprawa to mechaniczne rozmieszczenie kamer - tasiemki nie mogą być zbyt długie, więc pytanie czy to pasuje do projektu.
  11. Nie wiem gdzie pojawiły się wyzwiska, może mi coś umknęło, ale ja nic takiego nie widziałem, ani nie pisałem. Chodziło mi tylko o to, że naukę najlepiej zacząć od siebie. A wcześniejszy wpis zawierał strasznie dużo mądrości, które nie najlepiej świadczyły o samym piszącym. Natomiast zmienna cmdIndex była tylko przykładem - oczywiście przypisanie do niej zera nic nie zepsuje, może nawet lepiej wyglądać. Ostatnio niestety to forum coraz częściej zmienia się w miejsce odreagowywania kompleksów przez różne osoby, więc może ustalmy tylko - zmienne globalne zarówno w C, jak i w C++ są inicjalizowane, mówi o tym standard języka. Odnośników nie chce mi się szukać, ale to nie jest wielki wysiłek. Inna sprawa to faktycznie kod jest w C++, a nie jak napisałem w C - mój błąd, nikt nie jest nieomylny
  12. @deshipu to zmienna globalna, więc wcale nie będzie miała wartości niezdefiniowanej... niezależnie czy to C, czy C++
  13. Mi dla odmiany nie chciało się czytać - ale na pewno w cmdIndex będzie zero. Polecam wrócić do standardu języka C zanim się zacznie pouczać innych.
  14. Nie jestem pewien co w tym artykule znaczy "Do głównych zalet nowej serii należy również zaliczyć implementację technologii Arm TrustZone, która znacznie zwiększa bezpieczeństwo docelowego urządzenia." - czy to że tego docelowego urządzenia nikt nam nie ukradnie, a może zbudowany robot nie będzie biegał z siekierą po ulicach.. No ale skoro będzie bezpieczniej to chyba lepiej W każdym razie jeśli ktoś byłby zainteresowany co na prawdę oznacza TrustZone, zachęcam do poczytania na stronach ARM-a: https://developer.arm.com/technologies/trustzone Jak chodzi mikrokontrolery, to jest już dostępny Cortex-M23, też z tą technologią: https://www.microchip.com/promo/sam-l10-and-l11-microcontroller-family Natomiast sam TrustZone to nic nowego, jest już ponad 10 lat na rynku, chociaż dotychczas był używany w mikroprocesorach. Znajdziemy go w większości telefonów (np. Knox od Samsunga), a nawet w Malince (https://www.op-tee.org/docs/rpi3/)
×