a spróbuj przy odpiętym debuggerze, chyba że jest odpięty?
Może by tak te impulsy na próbę podać na zwykły licznik/timer i zobaczyc ile zliczy na sek. i czy zlicza stabilnie? Przynajmniej bedzie wiadomo czy to problem bardziej sprzetowy, czy programowy.
No to jest CM3 a nie 0 jak napisał sulfur. Z resztą żeby nie wprowadzać ewentualnych kłótni [url=http://www.st.com/internet/mcu/prod... jest źdódło. Różne częstotliwości na kanałach jednego Timera można uzyskać tylko programowo.
Przejrzyj setkę wątków na forum poświęconych temu, dlaczego do przycisków nie uyżwa się przerwań portów, a potem zrób to w przerwaniu timera, np. tak, jak w tym artykule: http://ep.com.pl/files/10324.pdf Samo programowanie prtzerwania też masz ciut bez sensu - najpierw uruchamiasz przerwanie, potem programujesz linię portu, która ma je zgłaszać. Zanim...
Funkcja NVIC_SystemReset() z CMSIS.
Programem H-JTAG programowałem ten procesor przez LPT [url=http://www.hjtag.com/]http://www.hj... Jeżeli chodzi o programowanie przez USB to ja wykorzystuję programator ZL30PRG [url=http://www.kamami.pl/index.php?ukey... Opis narzędzi do tego programatora znajdziesz...
Dlaczego nie użyjesz sprzętowego SPI ?
Przepraszam (nie znam się), ale czy te płytki nie posiadają bootloadera w sztandarze? Jest jakiś serial bootloader. Ja zrobiłem ładowanie firmware jak plików na pendrive (nie trzeba softu do programowania). A drugie pytanie, czy da się to programować przez arduino IDE? Arduino? Nie znam, nie używam, nie wiem. :) Sorry, nie mogłem się powstrzymać: http://obrazki.elektroda.pl/2059710500_1...
Potrzebujesz, np. ST linka.
Zacznij od określenia protokołu transmisji - w jaki sposób będziesz przesyłał te dane (znakowo/binarnie), jaka jest ich długość, po czym program może je rozpoznać, czy i jak sprawdzać poprawność transmisji. Zastanów się nad strukturą oprogramowania - same przerwania, RTOS, czy (w ostateczności) jakaś pętla zdarzeń? Potem dopiero planuj programową obsługę...
Witaj :) Co do wgrania, jeżeli używasz System Workbench for STM32 to tam trzeba na projekcie w drzewku nacisnąć prawym myszy, wybrać "Debug As" -> "1 Ac6 STM32..." i po odpaleniu wybrać: Debug device: ST-Link-V2 Debug interface: SWD Tutaj masz obrazki: http://forbot.pl/blog/artykuly/programow...
Ja do wora dorzucę jeszcze Nucleo-F103RB. W Kamami za 51 zł. Programowanie w postaci przeciągnij i upuść :). Niestety póki co, openocd nie obsługuje stlinka w wersji v2-1, jednak bez problemu debuguje się z Coocoxa.
Dokumentacja pokazuje trochę inne podłączenia. 1. Nie podłączyłeś VDDA. Ten uC nie ruszy bez zasilania na VDDA. 2. Moim zdaniem możesz wyrzucić ten kondensator z NRST. Jak już będzie zasilanie i POR puści procka, to ten kondensator wprowadzi tak duże opóźnienia w transmisji z ST-LINK, że układ nadal nie będzie się odzywał.
Skoro możesz zastosować dodatkowy układ to może przerzuć zadania związane z generacją na małego PIC. Przykładowo tanie i małe PIC12f1501 mają NCO - dokładnie to czego potrzebujesz. Dodatkowo możesz się przyjrzeć CWG i ewentualnie CLC Jeśli PIC Cię odrzuca, to spróbuj zrealizować to samo programowo w STM. Albert
1. Deinicjalizujesz RCC, PLL i pozostałe zegary 2. Resetujesz i wyłączasz Systick 3. Wyłączasz przerwania wcześniej zerując flagi 4. Ustawiasz wskaźnik stosu na początek pamięci bootloadera 4. Skaczesz do adresu pamięci bootloadera +4 Wszystko jest analogiczne do poniższego przykładu dla F4: https://stm32f4-discovery.net/2017/04/tu...
Nic więcej nie trzeba, tylko w środowisku wybierz właściwy układ z właściwym rozmiarem pamięci Fłash i RAM. Oczywiście układ trzeba też zasilić.
Dopóki nie dowiesz się, co to OD, nie zrozumiesz, gdzie masz dwa błędy - sprzętowy i programowy.
Źle rozumiesz prace tego pinu! Nie ma takiego SPI gdzie CSy będą same chodzić w górę i w dół w zależności od tego czy nadajesz czy nie... CSem musisz machać sam!! . Przeciez piszac kod dokladnie wiesz, kiedy rozpoczynasz transakcje po SPI, więc cięzko tam jedna linijka kodu tego CSa ręcznie ustawić do masy?... Ustaw ten pin jako standardowe wyjscie...
a tu na ostro dyskusja o wyższości ARM, XMega, czy też Attiny, a może PIC, a może STM32. Jeśli nie korzysta sie intensywnie z peryferii jak np I2C, SPI, itp, tylko przeważnie "kugluje" sie GPIO to co różnica jaki to procek? 32-bit przeważnie są tańsze niz 8-bit. Widziałem rozwiązania programowe I2C, bo ktoś nie potrafił obsłużyć sprzętowego I2C w STM32,...
Podajesz jakieś dziwne nazwy, zamiast posługiwać faktycznymi nazwami. Nie da się nawet znaleźć tych dokumentów. W Twoim uC BOOT1 jest option bitem i jest ustawiany programowo. http://www.st.com/web/en/resource/techni... jest o tym wzmianka tutaj na stronie 12. At startup, the boot pin and boot selector option bit are...
Możesz spróbować skonwertować do J-Link'a Fajnie działa. Potwierdzam.
Przeglądając źródła, które Pan podesłał spodobał mi się sposób programowania wykorzystujący mbed.h . Czy zna Pan jakieś paradniki/źródła opisujące jak przygotować środowisko (w moim przypadku Atollic) by tak programować. Sądząc po pytaniu, odnoszę wrażenie że jakby nie za bardzo chyba czujesz czym właściwie jest mbed. Tak że jeśli mógłbym coś zasugerować,...
Jeśli ten STM32 nie będzei miał prawie nic innego do roboty, to i programowo mógłby to dekodować. Sensowniej jednak byłoby zaprząc do tego timer w trybie pomiaru okresu i szerokości PWM. Uda się i jedno i drugie, o ile nie będziesz korzystał z SPL.
Jeżeli zadajesz pytanie, to zamykanie tematu uniemożliwia uzyskanie odpowiedzi. Odblokowałem. Źródło taktowania po zwolnieniu sygnału reset jest określone sprzętowo. W przypadku STM32F302 jest to opisane w sekcji 9.2.6 w [url=https://www.st.com/content/st_com/e...
Opis jest nieprawidłowy. Ten moduł nie wystawia stanu przycisków na wyjściu. Na wyjściu będziesz miał surowe dane plus szum który będziesz musiał sam programowo obrobić. Najbliższa temu o czym piszesz jest propozycja (at)rb401
Tam jest jeszcze minus taki, ze wjescie do bootloadera wymaga przelaczenia stanu pinow od bootowania wiec troche to komplikuje sprawe. Można tez odpalić go programowo.
Flagi zeruj bezpośrednio po sprintf - wtedy dane w zmiennych nie są już potrzebne i można je zmienić. Dłuższe czekanie może powodować, że w momencie przyjścia przerwania flagi są ciągle ustawione - i gubisz dane. Dość łatwo to wykryć programowo, więc możesz sprawdzić czy taka sytuacja ma miejsce.
Zaproponowałeś rozwiązanie sprzętowe. A mnie interesuje rozwiązanie programowe. Tak mam gotowe płytki i spora pamięć i włożone pieniądze. Posiedzę chwilę i będę miał rozwiązanie programowe kompatybilne wstecz. Jak będę potrzebował większej pamięci to zmienię tylko pamięć kostkę 8pin. Interesuje mnie tylko rozwiązania programowe.
Sprawdź działanie na mojej funkcji programowej w C. Tym sposobem wyeliminujesz ewentualne inne błędy gdzieś po drodze pomiędzy STMem a programem w Delphi.
Do wyprowadzeń CAN L i CAN H nie można podłączać nic oprócz rezystorów terminujących, sygnalizację za pomocą diod LED można zrobić odczytując programowo znaczniki odebrania ramki CAN, każda transmisja na magistrali CAN uruchamia flagi w rejestrach procesora. Programowo można uruchamiać przez port procesora diody Led w zależności o odebranych danych,
Definiowanie własnych operatorów jak i wiele innych rzeczy nie związanych z obiektowym programowaniem też jest bardzo pożyteczne w C++.
W takim momencie człowiek poznaje jak bogate ma słownictwo (te, które nie nadaje się do "towarzystwa")... Tyle czasu stracić z powodu takiego błędu... To chyba standard w programowaniu :( Teraz chodzi, nie do końca tak jak bym chciał ale działa już coś. To co odsyła slave jest jak gdyby opóźnione i mam dwa rodzaje ramek jakie otrzymuje: - jedno gdzie...
Dodajmy, że jak już ktoś musi zmieniać stan portu programowo, to w STM32 służą do tego raczej rejestry BSRR i BRR, a w innych uC albo analogiczne rejestry pod innymi nazwami (np. FIOSET, FIOCLR w LPC17xx) albo zapisu maskowany (np. w LPC11xx). W każdym razie nie robi się tego przez programowe operacje logiczne na portach.
Dwukrotne przeinatalowanie programu rozwiązało problem.
Funkcja SystemInit zawiera ustawienia, które powinny być wykonane przed zainicjowaniem (często czasochłonnym) środowiska dla programu. Zwykle umieszcza się w niej programowanie źródła zegara, parametrów pamięci i watchdoga. Wzorcową funkcję SystemInit znajdziesz np. w CMSIS core dla Twojego mikrokontrolera. W środowisku Keil istnieje sprytny mechanizm...
Sprawdź jaką charakterystykę fazową ma ten wzmacniacz, żebyś miał punkt odniesienia. Nie znalazłem w DS informacji o charakterystyce fazowej tego wzmacniacza. Czy ns procesorach STM32 można zrobić kilka filtrów programowych? Gdzie można znaleźć dokładniejsze informacje o technologii zastosowanej w słuchawkach z tłumieniem hałasu?
Witam. W niedawnym konkursie wygrałem zestaw STM32F0Discovery w którym zintegrowano programator ST-Link (obsługuje JTAG oraz SWD). Wiele osób radziło mi, abym programowanie µC zaczął od czegoś prostszego i lepiej opisanego, czyli AVRów. Jako że szkoda mi pieniędzy na USBasp, a złącza LPT w komputerze nie posiadam, zastanawiam się czy może jest...
Witam, programowałem sobie na spokojnie (próbuję nauczyć się odpalać timery od zewnętrznych sygnałów zegarowych wchodzących na dany pin). W pewnym momencie chciałem wgrać program i otrzymałem taki komunikat: Open On-Chip Debugger 0.9.0-dev-00415-g2d4ae3f-dirty (2015-06-12-17:54) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html...
Rozwiązanie najprostsze: nie włączać watchdoga przez bajt konfiguracji w pamięci Flash - włączyć go programowo.
No a zdradź mi tajemnice dlaczego to mają być przerwania a nie callback-i. Jeżeli chcesz funkcje A wolac co każde przerwanie a B co 20 na przykład to zrób sobie licznik. Sprzętowo to tak jak MS napisał nie da się. Jak potrzebujesz licznik w liczniku to albo kaskadujesz timery albo robisz to programowo.
Rozumiem, po prostu czytałem manuala i tam wypisywali o konkretnym bicie, myślałem że RSTCAL to właśnie ten konkretny bit i nie mogłem znaleźć nic o masce o której wypisywaliście więc nie miałem się do tego jak odnieść, aż w końcu dotarłem do tego: Bez obrazy, ale to są podstawy programowania w C na mikrokontroler. Żadnej obrazy, ja to wiem, bo zaczynam...
Szanowni Forumowicze, Nabyłem ostatnio moduł Waveshare z uc STM32F107VCT6 o nazwie Core107V. Mam problem z dostaniem się do niego za pomocą USART1. Podłączam się przez przejściówkę na układzie PL2303 (próbowałem tez z FTDI) zgodnie z tym co podaje datasheet. Czyli: Przejsciowka | Mikrokontroller 3.3V => 3.3V na procku GND => GND na procku RX => PA9...
Niestety mimo usilnych działań i różnych sztuczek nie udaje się aby odczyty/zapisy były pewne. Zdarzają się błędy, rzadko ale się zdarzają. Rozwiązaniem jest programowa obsługa i2c.
Transmisje SPI sprawdzałem bit po bicie przy pomocy diodek LED. Zarówno przy wysyłaniu komend jak i danych transmisja była prawidłowa dlatego tym bardziej jestem zdziwiony. Co prawda trudno jest zweryfikować poprawność w działaniu zegara jednak sama ramka zgadzała się do wartości poszczególnych bitów . Spróbuję użyć SPI2 lub SPI3 jeśli to nie pomoże...
Witam, z czego kolega wnosi ze "druga" opcja jest pewniejsza ? Akurat w tym układzie to nie ma znaczenia, ale na przykład w STM32 jeśli podepniesz reset pod VCC, to nie będziesz w stanie zresetować układu, nawet programowo. Reset tam jest wejściem i wyjściem. Ergo, jeśli zawsze podpinasz reset przez rezystor to zawsze będzie działać, a jak bezpośrednio...
1. Ja się uczyłem z tej książki: https://helion.pl/ksiazki/jezyk-c-szkola... Dobrze opisane podstawy języka. 2 i 3. Cóż chyba najlepiej zacząć od podstaw, które arduino bezczelnie omija. Musisz zapoznać się z wszystkim co było "pod spodem" funkcji na arduino. Czyli co to są rejestry, jak je obsługiwać...
Damian7546 - na prawdę 'walczysz' z tym już od 19 listopada? Co przez ten czas próbowałeś, jeżeli w ogóle coś próbowałeś? Przecież takie rzeczy załatwia się w kilkadziesiąt minut. Dodano po 1 Zainstaluj wersję wcześniejszą, np. 1.5.1, którą ja używam pod win8. Jeżeli nie będziesz mógł znaleźć, to mogę ci wysłać.
Połączenie standardowe SWDIO <-> SWDIO SWCLK <-> SWCLK GND<-> GND W [url=http://www.elektroda.pl/rtvforum/to... wątku opisuję moje problemy - połączenie się udało, gdy podłączyłem też Vcc programowanego procesora z Vcc złącza SWD (które niby do niczego nie jest podłączone); innym sposobem na udaną komunikację bez Vcc...
Witam Nie potrafię tego procka zaprogramować. Miałem go na układzie z wyprowadzeniami UART1 + BOOT1 i 0 Próbowałem programować lock pickiem od freddiego (wyjście UART, bootloader) ale nic z tego (a wcześniej programowałem bliźniaczy układ STM32F103R4T6A taką samą metodą i poszło bezproblemowo). Następnie wyprowadziłem pełnego JTAGA z pinów procesora,...
Autor omawia tam przykłady które wykonał dla płytki ewaluacyjnej: ZL29ARM + ZL3ETH (płytki z tej samej serii co Butterfly) niestety nigdzie takich płytek nie mogę znaleźć do kupienia, jak to możliwe? To bardzo typowe dla tej firmy - zestawów do ksiązki o programowaniu CPLD do tej pory nie ma, a miał być w lutym tego roku. Nacięli Cię na nieprzydatną...
Witam! Chciałbym się upewnić, że wykonując połączenia wg schematu jaki stworzyłem, będę mógł wprowadzić procesor w tryb programowania i wykorzystać interfejs RS232, USB lub JTAG. Interesuje mnie w zasadzie tylko wprowadzenie procesora w tryb programowania. BOOT1 na schemacie jest na stałe podłączone do GND przez rezystor 10k. TDO do PB3. Pytam się ponieważ,...
Płytka STM32F0DISCOVERY ;)
Nic nie blokuje, ten sam oprogram wgrywam na inną płytkę (PCB to samo, z.tego samego zamówienia, tylko uc z innego zamówienia) i wszystko jest w porządku.
Witam Mam problem z zaprogramowaniem uC STM32F103RBT6. Układ wcześniej bez problemu chodził i się programował. Problem pojawił się gdy zmieniłem wartość rejestru FLASH->ACR z 2 na 0. Od tej pory H-JTAG widzi procka ale nie mogę wgrać flasha :( Otrzymuje taki komunikat: http://obrazki.elektroda.net/81_12461006... Czy można coś z tym zrobić ?
Załatwiłem już 3 takie procki. Moze macie jakiś pomysł co jest nie tak i jak ożywić tamte procki ? Sprawdzałem na dwóch chinskich programatorach i one uwalają komunikacje z prockiem. Zgóry dziękuje za odpowiedź Ustaw w sofcie programatora opcje "connect under reset", podłącz pin reset do programatora, ale tego z nucleo, bo chińskie nie mają go wyprowadzonego...
Witam, a więc działam sobie na płytce ZL31 z kamami, w wersji z odłączonym st-linkiem, za programator i debugger służy mi jtag-arm z andtechu, jest to urządzenie na bazie ft2232. Soft to toolchain skonfigurowany podług tutka freddiego chopina. Wszystko ładnie działało jak trzeba do dzisiaj, gdy w którymś momencie zauważyłem, że skompilowany program...
Kupiłem ten model: (ciach... link alle...) dokładnie od tego samego sprzedającego. ST-LINK STLINK V2 STM32 STM8 ARM Cortex http://obrazki.elektroda.pl/1118717700_1... Mam ten sam ST-Link, ale mój problem polega na tym, że jeśli uruchomię debugowanie to wszystko działa, ale jak robię potem set mem inaccessible-by-default off Uruchamiam...
Tylko nie wiem czy ma sens używać przetworników A/C z STM czy jakieś dodatkowe peryferie. Co wy o tym myślicie ? Jak by nie było sensu używania A/C wbudowanych w MCU - to by ich nie wbudowywano. :) Jeżeli nie wymagasz bardzo dużej dokładności pomiarów, to myślę, że nie ma sensu pakować się w koszty kupując zewnętrzny ADC i robić sobie kłopot z dodatkowym...
Nie znaczy to, że Microchip nie ma swoich problemów - ma i to niektóre bardzo poważne (stosując te procesory należy koniecznie czytać erratę), ale przynajmniej PWM wygląda na działający poprawnie. ZNam ten ból. :) Możesz w takim razie zobaczyć czy High Resolution Timer w STM32F334xx, STM32G474xx lub STM32H7xxxx spełni Twoje wymagania (rozdzielczość...
I podpada pod łamanie zabezpieczeń...
Witam! Widziałem pełno materiałów gdzie można wyczytać że czas reakcji na przerwanie w Cortexach jest łatwo przewidywalny. Aczkolwiek nie dotarłem do źrodeł wyczerpującej wiedzy. Chciałbym się dowiedzieć jak obliczyć czas po jakim zostanie wykonany podprogram w uP po przerwaniu z zewnątrz oraz jak policzyc czas uruchomienia podprogramu po programowym...
Jak mogę podłączyć pamięć SRAM lub SDRAM (bardziej SDRAM bo większa pojemność) do mikrokontrolera STM32 lub jakiegoś AVR-a? Chodzi mi o zwykły zapis i odczyt danych z takiej pamięci. Jak to wygląda sprzętowo i programowo?
konstrukcja na pojedynczych licznikach TTL + bramkowanie z GPS. Całość odczytywana i obrabiana przez procesor. Bez sensu. Liczniki sa w mikrokontrolerze, jak licznik jest za krótki, to albo przerwanie od przepełnienia i część licznika programowa, albo lepiej kaskadowe połączenie liczników. W STM32 kaskadowo można łączyc liczniki programowo, w AVR sprzętowo....
A co z tymi makrami typu CR_PER_Set i podobnymi? Mój kod programowania la STM32F1 jest bardzo podobny, tylko bez tych wszystkich udziwnień i działa niezawodnie przy każdym poziomie optymalizacji, niezbyt wiem co tutaj może być nie tak... Może dodaj "volatile" przy argumencie funkcji FLASH_WaitForLastOperation()? Pewnie nic to nie da, ale... Spróbowałbym...
SystemInit jest w dołączonym do projektu pliku ...system...c, a to, co w niej jest, zależy od tego, ile miesięcy temu wyszedł pakiet do danej serii. Nowsze wersje SystemInit nie robią prawie nic, starsze dość sporo. Zawsze możesz zmienić nazwę oryginalnej prcedur i napisać własną SystemInit(); Obsługa LCD w przerwaniu timera ma m.in. tę zaletę, że jest...
Niektóre narzędzia pozostawiają wiele do życzenia. Można mieć setki opcji, ale jeśli te opcje nie są opisane, albo opisane lakonicznie, bo narzędzie nie pozwala na obszerny komentarz, to tak naprawdę niczego to nie ułatwia. Trzeba się domyślać co autor miał na myśli, albo szukać gdzieś w zewnętrznej dokumentacji, jeśli w ogóle ona istnieje. Jeszcze...
Powinno to wystarczyć. jednak co do konfiguracji CubeMX nie podpowiem, w gruncie rzeczy obsługę Modbusa i tak można zrobić programowo, nawet jest do tego biblioteka w necie.
Witam. Ja bym zaczął od poszukania dokładnego opisu oznaczeń poszczególnych pinów na tej płytce. https://obrazki.elektroda.pl/3815118900_... Następnie zapoznał sie z kursem Arduino na stronie https://forbot.pl i zaczął pisać proste kody np. zapalania diody LED oraz wykorzystania przełącznika "switch". Kod przyciku i diody opisany jest...
Po co robić programowe I2C w takim mikrokontrolerze? 4\/3!!
Witam, czy aby wykorzystać projekt Freddiego stm32f4_blink_led dla procesora STM32F429IIT6 wystarczy przerobić plik STM32F4xxxG_rom.ld? A może ktoś posiada już ten projekt przerobiony i mógłby udostępnić? Byłbym bardzo wdzięczny. Oraz czy po podłączeniu z płytki F4 Discovery sygnałów T_JTCK, T_JTMS, T_NRST, T_SWO i GND oraz rozłączeniu na niej dwóch...
CS32F103 jest praktycznie analogiem STM, ale ma inny identyfikator, przez co niektóre programy odmawiają programowania lub przynajmniej wyświetlają ostrzeżenia Flasher nie działa z CS32F103 (serial flash demo). Żaden baudrate. Na STM32F103 śmiga od strzału. Natomiast przez stm32 st-link utility programuje ok choć identyfikator jest inny (gdzieś czytałem...
Po 5 latach chyba kolega sobie poradził:) Temat do zamknięcia. PS.Do sterowania nadajnikiem MAX3485 w STM32 kluczem jest poszukanie w RMie informacji o fladze TC a następnie programowe sterowanie odpowiedniego GPIO w przerwaniu od UARTu.
A co robi w kodzie takie coś? Nawet masz komentarz napisany. [syntax=c]/* Wygenerowanie przerwania EXTI_Line9 programowo */ EXTI_GenerateSWInterrupt(EXTI_Line9);[/s...
Co właściwie oblicza wbudowany w STM32 układ do CRC? Czy to jest to, co się zwykło określać mianem sumy CRC32? Widzę, że coś mi liczy, ale nie dostaję takiego wyniku, jaki bym się spodziewał. Może słabo googlałem, ale nie znalazłem odpowiedzi. Robię tak: grzegorz(at)duch:~$ cat crc abcdgrzegorz(at)duch:~$ crc32 crc ed82cd11 grzegorz(at)duch:~...
Czyli program startuje w RAM a nie Flash. To chyba się gdzieś ustawia czy ma startować z Flash czy RAM. Nigdy nie rozgryzłem - w jaki sposób ULINK2 korzysta z RAM podczas programowania, ale z tego http://www.keil.com/support/man/docs/uli... wynika, że procedura flashująca jest ładowana do RAM i w ten sposób odbywa się...
Ja z kolei z przejściówkami firmy Profillic (PLxxxx) mam niezbyt miłe doświadczenia. Może są i tańsze od FTDI, ale działają czasami jak chcą, a raczej jak nie chcą to nie działają za dobrze (zawiasy itp.). Ja osobiście mam przejściówkę FT232RL z wszystkimi wyprowadzeniami na DIP i jak chcę to przełączam sobie zworką między 3,3V, 5V lub napięciem podanym...
Ja korzystałem z tego bootloadera: http://www.versaloon.com/bbs/download/fi... Rozumujesz poprawnie ;) Z tym że tak jak pisałem wcześniej masz 2 opcje - albo sprzętowy programator i SWD lub zwykły konwerter USB -> UART i używasz sprzętowego bootloadera znajdującego się w stm32 aby wgrać programowy bootloader, za pomocą którego wgrasz docelowy...
W rzeczywistości nie jest możliwe osiągnięcie takiej częstotliwości programowo. Zastanów się nad tym - nawet jeśli operacje które pokazałeś zajmowałyby 1 cykl (a nie zajmują!) to przy zegarze 72MHz (max dla typowych STM32) masz niby 2 cykle na zmianę, a więc 72MHz/2. 50MHz można wyciągnąć tylko za pomocą układów peryferyjnych typu timer, SPI, FSMC itd....
Widzę 2 opcje: 1. Podłącz reset do programatora, to nie będziesz potrzebował uruchamiać bootloadera. 2. Przestawiasz coś w konfiguracji portu A i przez to tracisz łączność. Napisz dobrze program, to nie będzie trzeba uruchamiać bootloadera.
chciałbym przypomnieć, że Arduino to nie jest platforma sprzętowa Ciekawe, bo opis ze strony głównej: Arduino is an open-source electronics platform based on easy-to-use hardware and software. Czyli jest to platforma zarówno programowa jak i sprzętowa. STM32 nie jest platformą, bo jest to goły mikrokontroler, tak jak Atmega - ale Arduino w różnych...
W modelu zdarzeniowym nie ma przełączania zadań, bo program nie "zatrzymuje się w oczekiwaniu" - obsługa zdarzenia kończy się i już. Tyle, że zadanie może wykonywać się długo, np zapis dużego pliku, programowe dekodowanie JPG. Wtedy trzeba rozbić na mniejsze fragmenty co bywa upierdliwe.
Hmm, nawet bez chip erease działa. Na fabrycznym STM32F103VCT6 podpinam do STM32F4DISCOVERY linie VTG, GND, nRST, SWCLK, SWDIO, zworki ST-LINK zdjęte i działa bez problemu. --- Już dokładnie zidentyfikowałem problem, połączenia mam takie: DISCOVERY <> płytka z STM-em 1. GND (z listwy procesora) <> GND 2. 5V <> 5V (i potem stabilizator...
Kamami robi tanie zestawy w porównaniu do "firmowych" np. Keil'a, ale niekiedy można kupić coś taniej i z dużo lepszym wyposażeniem. Zestaw na którym protestujesz wszystkie interfejsy komunikacyjne, a który nie oferuje nic ponad to szybko wyląduje w szufladzie. Rzuć okiem na [url=http://projectproto.blogspot.com/se...
To napisz może jak ustawiasz Option Bytes. Istnieje tutaj widoczna zależność - utrata komunikacji następuje chwilę po zaprogramowanie Option Bytes. Wartości z tych rejestrów ładowane są przy okazji resetu. Nie włączyłeś przypadkiem RDP?
Witam. Mam pytanie teoretyczne otóż napisałem obsługę sim900 i teraz chcę napisać dodawanie kontaktów telefonicznych. Zastanawiam się co wybrać, zewnętrzny eeprom, emulowany eeprom lub jeszcze inaczej? Proszę kolegów o sugestie jaki sposób będzie najlepszy , nie przychodzi mi pomysł jak programowo to rozwiązać. Pozdrawiam.
Może inaczej. Czy ktoś obczaił programowy stos IRDA?
Zawsze możesz spróbować połączyć się z bootloaderem na UART i przy jego pomocy skasować pamięć i usunąć ewentualne zabezpieczenia... Przejrzyj manual OpenOCD pod kątem dziwnych komend dostępnych dla tego typu układu, może to coś z option bytes? 4\/3!!
Miałem dokładnie taki sam problem -> odmontowanie wszystkich napędów wirtualnych ( u mnie Deamon Tools ) pomogło.
możecie mi podpowiedzieć jaki jest polecany prosty w obsłudze IDE do STM32? JHestem przyzwyczajony do KEILa ale on ma ograniczenie do 32k Szukam coś podobnego, bo Keil ma dość fajna możliwość symulacji programowej, z podglądem jak wygląda kod w ASM. Znacie coś?
STM32 ST-LINK_CLI bo pewnie masz discovery, i każdy inny program konsolowy dedykowany do odpowiedniego programatora szybko i bezboleśnie do tego można jakiś skrycik napisać. Dodano po 4 ale tak jak koledzy piszą lepiej po id procesora, bardziej bezpieczne.
zmienna=0 -> zmienna==0? edit przez ten zapis nawet jeden bit kodu związanego z ifem i tego co jest po nim ({} lub linia po) nie jest obecny w kodzie maszynowym
Na mojej stronce jest też przykładowy projekt-szablon, właśnie dla STM32F4 (dla płytki discovery - tej pierwszej). Zawsze to jakiś punkt odniesienia. 4\/3!!
A jeśli chciałbym mój program wgrać do RAM to musiałbym w tym Twoim skrypcie linkera dla sekcji np .text zamiast > rom AT > rom wpisać > ram AT > ram czy wewnątrz {} tez trzeba coś zmieniać? Jeśli wystarczy Ci, że program będzie działał jedynie przez debugger, to wystarczy ta pierwsza opcja. Jeśli byś chciał, żeby program normalnie działał z RAM, to...
Czy wystarczy jeśli zaprogramuję ten procek uruchamiając np Debug w Cube IDE? W sensie, widzę, że procesor działa nawet bez programatora, ale chcę mieć pewność czy w przyszłości coś się z tym nie stanie. Nic się nie stanie. Druga kwestia; czy tak wgrany program do pamięci uC jest bezpieczny? Tzn, da się go jakoś "wyciągnąć" z procesora? Tak, można...
W opcjach projektu (zaznacz w oknie z drzewem pliku projektów głowny plik projektu ) a następnie w oknie pod spodem z opcjami w częsci Debug environment -> Debug tool zmieniasz z R-link na Simulator SIM-ARM i to wszystko :) Dla ułatwienia: http://obrazki.elektroda.net/87_12351556... Pozdrawiam Adam
No litości, od 3 lat steruję WS2812 z STM32 na dwa sposoby bez żadnych bramek i w dodatku przez DMA, czyli bez narzutu programowego w czasie rzeczywistym, a rozwiązanie z SPI dawno opublikowałem.
W [url=http://www.st.com/internet/evalboar... jak ściągniesz i zainstalujesz masz ST Visual Programmer - obsługuje też STM32.
Czy włączyłeś opcję łączenia ze sprzętowym resetem? Gdzie, jak, nie wiem o co chodzi. wcześniej działało bez takich kombinacji. Czy Twój program zmienia ustawienia portu A, ew. konfigurację JTAG? Zmienia ustawienia portu A, ale JTAG ten mikrokontroler nie ma. Programuję pinami SWDIO i SWCLK, one są prawidłowo ustawione, zresztą aktualnie nie mogę nawet...
Jeśli zaczynasz zabawę - zacznij od Keila - nie będziesz miał problemów z konfiguracją. Potem możesz przesiąść na jakieś środowisko z Eclips - np. Atollin lub STM32open (AC6).
flash write_image erase c:\lab1.hex 0x08000000 bin 1. Programujesz plik hex, a OpenOCD zmuszasz do traktowania tego jako bin... od razu porażka 2. W ogólnym przypadku plików NIE WOLNO przesuwać o offset. flash write_image erase c:\lab1.hex - TYLKO Pozatym prędkość 5kHz? Bez przesady - daj 1000kHz (1MHz). 4\/3!!
programowa stm32 programowa stm32 rejestr stm32 arduino programowa
ekspres philips minuto peugeot partner wentylator chłodnica kyocera drukuje błędy
kosiarka elektryczna hoverboard żyroskop
Fiat Ulysse 2003 benzyna - dłuższe kręcenie rozrusznikiem na zimnym silniku Które pralki Electrolux mają wymienne łożyska?