https://obrazki.elektroda.pl/4509007500_... Zapraszam na prezentację https://obrazki.elektroda.pl/1519670000_... Przygodę z APM32F003F6 pozwoli nam szybko rozpocząć płytka Mini Board. Oprócz głównego MCU z przydatnymi do uruchomienia elementami takimi jak rezonator kwarcowy, przycisk RESET oraz testowy, diody LED,...
Masz debugger? Powyżej piszesz o HardFault, ale czy jesteś PEWNY, że właśnie to się dzieje? Hard fault zwraca w moim przypadku CFSR = 1400 BFAR = E000ED38 Czyli wygląda to na błąd związany ze stosem? Dobrze patrzę?. Program działa pod FreeRTOS 7.3.0, a zmiana wielkości stosu dla task'a nic nie daje :(. Wywaliłem wszystko zostawiając sam CMSIS + 3 instrukcje...
Po perwsze: NOP w ARM-ach to nie jest ten sam NOP co w AVR-ach. NOP nigdy nie dochodzi do execution stage w pipelene i jest discardowany natychmiast po pobraniu. Tak że zachowanie takiej sekwencji NOP-ów jest mocno niedeterministyczne. NOP-y używa się do paddingu a nie opóźnień. Przecież FreeRTOS to system operacyjny wielozadaniowy i cyklicznie jest...
jest mały problem uruchomiłem wszystko jednak system się zawiesza dioda się zapala uruchamia się wyświetlacz i usart wszystko zawiesza :/ main.c [syntax=c]/*****************************... (c)*************************************... ** ** http://www.powermcu.com ** **--------------File Info------------------------------------...
Pomijam fakt ze na stronce pisali ze demo powinno sie od strzala skompilowac bez jednego warninga ;) No ale ok, mam przykladowy plik syscalls.c do biblioteki newlib, teraz pytanie, moze banalne, jak dolaczyc ten plik do projektu ? Wydaje mi sie ze to jednak cos z ustawieniami eclipse/yagarto jest nie tak. Czemu tak mysle, nikt nie pisze nic ze trzeba...
Ostatnio był podobny tamat na forum. Możesz wykorzystać compound literals. https://gcc.gnu.org/onlinedocs/gcc-3.2/g... http://www.elektroda.pl/rtvforum/viewtop... Przykładowo: [syntax=c] #include <stdio.h> #include <stdint.h> #define COMPOUND_LITERAL(type, value)(type){value} #define TEST_U8 COMPOUND_LITERAL(uint8_t,...
Mi zadziałało coś takiego: http://obrazki.elektroda.pl/1811887400_1... [syntax=text]symbol-file Release-v1.2/aboard.elf monitor arm semihosting enable monitor reset halt[/syntax] a openocd uruchamiam tak: [syntax=text]bin\openocd-0.7.0 -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg -c "$_TARGETNAME configure -rtos FreeRTOS"[/syntax]...
Nigdy nie używałem debug_printf i w ogóle raczej mało debuguje w ten sposób ale FreeRTOS przejmuje systemowe przerwanie w SAM7X coby wykryć przerwanie od PITa. Poza tym jeżeli debug_printf w ogóle korzysta z przerwań to nie będzie działać bo we FreeRTOS przerwania muszą być odpowiednio "spreparowane". Popatrz sobie na przykładowe przerwania od UARTa.
Wciąż nie rozumiem do końca... LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_alloc(length=%"U16_F")\n", length)); //LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_alloc(length=hu)\n"));//Moja modyfikacja - powyższa linijka powodowała hard fault Jak odkomentujesz tą drugą linijkę to się wykrzacza tak? Czy może wykrzacza się jak zakomentujesz pierwszą...
Mój problem z printf'em tkwi gdzieś indziej, nie ma nic wspólnego z newlib/syscalls, założyłem nowy wątek http://www.elektroda.pl/rtvforum/viewtop...
Ja to mam w dużo starszej wersji, tresć jest inna. Generalnie printf nie jest rtos-friendly, jest niereentrant, przy okazji pojawiają się problemy z alignment. Włacz sobie sprawdzanie stosu w rtosie przy okazji.
Witam Mam zamiar napisać w FreeRTOS przykładowy program obrazujący działanie systemu RTOS (rózne reakcje programu na jakies dane wejściowe). Uruchomiłem przykład Demo win32-minGW w eclipsie, lecz że jest on rozbudowany, w pliku main zacząłem od przykładu z zadaniami i kolejką. Na podstawie przykładu z filmiku: /* Standard includes. */ #include <stdio.h>...
Hmm, właśnie nie rozwiązało to problemu. Racja, używa tych sprintfów do dodawania danych do tablicy, którą mu podaję. Żeby rozwiązać problem dużej biblioteki użyłem printf-stdarg.c z demo użycia FreeRTOS'a. Teraz jest tylko jeden problem, po pierwszym wykonaniu funkcji TaskGetRunTimeStats() dane wydają się być ok, ale po późniejszych procenty przekraczają...
Napisz funkcję w C, której zadaniem będzie pobranie informacji o częstotliwości pracy wybranego rdzenia w ESP32. Użyj ESP-IDF. Oczywiście, chętnie pomogę Ci napisać taką funkcję. W ESP32, aby odczytać częstotliwość pracy rdzenia, możesz skorzystać z funkcji `esp_clk_cpu_freq()` dostępnej w ESP-IDF, która zwraca częstotliwość pracy CPU w Hz. Poniżej...
sklonowane tutaj dla bezpieczeństwa https://github.com/divadiow/xr872_sdk Czy ktoś próbował zbudować z tego obraz hello world? Może wtedy moglibyśmy znaleźć offset flash w tym 1MB chipie, gdzie moglibyśmy flashować ten hello world... Dodano po 1 Kompilacja pod WSL dotychczasowe doświadczenia: 1. Pobrałem SDK stąd: https://launchpad.net/gcc-arm-embedded/4...
Niestety nie zauważyłem znaczącej poprawy. Ale rozwiązanie zostało znalezione - błąd był po mojej stronie. Użyłem funkcji dostarczonej przez crossworksa debug_printf("Blalala..."); który powodował wysyłanie logów debuggowych na okno "output" w crossworks, niezależnie czy była to wersja debug, czy release. Problem polega na tym że funkcja ta wymaga podłączonego...
Jeśli chcesz to zdebuggować, to możesz się "zaopatrzyć" w bleeding-edge-toolchain ( https://github.com/FreddieChopin/bleedin... ). Jest on kompilowany praktycznie tak samo jak toolchain ARMowy, z tym że biblioteki zawierają wszystkie symbole, a więc można je spokojnie debuggować i widzisz co się dzieje. Z Twojego opisu wynika, że problem...
STM32 + FreeRTOS 7.1.0 + IRQ Siedze już dłuższą chwilą nad takim czymś. Mam zdefiniowaną kolejkę i zadanie: xQueueReceive definiuje po ilu taktach (czyli ms) zadanie ma przechodzić w stan ZABLOKOWANE. Co bym tam nie wpisał zadanie się nie blokuje i działa. Ilość znaków w kolejce się zgadza - po wyświetleniu ostatniego znaku z kolejki zwraca 0. Próbowałem...
Po napisaniu programu z wykorzystaniem z systemem FreeRTOS, nie mogę go skompilować. Od 2 dni googlam i bez rezultatu. Oto kod źródłowy programu. [syntax=c] #include "misc.h" //#include "stdio.h" #include <stm32l1xx_gpio.h> #include <stm32l1xx_rcc.h> //#include <stm32l1xx_flash.h> #include "discover_board.h" /* Scheduler includes....
(at)Freddie Chopin Tak jak wcześniej pisałem miałem uruchomiony projekt - obsługę ethernet na STM32f407 gdzie main wyglądał tak: [syntax=c] /** ****************************************... * (at)file main.c * (at)author MCD Application Team, EvertDekker * (at)version V1.1.0 * (at)date 14-September-2014 * (at)brief...
Już chyba wiem w czym problem - Twoja kompilacja po prostu wciąga kupę nieużywanych w ogóle funkcji (i danych), które nie zostają usunięte na etapie linkowania. Po przejechaniu Twojego kodu moim skryptem (tego dla AT91...) przy optymalizacji 0, ale z usuwaniem niepotrzebnych elementów, całość zajmuje.... 1.7kB (; Jeśli tylko wyłączę usuwanie nieużywanego...
https://obrazki.elektroda.pl/8064219100_... Witajcie, dzisiaj przedstawię jak okiełznać kolejny chiński mikrokontroler WiFi+Bluetooth, a dokładniej W800-C400 od WinnerMicro. Na ten moment można go kupić za około 10 zł, z kolei płytkę startową z nim już za 25 zł i obie te ceny uwzględniają już przesyłkę. Oczywiście nie będę tu korzystać...
https://obrazki.elektroda.pl/3617408200_... Poniższa instrukcja przedstawi nam, jak skonstruować fotozegar oparty o moduł z układem ESP32 oraz ekran LCD. System wykorzystuje japoński portal BiJin ToKei (美人時計) do pobierania zdjęć, które wyświetlane będą przez zegar. Krok 1: Co to jest BiJin ToKei? BiJin ToKei(美人時...
Projekt jest taki jaki jest, przez make kompiluje się co trzeba, część funkcjonalności została tymczasowo zakomentowana (ta z FreeRTOS) w ramach poszukiwania źródła problemu. Z CodeSourcery walczyłem i walczę, ale problem mam ze skryptem linkera Twoja strona bardzo pożyteczna i ciekawa, przydałby się jakiś artykuł o skryptach linkera (podobny do tego...
Cześć, Platforma: STM32F769I-DISCO OS: FreeRTOS Środowisko: System Workbench for STM32 Próbuję zaimplementować PTP na podanej platformie, jednak od dłuższego czasu męczę się z regularnie pojawiającym się Hard Faultem. Jak zdołałem wybadać, błąd pojawia się prawdopodobnie, gdy upłynie czas jednego z timerów programowych, które są tworzone. Tworzonych...
Próbuję stworzyć zapis na microSD we FreeRTOS i potrzebuję koncepcji, w jaki sposób to najlepiej zrobić dla takiej ilości danych, które mają być zapisywanie. Powinno działać płynnie dla około 30 ramek z 8-bajtowymi danymi, które są wysyłane z częstotliwością około 10Hz do magistrali CAN. Każda dana powinna być zapisywana do innego pliku .txt. Mam taki...
https://obrazki.elektroda.pl/4931349900_... Przedstawię tutaj kolejny ciekawy moduł oparty o ESP32‑S3. Waveshare ESP32‑S3‑LCD‑1.28, jak sama nazwa wskazuje, oferuje 1.28‑calowy, okrągły wyświetlacz IPS 240×240 pikseli, sterowany układem GC9A01, zapewniający żywe barwy i dobre kąty widzenia. Moduł wyposażono także w QMI8658 – 6‑osiowy...
Witam, Od kilku dni walczę z problemem uruchomienia serwera Echo TCP na FreeRTOS+TCP. Działam na zestawie discovery z mikrokotrolerem STM32F746NGH.Warstawę Ethernetu przetestowałem bez używania FreeRTOS na stosie LwIP i na pewno działa. Opis problemu: Po inicjalizacji sprzętu wywołuję funkcję FreeRTOS_IPInit, która tworzy zadanie prvIPTask odpowiedzialne...
https://obrazki.elektroda.pl/6687336200_... Dzisiaj przedstawię najprostszą wersję DIY kamery internetowej opartej o płytkę M1S Dock. Pokażę jak można skompilować demo przesyłania obrazu JPG z kamery przez TCP do serwera w Pythonie oraz przeanalizuję jego działanie, ze szczególnym naciskiem na komunikację pomiędzy dwoma rdzeniami BL808....
Mam program w ze stosem LwIP 1.4.0 (+ FreeRTOS na LPC 1758/68 - ale to bez znaczenia). Pytanie moje brzmi: Jak mogę pobrać adres nadawcy pakietu UDP? Po moich poszukiwaniach znalazłem funkcję sockaddr ), zamiast sockaddr_in. W związku z czym nie mogę skorzystać z tej funkcji w sposób taki: [syntax=c]if (recvfrom(s, buf, BUFLEN, 0, &si_other, &slen)==-1)...
(at)ElektrodaBot Czy w zwykłych wątkach (poza ISR) można użyć vPortEnterCriticalSafe() oraz vPortExitCriticalSafe() zamiast stosowania operacji atomowych? Bezpośrednia odpowiedź W zadaniach (wątkach) FreeRTOS działających pod ESP-IDF można wywoływać `vPortEnterCriticalSafe()` / `vPortExitCriticalSafe()` zamiast używać `std::atomic`, ale należy traktować...
Witam! Od jakiegoś czasu bawię się mikrokontrolerami. Ostatnio próbuje swoich sił przy WinArmie. Nie mam problemu przy prostrszych projektach, gdzie w skład wchodzi pare plików. Problem i to duży pojawił się ostatnio, gdy próbowałem skompilować projekcik FREE RTOS-a (dość rozbudowany). Zmieniam ścieżkę dostępu do projektu, w pliku poza tym nic nie zmieniam....
Można używać modułów takich jak ESP32 z systemem FreeRTOS do wykonywania takich zadań wywoływania i odpowiadania na nie niezależnie, a następnie można rozwijać swój system w oparciu o system RTOS. Oczywiście można również użyć takiego modułu jako części systemu ESP32, użyć portu szeregowego do komunikacji z nim i użyć polecenia AT lub niestandardowych...
Sorry, wydawało mi się, że będzie czytelniej. [syntax=c]/* USER CODE BEGIN Header */ /** ****************************************... * (at)file : main.c * (at)brief : Main program body ****************************************... * (at)attention * * <h2>© Copyright (c) 2020...
Hej wszystkim! Mam pytanie dotyczące połączenia klient-serwer ftp. Realizuje tego typu połączenie na mikrokontrolerze z wykorzystaniem lwip oraz freertos. W przypadku takiej komunikacji mamy dwa kanały - kanał poleceń oraz kanał danych. Realizuje jak na razie jedynie tryb pasywny komunikacji - a więc to klient nawiązuje połączenia. Najpierw nawiązuję...
No właśnie że nie, jedyne co mój komputer potrzebuje to zainstalowaną wirtulna maszynę javy, a resztę załatwia eclipse "rozszerzając" sobie systemowe PATH (na szybko opisałem wszystko tu link ) Skoro rozszerza o folder w którym jest make.exe, to równie dobrze może rozszerzać o folder z kompilatorem... Tak jak piszesz, np. plik arm-none-eabi-gcc.exe...
Witam, posiadam STM32F429 na którym chcę uruchomić klienta http używając lwIP Raw Api. Problem jest taki że program działa kiedy używam debuggera, bez niego funkcja tcp_connect() zwraca błąd -4: /** Routing problem. */ ERR_RTE = -4, void tcp_client_init(void) { /* 1. create new tcp pcb */ struct tcp_pcb *tpcb; tpcb = tcp_new();...
A masz wyrównane stosy do 8-miu bajtów? Kiedyś o tym pisałem - bez tego właśnie CZASEM dzieją się problemy - np z funkcjami variadic, czyli m.in. z printfem... 4\/3!! Sekcję .data mam wyrównaną do 8, ale to wszystko co mogę zrobić. Ze stosami jest problem ponieważ korzystam z FreeRTOSa i każdy task ma dynamicznie przydzielany swój stos ze sterty, wiec...
https://obrazki.elektroda.pl/2375178000_... Dzisiaj tworzymy kolejny miniprojekt - tym razem będzie to dotykowy kontroler lampy RGB. Sam kontroler będzie bazować na płytce ESP32 + wyświetlacz dotykowy ESP32-2432S028R, natomiast sterować on będzie dowolnym urządzeniem Tasmota/OpenBeken poprzez interfejs HTTP Tasmoty. Komendy będą wysyłane...
printf double printf write printf winavr
piekarnik katalityczny czyścić microsoft windows ultimate rozrząd schemat ustawienia
potencjometry behringer eurolive potencjometry behringer
Migająca zielona dioda na palniku Hansa - co oznacza? Transformator zapłonowy Ulrich Kondensich Kompressor - diagnostyka i konserwacja