Aktualizacja z września 2025: zobacz tutaj, aby uzyskać szczegółowe informacje na temat konwersji STM32 przez UART zamiast J-Link (tj. J-Link nie jest wymagany) https://www.elektroda.com/rtvforum/viewt... (dzięki (at)max4elektroda!) zobacz tutaj, aby uzyskać wyższą wersję przekonwertowanego oprogramowania CK-Link Lite dla STM32...
Nie mam zbyt wiele do zgłoszenia, ale jest tak, że P21 musi być podciągnięty wysoko, aby dziennik debugowania mógł wyjść HLK-M50 dostarczony firmware, P21 wysoki, 921600 TX0/IO27 https://obrazki.elektroda.pl/5484529300_... Sflashowałem uarthut_V9_20231014_debugUart1.bin z ftp Hi-Flying HF-LPX30_Compile\tools na 18001000 https://obrazki.elektroda.pl/6317433400_...
Skąd wziąłeś pomysł na wstawki z FLASH->ACR? Czytam RM0401 Jest dedykowany do tego rozdział: 3.4.1 Relation between CPU clock frequency and Flash memory read time Latency zależy od częstotliwości taktowania oraz napięcia zasilania, tak w skrócie. Co do ustawień zegara dla STM32 to warto zapamiętać sobie schemat działania, który wynika bezpośrednio...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
Ciągle walczę i właśnie pobrałem sobie CubeIDE i teraz ta: 1. stworzyłem nowy projekt bez bibliotek zaznaczając m.in. Target projekt type na empty: https://obrazki.elektroda.pl/9699499800_... 2. w projekcie zobaczyłem pliki: - main.c - syscalls.c - sysmem.c 3. wrzuciłem sobie do projektu kolejne pliki: - stm32f103xb.h - core_cm3.h -...
i tam napisane jest iż MLA trwa dwa cykle a np ADD, MUL jeden czyli ja zysku nie widzę przy wykorzystaniu tego rozkazu Moja odpowiedz mogła być trochę źle zrozumiana ale MLA trwa tyle samo (2 cykle) co (ADD 1cykl + MUL 1 cykl) no i tak jest, jednak czytałem że zaleca się używanie MLA. Następnie drodzy forumowicze co tak naprawdę oznacza wait state...
Witam Robię prototyp płytki pod STM32L151 i zatrzymalem się przy zewnetrznym kwarcu. Nie mialem go zamiaru użyć, ale jak wyczytałem w "STM32™ microcontroller system memory boot mode" AN2606 str 39 "The external clock is mandatory only for the DFU bootloader and must be in the following range..." , wynika że jak chcę użyć DFU bootloader to muszę...
Nie jestem gotowy na taką niestabilność i zużycie RAM. PulseView to rozwiązanie doraźne a nie rozsądne. Gdyby to działało dobrze to chińskie portale handlowe byłyby zarzucone analizatorami na BluePill. Tymczasem są zawalone klonami zgodnymi z SALEAE LOGIC. Unfortunately, pulseview has one well-known, almost fatal flaw (along with several minor ones,...
**** Build of configuration Default for project stm32_blink_led-1.2.1-120107 **** cs-make all 'Compiling file: main.c' arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/main.lst -DSTM32F10X_MD -MD -MP -MF out/main.d -I. main.c -o out/main.o...
Opcja -S, o której pisałem to opcja kompilatora, do użycia w komendzie ...-gcc ..., Z tym, że tak wprost się tego raczej nie da dodać. Niestety, CubeIDE nie znam, więc od ręki nie odpowiem, jak tej opcji użyć. Dobra to po kolei :) To już znam odpowiedz na to co mnie interesowało( czyli że to jest po prostu jakiś śmieciowy rozkaz, którego procek nie...
No właśnie nie ma żadnej pewności w tym temacie. Dlatego pytałem, czy może ktoś fizyczną sztukę z serii F-2 programował przez wbudowany bootloader (chodzi mi przede wszystkim o USART). #edit: wygrzebane z dokumentacji (AN2606): The bootloader protocol’s command set and sequences for each serial peripheral (USART,CAN and USB) are the same for all...
Tylko że w F1 zabezpieczenie występuje zawsze, gdy wykonasz OB erase... Czyli nie da się zmienić (ponownie zaprogramować inną warość) WRP i Data0/1 bez przymusowego RDP1 :-/ Z ciekawości poszukam jak to jest opisane dla F3... Dodano po 11 Hmm.. tak to wygląda: https://www.st.com/content/ccc/resource/...
Dokumentacja firmy ARM wie wszystko BusFault The BusFault fault handles memory related faults other than those handled by the MemManage fault for both instruction and data generated memory transactions. Typically these faults will arise from errors detected on the system buses. Implementations are permitted to report synchronous or asynchronous BusFaults...
GPIOA->BSRR |= GPIO_BSRR_BS5; To nie źródło problemu ale tak się tego rejestru nie używa. To jest write only rejestr czyli tylko samo przypisanie Zgadza się, dzięki :) Co do głównego problemu, punkt 1. Użyj debugera okazał się bardzo pomocny :) Założyłem, że skopałem coś w Makefile (np. brakuje jakiejś flagi) i podczas debugowania nic ciekawego...
Wyprostujcie mnie jeśli możecie. Wewnętrzne napięcie referencyjne Vrefint to nie jest tego samego typu napięcie referencyjne co w Atmegach, gdzie użytkownik mógł sobie wybrać pomiędzy nim, a np napięciem zasilania? Jest to bardziej napięcie kalibracyjne, które przydatne będzie m.in w procedurze wewnętrznej kalibracji? Tej tezie nieco zaprzecza zdanie...
uporządkowałem te dwa includy ".c" ale dalej nic z tego, taki błąd: [cc] ^ [cc] C:\Users\Admin\Desktop\STM32F4DISCOVERY_... warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'u32_t' [-Wformat=] [cc] C:\Users\Admin\Desktop\STM32F4DISCOVERY_...
witam, gdy próbuje programowac za pomocą openocd wyskakuje mi taki komunikat: C:\>openocd -f interface/jtagkey.cfg -f target/at91sam7sx.cfg -c "jtag_khz 1000" -c "init" -c "reset" -c "halt" -c ""flash write_image erase C:\AT91SAM7S256_inc .hex" -c "reset run" -c "shutdown"...
Witam temat podobny do http://www.elektroda.pl/rtvforum/topic23... Lecz sprawa wygląda troszkę inaczej. Z racji tego, że atollic udostępnił wersję litte postanowiłem przesiąść się z keila. Dotychczas korzystałem z example usb hid na keila. W Atollicu skonfigurowałem sobie nowy procesor, wrzuciłem kod z uvision i po małych przeróbkach (dostosowanie...
A czy uważasz że wszystko jest linkowane? Twoje pytanie sporo sugeruje. Jakoś bylem zafiksowany na to, że w ten sposób dołączany kod musi być "wrzucony" w całości, ale cóż błądzenie to rzecz ludzka, sporo wody jeszcze upłynie zanim takie mechanizmy będą dla mnie zrozumiałe :) Cały czas mam przed oczami ten goły kod, który do STM32F103VCTx się nie mieścił,...
Witam. Zamierzam nauczyć się programowania mikrokontrolerów ARM - z rdzeniem ARM Cortex - M3 w języku wysokiego poziomu C. Nie ma dużego wyboru jeżeli chodzi o książki, zdecydowałem się na: "STM32. Aplikacje i ćwiczenia w języku C" M. Galewskiego (http://www.kamami.pl/index.php?ukey=pro... Zastanawiam się nad tym, jaki zestaw startowy...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora używałem poprzez naciśnięcie "build". W ustawieniach...
No wiec tak, te dwie rzeczy są takie same w obu twoich przykładach i ich nie zmieniałem: __main_stack_size = 0; __process_stack_size = 1024; Przedstawiam poniżej to co teraz mam w moim projekcie: STM32F103RC_rom.ld [syntax=c]/*****************************... * author: Freddie Chopin, http://www.freddiechopin.info/...
Wszystkie. Skąd mamy wiedzieć jaki masz program, książkę, układ, debugger, system, komputer i cokolwiek innego i istotnego? 4\/3!!
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...
Hello my friend. I read the component in ISP with a TNM5000. You have to solder wires on the board. https://obrazki.elektroda.pl/3357275000_... ISP Cable -> Chip Cable PIN 1 = PA2/USART2_TX or PA9/USART1_TX Cable PIN 3 = NRST Cable PIN 6 = PA3/USART2_RX or PA10/USART1_RX Cable PIN 8,10 = GND BOOT0 & Boot1 pins must be HI (pulled...
Embedded boot loader The embedded boot loader is located in the System memory, programmed by ST during production. It is used to reprogram the Flash memory with one of the available serial interfaces: ● In low-, medium- and high-density devices the bootoader is activated through the USART1 interface. ● In XL-density devices the boot loader...
Witam, właśnie próbuję ustawić środowisko eclipse do współpracy na podstawie tutorialu Freediego :) I jest parę problemów : - w nowym Eclipse nie można podać ścieżek do : GNU Elf Parser , można oczywiście zaznaczyć je, ale nie ma żadnych pól aby wpisać ścieżki dostępu. - nowe OpenOCD - jest w wersji nie instalacyjnej, w jaki sposób go używać (na razie...
Jeśli ktoś znałby dokładną przyczynę tego tj. czy to jest wina samej pamięci czy wina architektury to byłbym wdzięczny za odpowiedź i wskazanie źródeł. Reference Manual 2 Memory and bus architecture 2.1 System architecture https://obrazki.elektroda.pl/4956208900_... Skoro poprzednio miałeś stos w rejonie 0x20030000, to wypadał on w...
Kod tylko w SRAM1, dane mogą być gdziekolwiek. do sram2 i sram3 rdzeń może dostać się przez S-BUS (poza kodem programu w ram) Wszystko jest opisane w dokumentacji pod obrazkiem który jest w pierwszym poście. np.: 2.1.3 S-bus This bus connects the system bus of the Cortex ® -M4 with FPU core to a BusMatrix. This bus is used to access data located...
Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci. Kup gotowa plytke Kupiłem gotową płytkę i właśnie to wejście ma jumper. Można zewrzec je do masy , lub nie. Zdecydowałem się na procesor STM32L051C8T6. W dokumentacji na temat BOOT jest napisane to: At startup, BOOT0 pin and nBOOT1...
Cześć, Od jakiegoś czasu borykam się z takim problemem: chciałbym odbierać po CANie ramki, wpisywać je w gotowy szablon i dalej wysyłać po USARCie na kompa w kodzie ASCII. Czegoś mi brakuje w tym kodzie i za każdą wskazówkę będę wdzięczny. Z góry dzięki:) To mój main: [syntax=c] unsigned char tx_uart[]=" ID: DL: F: T: DATA: ";//54 char ramka[55]; unsigned...
Wyłączenie optymalizacji to będzie raczej ficzer kompilatora, nie języka. W GCC jest jakiś atrybut, który pozwala zdefiniować poziom optymalizacji dla konkretnej funkcji - coś w stylu NOP does nothing. NOP is not necessarily a time-consuming NOP. The processor might remove it from the pipeline before it reaches the execution stage. Please note that...
Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD...
Zgodnie z notą AN2606: B1 B0 X 0 User Flash memory User Flash memory is selected as the boot space 0 1 System memory System memory isselected as the boot space 1 1 Embedded SRAM Embedded SRAM is selected as the boot space Jak próbowałem bootloaderem (Flash loader demonstrator) to z system memory, a jak przez Jtag to zwierałem BOOT0 z GND. EDIT Eh, sprawdziłem...
Introduction Of Service Robot Fundamentals Of Service Robot As a kind of semi-autonomous or fully self-help robot, service robots are able to perform useful service work for human beings, such as carrying, cleaning, and rescue. As service robots gradually enter the social life of people, they are now widely used in public places such as exhibition halls,...
Ustawiłem BOOT0 i BOOT1 w stan wysoki, zgodnie z tabelką : BOOT1 BOOT0 Boot Mode X 0 User Flash memory User Flash memory is selected as the boot space 0 1 System memory System memory is selected as the boot space 1 1 Embedded SRAM Embedded SRAM is selected as the boot space Ale nadal program nie startuje, czego jeszcze może mu brakować ?
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
W jakiś sposób udało (?) mi się zainstalować bootloadera do mojego MC. Wygląda na to, iż Blinkiem arduino IDE działa. Nie napisałeś w jaki sposób podłączasz Blue Pill do komputera podczas programowania, bo opcji jest kilka. Co prawda nie jestem w stanie odtworzyć tej Twojej sytuacji u mnie, bo mnie osobiście zupełnie nie interesuje co jest wgrane do...
Zamiast go rozgryzać po prostu przeczytaj dokumentację. Unprotection To disable the write protection, two application cases are provided: ● Case 1: Read protection disabled after the write unprotection: – Erase the entire option byte area by using the OPTER bit in the Flash memory control register (FLASH_CR) – Program the correct RDP...
Kto wie, co w tych bibliotekach od ST siedzi, znalazłem gdzieś na forum, że przy wywołaniu tej funkcji (i przy używaniu tych bibliotek) komuś wywala HardFault Exception (tylko przy podpiętym debugerze i IDWG). Po odpięciu JTAGa śmiga. To nie jest funkcja ST, tylko ARMa - jest ona częścią biblioteki CMSIS, którą tworzy jedynie ARM, ST nie ma z nią nic...
Witam! Jtag ruszył więc pora na dalszy ciąg nierównej walki. Pozwolę sobie coś takiego wkleić: 19-gdb-set confirm off 19^done 20-gdb-set width 0 (gdb) 20^done 21-gdb-set height 0 (gdb) 21^done 22-interpreter-exec console echo (gdb) 22^done 23-gdb-show prompt (gdb) 23^done,value="(gdb) " (gdb)...
Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego. Przesada Co złego jest w minimalizmie? Mam wszystko co jest potrzebne. Kompilator wywoływany jest z takimi samymi parametrami i tak samo. Masz automat, z dodaniem każdego pliku chcesz makefile edytować? Tak, chce za każdym razem edytować makefile, ale o gustach się nie dyskutuje. To...
Witam, Po dziesiątkach godzin spędzonych nad uruchomieniem i szukaniem stwierdziłem, że udam się po pomoc do "starszyzny" :) Na zestawie jak w tytule postu, po udanym wgraniu *.hexa przez Flash Loader Demonstrator program nie startuje. Płyta ewaluacyjna: http://www.propox.com/products/t_183.htm... Moduł: http://www.propox.com/products/t_174.htm...
Hmm może mamy inne procki i dlatego ty nie potrzebujesz nic kombinować ? Przypuszczam nawet, że masz innego procka niż inżynierowie z ST, bo u nich aby jakiekolwiek zmiany w option bytes weszły w życie potrzebny jest RESET układu (programowy), czego Ty nie robisz (a przynajmniej ani słowa o tym nie ma w Twoim poście), więc... 2.4.2 Write protection...
Witam, Próbuję zaprogramować STM32 wykorzystując jego wbudowany bootloader. Zmontowałem prosty programator (konwerter RS232<->TTL). Rx i Tx programatora podłączyłem pod Rx i Tx Uartu1 mikrokontrolera (oczywiście z crosem), stany na wyprowadzeniach Boot0 i Boot1 ustawiłem na odpowiednio 1 oraz 0. Rezonatora zewnętrznego nie podpinam. gdyż bootloader...
(at)BlueDraco:"Pudło. Przy uruchomieniu aplikacji z Flash, pamięć Flash jest mapowana na adres 0, a domyślnie VTOR zawiera 0 (a przynajmniej powinien)" Hmm, w takim razie to ja czegoś nie wiem. Owszem, może tuż po resecie tak jest, ale potem, nie wiem czy można to nazwać "w aplikacji" wykonuje się kupa kodu inicjująca pracę procesora, który to kod jest...
Zrobiłem najprostszy program z uruchomieniem jedynie RCC i GPIO. [syntax=c] #include "math.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" float a = 123.4; float b; void GPIO_Conf(void); void RCC_Conf(void); GPIO_InitTypeDef GPIO_InitStructure; int main(void) { RCC_Conf(); GPIO_Conf(); if (a < 40) { a = 123;...
Rzeczywiście, wypisuje błąd związany z pamięcią stosu. Na początku zmieniam w linkerze : __main_stack_size = 4096; na __main_stack_size = 2048; błąd w konsoli w tym samym miejscu co wcześniej. lecz już konsola nie wypisuje błędów Możecie powiedzieć mi czy dobrze zabrałem się za to? Dodano po 21 gaskoin : tak ściągnąłem USB HID Demonstrator Release 1.0.2,...
Mam funkcję sin(x) zapisaną w tablicy y_sin_obl[100] czyli 100 próbek (przeliczone na wartości 0-4094 żeby do DAC można było od razu wpisać). Konfiguruję PLL: void pll_init(void) [syntax=c]{ // HSI enable RCC->CR|=RCC_CR_HSION; // HSI enable while(!(RCC->CR&RCC_CR_HSIRDY)); // wait for HSI ready RCC->CFGR |= RCC_CFGR_SW_HSI; //Select HSI...
Witam wszystkich, ostatnio zacząłem się bawić uC STM32. Jest to moje pierwsze starcie z ARM-ami. Aktualnie próbuje uruchomić wyświetlacz TFT 4,3 cala, dokładnie jest to model firmy Ampire: AM-480272H3TMQW-TW7H. Wyświetlacz steruję za pomocą uC STM32F107VC. Wyświetlacz ma rozdzielczość 480x272 piksele z interfejsem równoległym 80 z szyną 16 bitów ustawioną...
system stm32 shared system memory system memory passed
kabel świeca cewka odczyt częstotliwości stacji szyfrowanie sprzętowe dysku
pompa skrzydełkowa kocioł elektryczny kospel
Saeco nie robi kawy - napełnianie obwodu i standby Jak odkleić plastik przyklejony Poxipolem?