Nie wiem dlaczego to nie działa. Mam oryginalnego j-linka, chińskiego j-linka, i ulinka2, i na każdym da się programować, debuggować i kasować różne STM32 bezzonkowo. Keil 4.03, MDK-ARM 4.10. Nie podoba mi się RAM for algorithm. W STM32 RAM zaczyna się pod adresem 0x20000000 a nie 0x10000000, to spora różnica... Popraw to, i powinno chodzić. Loader...
Witam, Tak jak w temacie - mam w głównej pętli dosyć skomplikowane obliczenia i chciałbym się dowiedzieć ile dokładnie trwa cykl jednej pętli. Jak to zmierzyć?
Witam, Robię analizę FFT na tym mikrokontrolerze korzystając z bibliotek DSP producenta. Za pomocą TIM2 zmierzyłem czas obliczeń FFT (szyna APB1 36MHZ, prescaler = 35 daje inkrementację licznika co 1µs). Fragment listingu z pomiarów: [syntax=c] TIM2->CNT = 0; for(i=0; i<512; i++) buffer_input[i]=(float)(ADC_buff_1[i][0]... arm_rfft_f32(&S,...
Czy w procesorach STM32 wiekszość rozkazów wykonuje się w 1 cyklu zegarowym? Nie wszystkie. Jeśli chcesz mieć bardzo dokładnie oszacowany czas w cyklach to musisz zdeasemblować program, zajrzeć do dokumentacji, żeby sprawdzić ile czasu się wykonuje jeden rozkaz i sprawdzać rozkaz po rozkazie. Jak zależy Ci na prędkości i oszczędności co do rozkazu,...
(at)_lazor_ Odbiegamy od tematu, ale może kogoś to zainteresuje, skoro i tak nie mamy komponentów do montażu. ;) Staram się nie zgadywać co mogą zrobić politycy w kwestiach finansowych. Moja wyobraźnia nie sięga tak daleko. Pierwsza bariera to cele klimatyczne. Fabryka pożerająca duże ilości energii w Polsce nie wchodzi w grę ze względu na zielony...
https://obrazki.elektroda.pl/7656017200_... O komputerach jednopłytkowych czy stare komputery były lepsze od współczesnych platform rozwojowych i SBC? Nie lubię Arduino I to jest jak najbardziej prawda. Arduino to platforma, która miała dać łatwy dostęp do programowania elektroniki ludziom, którzy nie znają się ani na elektronice,...
Udało mi się sflashować go OTA przy użyciu laptopa z systemem Ubuntu Linux. W ogóle nie używam Windowsa. Jeśli jesteś użytkownikiem systemu Windows, najprostszym sposobem będzie prawdopodobnie użycie Raspberry Pi z interfejsem Wi-Fi obsługującym punkt dostępowy. Największym problemem było znalezienie sposobu na przełączenie tego urządzenia w tryb AP...
Jedną ze strategii szybkiego wdrażania nowych produktów wbudowanych na rynek jest wykorzystanie zunifikowanych platform. Mając plan działania identyfikujący rozwiązania, które zostaną wpuszczone do obiegu, np. w ciągu najbliższych kilku lat, można z powodzeniem stworzyć ww. ujęcie. Ponieważ różni klienci chcą nieco innych funkcji, konfiguracji i dostosowań,...
Jeżeli szukacie informacji na temat sposobów zabezpieczania programów i produktów, to dostępny jest cykl szkoleń z tego zakresu na youtube. Znajdziecie tam ogólne informacje na temat metod zabezpieczania programów, szyfrowania danych, podziału programu na jednostki chronione i niechronione, rozwiązań sprzętowych wspomagających proces oraz rozwiązań...
https://obrazki.elektroda.pl/2451334200_... Rozpocznijmy odpowiedź na to pytanie od spojrzenia wstecz na epokę programowania "bare-metal". Czym jest tego rodzaju programowanie? W informatyce "gołe urządzenie" odnosi się do procesora wykonującego instrukcje bezpośrednio na fizycznym sprzęcie logicznym bez interweniującego systemu operacyjnego....
Dodanie podstawowego wsparcia dla innych układów jest porównywalne z postawieniem projektu na FreeRTOSie - ot po prostu musisz mieć tablicę wektorów i skonfigurowane rozmiary/adresy pamięci i dokładny typ układu. We FreeRTOSie przecież wsparcie dla STM32 czy dla LPC tak samo nie istnieje - tablicę wektorów, skrypt linkera, startup, Makefile (czy konfigurację...
Po przeprowadzonych testach moge stwierdzic, ze blad lezy po stronie hardwre samego modulu. Test wygladal nastepujaco Modul A - dzialajacy modul znajdujacy sie na plytce wemos Modul B - niedzialajacy modul zdjety z plytki wemos Po podlaczeniu modulu B w tryb wykonywania programu, esp nadal nie resetowal sie poprawnie i nie wstawal z deep sleep Zamienilem...
Ewentualnie zmiana poziomu optymalizacji - zależnie od kompilatora pomoże lub nie. Bez volatile kompilator na podstawie samego kodu stwierdza ze "run" nie ma szans zmienić stanu bo niby jak ma wejść do funkcji TIM2_IRQHandler i olewa taki fragment kodu. Kompilator nie uwzględnia czynników sprzętowych (zewnętrznych) oddziałujących na kolejność wykonywania...
Cześć, chciałbym debugować Hard Faulta w STM32 w ten sposób żeby mieć call stack w momencie jego wystąpienia. Czy ktoś robił coś podobnego? Niestety internet nie jest pomocny - skopiowany kod nie działa, tzn. są jakieś adresy z flasha, ale nie te które bym się spodziewał. Czy ma może to związek z tym że w Hard Fault używany jest inny stos niż podczas...
Aplikacja ma być ładowana do pamięci read-only i startowana poprzez resetowanie procesora - więc musi być odpowiednio do tego zbudowana - w szczególności, pod adresem, od którego procesor startuje, musi być instrukcja skoku do części startowej programu. Procesor MicroBlaze - przy domyślnej konfiguracje reset powoduje rozpoczęcie wykonywania kodu od...
Fault input także ma stm32, 3 oddzielne ADC przetworniki także prędkość przetwarzania będzie podobna jak przy 2 oddzielnych próbkujących z 2MSPS w dsPICu. Jeśli chodzi o Pwm no to dsPIC widzę że ma jeszcze zamianę faz, nie ma co ukrywać wyposażenie w dsPICu jest bardziej zaawansowane jeśli chodzi o sterowanie silnikami i energoelektronikę. W każdym...
Jeszcze jedno mam pytanie. Szybciej w STM32 wykona się dodawanie/odejmowanie 32 bitowych zmiennych, czy 8 bit ? A jak w powyższym jest z mnożeniem i dzieleniem ?
Nie powinien być. Kolego (at)rogeros czytaj uważnie warningi zgłaszane przez kompilator albo chociaż zamieszczaj tutaj log kompilacji. Znacznie to ułatwi rozwiązywanie tego typu problemów. Typ drugiego parametru przekazywanego do tej funkcji również generuje ostrzeżenie (ale to już po części wina mistrzowskiego designu API od ST...).
Witam, Nie bardzo wiem co robię źle w związku z czym zwracam się z prośbą o pomoc do szanownych Kolegów. Mianowicie mam taki oto prosty kod: [syntax=c] static int16_t count = 0; float dd = count * 1.0f; ... [/syntax] W chwili rzutowania procesor się zwiesza, tzn. nie przechodzi do wykonywania dalszego kodu. Oczywiście próbowałem również...
To jest parametr konfiguracyjny systemu - chyba wciąż 1 milisekunda Chyba masz na myśli max czas wykonywania tasku. Przy przełączaniu tasku przerwania mogą być blokowane ale nie na ms, raczej to będą ns. Na Arduino nie ma systemu, który by blokował przerwania Ale robią to wszelkiej maści i rodzaju biblioteki jak 1-Wire, WS2812. przerwań są po kilka...
Tak samo jak z timerami w STM32 z UARTami też nie ma problemu - zwykle są dwa jak nie trzy - w tych najmniejszych, bo w tych większych to jest np 5, a w STM32F4 jest 6. Ciężko znaleźć zastosowanie dla tych nadmiarowych, a UART jest na 1wire lepszy niż timery, bo cały bit jest załatwiony sprzętem jednorazowo, a z timerem trzeba to robić na kilka etapów...
Witam, jestem w trakcie wykonywania ćwiczeń z książki Mikrokontrolery STM32 w sieci Ethernet na zestawie uruchomieniowym ZL29ARM, z programatorem j-link edu, w środowisku eclipse (a konkretniej System Workbench for STM32 z pluginem do obsługi j-link). Aktualnie zawiesiłem się dłuższy czas na konfigurowaniu budzików biblioteki lwip (dla posiadających...
Plik map wygląda na sensowny. Podejrzyj w deassemblacji (albo zdebugguj) czy aby na pewno startup czyści sekcje .bss i inicjalizuje .data (podczas wykonywania funkcji Reset_Handler). Jeśli program "nie działa" tylko jeśli poprzednio uruchomiony był malloc(), a jeśli nie był uruchomiony to działa, to wskazywałoby na problem z inicjalizacją tych sekcji....
Witam, pytanie dla ogarniających asm gdzie mogę znajdę takie informacje ile cykli wykonuje się dana instrukcja, piszę w C i na samym asemblerze mało co się znam, lecz patrząc na okno deasemblacji w debuggerze zauważyłem np. taka instrukcja [syntax=c] GPIOF->BSRRL = 0x0040; GPIOF->BSRRH = 0x0040;[/syntax] trwa jakieś 42ns jest to jakieś 6 instrukcji...
Witam, Sytuacja wygląda tak: uC - który zbiera dane jest połączony przez uarta do uC (Stm32). Teraz pytanie jak wydajnie odbierać komendy z uC który zbiera dane. Mam zrealizowane odbieranie danych w przerwaniu ale realizacja zadania w przerwaniu odpada, program się sypie ponieważ obsługa zadania trwa długo w porównaniu do danych przychodzących, danych...
Nie bez powodu wspomniałem o końcowym resecie. To fakt, że specyfikacja 1wire w najmniejszym stopniu nie każe resetować magistrali po transakcji. Wynikło to z moich własnych doświadczeń. Taki DS2450 jeśli pracował z wieloma kolegami na długim kablu, nie zawsze chciał akceptować reset rozpoczynający transakcję. Empirycznie zostały na to znalezione 2...
Witam, chciałbym zastosować STM32F103RCT6 do sterowania przekształtnikiem napięcia zasilającym silnik indukcyjny. Program chcę pisać w C w Keilu. Stąd pewne pytania: Ponieważ będę operował na ułamkach chcę wydzielić np 10 lub więcej bitów na część ułamkową. Nie wiem jak w C załatwić kontrolę nad przepełnieniem czy konieczne są wstawki asm (chciałbym...
Witam, Od paru dni piszę soft dla STM32F415 Bazę projektu generuję w Cube MX. Nie mogę sensownie skonfigurować DMA, jedynie prawidłowo działa tryb CIRCURAL oraz pojedyncze skorzystanie z DMA w trybie NORMAL. Pozosatałe kombinacje DMA działają różnie, czasem dziwnie czasem wogóle. Celem jest aby dwa przetworniki ADC2 i ADC3 zapisywały w przerwaniu (zrezygnowałem...
Witam, Próbuję wykorzystać funkcjonalność DMA burst aby pobierać wartości rejestrów ARR, RCR i CCR1 przy każdym update event timera 1 z tablicy bez zajmowania procesora. Program działa prawidłowo po wystąpieniu pierwszego przerwania UEV od TIM1, lecz kolejny transfer danych wprowadza inne dane do tych rejestrów niż zamierzone (znajdujące się w tablicy)....
http://obrazki.elektroda.pl/6457751400_1... Firma STMicroelectronics idzie w kierunku coraz bardziej skomplikowanych aplikacji, dzięki rekordowo szybkiej serii układów STM32H7. Układy te posiadają dużą ilość pamięci SRAM (1 MB) i Flash (2 MB) oraz szeroką gamę peryferii i wyjść. Ten istotny skok jakościowy ST zawdzięcza opracowaniu...
Odnośnie inicjowania liczników, pole struktury TIM_Period w jakim związku pozostaje z okresem wykonywania przerwania powstającego od kanałów licznika. Zauważyłem że wartośc tego pola nie zawsze ma wpływ na okres wyzwalania przerwań. Chyba że coś pochrzaniłem.
Problem rozwiązany. Okazało się, że kamerka nie może być taktowana 16MHz bez modyfikacji. Teraz kamerkę nadal taktuję nadal 16MHz, ale dokonuje pewnych ustawień w jej rejestrach. Mianowicie dzielę w preskalerze kamerki tę częstotliwość na 4 i mnożę x6. W ten sposób otrzymuję 24MHz i zero przebarwień. Ogólnie kamerka działa poprawnie, lecz problem pojawia...
Witam Na wstępie powiem, że jestem świeżakiem w temacie mikrokontrolerów STM32 ale sporo szukałem (nie tylko na elektrodzie) i nie mogę sobie z tym problemem poradzić. Mam płytkę F103VCT6 + LCD3.2''. W tym LCD jest slot na kartę microSD. Chcę zrobić chyba najprostszą rzecz na świecie czyli stworzyć na karcie plik. I tu pojawia się problem - płytka zawiesza...
witam mam problem z płytką [url=http://propix.com.pl/pl/p/Modul-STM... a mianowice, potrzebuję równolegle wykonywać operację pomiaru temperatury i generowania fali prostokątnej dla wentylatora, wszystko fajnie jak jest osobno bo działa, ale jak chce to połączyć przy pomocy uC-os to nie działa albo chodzi jedno zadanie albo drugie....
Witam mam kilka nurtujących mnie pytań. Czy każdy układ peryferyjny mikrokontrolera działa nie zależnie czyli np. jeśli przetwornik adc wykonuje swoja prace to czy zabiera czas procesorowi czy np. jak dma przesyła dane z adc do pamięci czy może w tym samym czasie przesyłać dane z pamięci do uart i czy w tym czasie procesor może wykonywać inne tez czynności...
Dzień dobry, W projekcie wykorzystuję silnik krokowy z zabudowanym na wale silnika enkoderem inkrementalnym różnicowym o rozdzielczości 16 384 imp/obr. Wykorzystuję płytkę NUCLEO-64, STM32L476RG. Ustawienia Timerów: https://obrazki.elektroda.pl/7295044200_... https://obrazki.elektroda.pl/6348434400_... Do timera3 mam...
Witam wszystkich, Mam projekt na uczelni który wymaga ode mnie pobrania sygnałów z 4 kanałów na linii ADC. Korzystam z CubeMX, FreeRTOS, Atollic TrueSTUDIO i Nucleo 64 STM32F4111RE. Logika działania programu nie jest jakoś bardzo skomplikowana: 1. Za pomocą Timmera wyzwalane jest ADC, które wypełnia tablicę o rozmiarze 32768 elementów 2. Kiedy tablica...
Cześć. Dość dawno się tu nie udzielałem, jakoś mi było nie po drodze. Trochę zmieniłem zainteresowania, trochę było dużo pracy i nieco odszedłem od elektroniki i niskopoziomowego programowania. Czas powoli wracać, ale dziś przychodzę z problemem :) Mam pewne urządzenie, zaprojektowane dobrych kilka lat temu. Urządzenie działa na STM32F407VGT6 , ale...
Embedded flash to pamięć wbudowana w układ służąca albo do wykonywania kodu albo za pomocą specjalnych instrukcji jako pamięć danych, Świat uC to nie tylko AVR, zanim coś napiszesz to upewnij się, że naprawdę posiadasz wiedzę na ten temat. I nie czepiaj się słowa embedded bo to jest mało istotne słowo oznaczające mniej więcej tyle co masłło maślane,...
Witam, Od jakiegoś czasu walczę z odebraniem Touch Report od układu ar1020. Po dłuższych kombinacjach napisałem funkcję, która dała połowiczny sukces: Odbiera dane, ale tylko podczas debugowania, a dane pojawiały się w DR po kliknięciu Step one line. Kombinowałem z odczytem flagi RxNE, opóźnieniami i rezystorami podciągającymi na liniach sda i sck....
Hm w cubie pewnie jest, ale jakoś nie jestem w stanie tego przezwyciężyć. Poziomy abstrakcji są fajne ale zupełnie niepotrzebnie pożerają zasoby uC. Moje urządzenie z kodem keila oczywiście odnajduje USB natomiast ten sam kod "przystosowany" (zmiany polegały głównie na dopasowaniu do standardu gcc) na atollicu ten kod nie działa. Czy oby tylko linker...
Cóż pracuję bardzo dużo na stm32 serii od M0 do F7 i gwarantuje, że on się nie nadaje. Nawet klient u którego wykorzystuje te procki, nie używa ich do sterowania obwodem mocy, tylko do tego celu zaprzęgnięty jest FPGA, a procek tylko monitoruje i zbiera informacje. To co Wy tam, motyla noga, robicie, to znaczy na jakich częstotliwościach ? Mówiąc poważnie,...
Witam problem jest następujący, inicjalizacja SPI przechodzi (wydaje mi się że poprawnie). Niżej podam wartości rejestrów SPI3. Problem polega na tym że nie mogę nic wpisać do DR w interfejsie SPI, nie mam jeszcze nic podpiętego do SPI ale mam zamiar przetestować całość na modułach MMcc1100 i płytce ewaluacyjnej z STM32 na pokładzie (stm32-p107 z OLIMEXu)....
Witam od dwóch dni walczę z bibliotekami Fatfs, i mam niezidentyfikowany błąd, wykończyły mi się pomysły. Sprawa wygląda tak posiłkuje się przykładami z książki STM32 w praktyce Autor: Krzysztof Paprocki. W zasadzie chce skompilować gotowy kod , (przykład R9 sd_fatfs) działam na układzie STM mini http://allegro.pl/zestaw-uruchomieniowy-...
Cze, Od jakiegoś czasu rozwijam swoją konstrukcję sterownika do stacji pogodowej. Projekt robi się coraz większy i większy i w końcu dotarłem do etapu, w ktorym rozważam użycie jakiegoś RTOSa. Mam dużą bibliotekę własnego kodu obejmującą takie rzeczy jak kompleksowa obsługa komunikacji po USART czy I2C, mam pełną obsługę konsoli tekstowej. Do tego używam...
Witam, Jestem w trakcie realizacji projektu, w którym mam konieczność sterowania trzech silników krokowych. W tym celu stworzyłem sterowniki w oparciu o dostępne układy scalone. Prędkość silników jest sterowana za pomocą sygnału prostokątnego. Do sterowania układem wykorzystuję mikrokontroler stm32 w postaci płytki startowej Discovery. Program został...
W efekcie wykonania poniższego kodu oczekiwałem czarnego tła na ekranie wyświetlacz, jednak po uruchomieniu jedyne co otrzymuje to przypadkowe wartości pamięci wyświetlacza (losowe czarno-białe punkty tzw. "szum"). Próbowałem uruchamiać wyświetlacz nie tylko w takiej konfiguracji jak zamieszczona tutaj (w sieci jest całkiem sporo przykładów wykorzystania...
Zagmatwanie i bledne pisanie tez spowalnia... powiedz mi co sie dzieje przy wywolaniu jakiejs funkcji w C i powrocie z niej ? Jak ich da sie sporo co sie dzieje ? Zerknij od strony tego co masz po kompilacji... Czy nie lepiej jak cos przepisujesz czasem w pamieci uzyc np. DMA skoro je masz :) i tym podobne sprawy.... Dlaczego czasami warto dawac w C...
Jest kilka opcji. Pierwsza to MCA20/25 http://avr.auctionant.de/avr-ip-webcam/i... Jest ona na tyle miła, że wysyła obrazy w BMP i jpegu. Znajomemu udało się ostatecznie to odpalić. Druga opcja to kamera z Mariteksu, kosztuje około stówki. I wreszcie trzecia, kamery oparte na OVxxxx np OV7660 (można też wydłubać kamerę z MCA - ja wylutowałem...
mozesz zrobic tak: masz menu -> wybierasz jakas opcje z menu-> w kazdej z opcji wykonujesz zwyklego while(1) z warunkiem po wykonaniu petli na jakas flage, ktora ustawiasz w przerwaniu. Teraz w przerwaniu ustawasz zwykly powrot do menu (czyli w przerwaniu np. od nacisniecia przycisku czy od czegokolwiek co Ci bedzie pasowac ustawiasz tylko jakas flage...
Btw. dlaczego atrybyt "interrupt" jest zbędny i powiększa kod? Dla Cortexów to co robi ten atrybut (zapewnienie wyrównania stosu do 8 bajtów) da się zrobić sprzętowo. W większości Cortexów jest to domyślnie włączone, w przypadku STM32F1 trzeba sobie to akurat włączyć przy użyciu takiej oto linijki "SCB->CCR |= SCB_CCR_STKALIGN_Msk;". Ponieważ atrybut...
[syntax=c]void MIDImessage(byte command, byte data1, byte data2) { uint8_t data[3]; data[0] = command; data[1] = data1; data[2] = data2; HAL_UART_Transmit_IT(&huart2, data, sizeof(data)); }[/syntax] Pamiętaj transmisja jest wykonywana w tle.
Kontroler flasha to nadal tylko peryferial memory-mapped, wiec SFR w ktorym ustawiasz protekcje niczym sie nie rozni od SFRów od np. SPI, i dokladnie tak samo mozna go zapisać przez SWD/JTAG . A to juz wprost odpowiedz na twoje pytanie. SWD/JTAG pozwala na rw dowolnego 32bitowego adresu w losowym momencie, niezaleznie od tego, czy rdzen wykonuje kod,...
Ustawiłeś odpowiednio piny BOOT0 i BOOT1? Po tym: target halted due to breakpoint, current mode: Handler HardFault xPSR: 0x20000003 pc: 0x20000004 msp: 0x20004fe0 wydaje mi się, że Twój układ próbuje wykonywać kod z RAMu. 4\/3!!
Nie chcąc zakładać nowego tematu mam nowe pytania. Czy jest jakaś różnica w prędkości wykonywania kodu gdy mam możliwość uruchomienia uC w trybie Debugra czy nie? Na niektórych maszynach jest np tryb realase oraz debug kompilacja w tym pierwszym powoduje krótszy kod wynikowy (oraz szybsze wykonywanie się kodu?).
W momencie, gdy host wykonuje usb_bulk_read dane muszą już siedzieć w buforze endpointa 3. Inaczej zawsze będziesz miał timeout. Albert
Nie, no niewątpliwie masz rację, że jeśli chodzi o wydajność to szybciej jest bezpośrednio pisać po rejestrach ;) Tyle że tu chodzi zarówno o szybkość pojmowaną jako prędkość wykonywania kodu, jak i o prędkość pisania go - i tak musisz przeczytać manuala, a do tego jeszcze dokumentację biblioteki [; 4\/3!!
Juz to przerabialem.. toolchain jest zainstalowany, program z przykladu juz kompilowalem i ladowalem do uC. Moze w takim razie inaczej sformuluje pytanie.. Dlaczego po wgraniu tego programu do mikrokontrolera sie on nie wykonuje?
Dzień dobry, przychodzę z następującym problemem. Mam podłączony do STM32F407 wyświetlacz o rozdzielczości 320x240 po dwóch liniach SPI. Linia SPI1 odpowiada za wyświetlanie na ekranie grafiki, łączy się ona z kontrolerem ILI9341. Tutaj wszystko działa bardzo dobrze. Natomiast na linii SPI3, która odpowiedzialna jest za komunikację z sterownikiem dotyku...
Reasumując: 1. Włączasz zasilanie = nie działa 2. Wykonujesz reset STM'a = działa ? Mógłbyś jeszcze "main'a" pokazać, albo najlepiej odchudź kod do obsługi tylko SPI i wrzuć cały projekt.
No ale jak skaczesz z przerwania, to cały Twój program wykonuje się jakby "wewnątrz" przerwania... Tak absolutnie nie można robić - musisz skok wykonać z trybu Thread, a nie Handler! 4\/3!!
wykonywania połączeń wykonywania płytek wykonywania remontu
błąd ogrzewania zatkać wtrysk oporność transformator impulsowy
rower stacjonarny gniazdo żarówki
Sterowniki UGREEN 40759 dla Windows 7 - Instalacja MW Power IPC PoE – reset do ustawień fabrycznych, przywracanie hasła, modele KIP, ECO, 2023/24