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 -...
**** 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...
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,...
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...
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ę...
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...
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_...
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/...
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...
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...
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...
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...
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/...
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"...
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 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...
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...
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...
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
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)...
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...
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...
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...
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...
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...
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...
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,...
Dopiero jak "z palca" zrobię NO DEBUG to wtedy - no ale wtedy jest to zrobione świadomie bo sam tak wybrałem. Ale jaką wartość widzisz tam bez ruszania czegokolwiek? Dla jasności daję całą funkcję bo coś pisałeś że w user code. Sytuacja bez żadnej ingerencji w ustawienia (Nucleo-f103): [syntax=c]void HAL_MspInit(void) { /* USER CODE BEGIN MspInit 0...
Najlepszego w Nowym Roku i w następnch (rokach też). Proszęż uprzejmież : [syntax=c] #ifndef NOUVOTON_SD_CARD_H_INCLUDED #define NOUVOTON_SD_CARD_H_INCLUDED // #include "NouvotonSDCard.h" #define __IO volatile typedef struct { __IO uint8_t CSDStruct; /* CSD structure */ __IO uint8_t SysSpecVersion; /* System specification version */ __IO uint8_t Reserved1;...
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ć ?
Schemat, obraz płytki, ew. zdjęcie. Czy linia BOOT0 jest zwarta z masą (powinna być)? Jest zwarta z masą przez 10k. W RM na 43 stronie znalazłem coś takiego: Empty check On STM32F070x6 and STM32F030xC devices only, internal empty check flag is implemented to allow easy programming of the virgin devices by the boot loader. This flag is used when BOOT0...
Assembling file: startup.S arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m3 -mthumb -g -ggdb3 -Wa,-amhls=out/startup.lst -MD -MP -MF out/startup.d -I. startup.S -o out/startup.o Compiling file: core_cm3.c arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3...
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...
Masz rację, że szkoda całego tygodnia na taki problem:). Oto cały kod: Main: http://obrazki.elektroda.pl/2257364500_1... podłączenie do STM'a wygląda nastepująco: RxD do PA10, TxD do PA9. Więc nadal stoję w miejscu, ale nie poddaje się;).
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...
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...
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...
Standardowo jest taktowany 168MHz na wewnętrznym źródle sygnału: Dodano po 13 Dodano po 28 [syntax=c] /** ****************************************... * (at)file system_stm32f4xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 30-September-2011 * (at)brief CMSIS Cortex-M4 Device Peripheral Access...
Dziękuję za kod. Jeśli chodzi o zmianę wskaźnika stosu to znalazłem takie fragmenty kodu w moim projekcie: [syntax=c]/*----------Stack Configuration---------------------------... #define STACK_SIZE 0x00000100 /*!< The Stack size suggest using even number */ __attribute__ ((section(".co_stack"))) unsigned long pulStack[STACK_SIZE];...
Witam, Zaczynam zabawę z STMami i mam pewien problem. Z kilku kodów w internecie zlepiłem swój kod i niestety jak to zwykle bywa coś jest nie tak. Docelowo chciałem obsłużyć wyświetlacz TFT wykorzystując FSMC. Napotykam problem gdy próbuje zrobić w pętli głównej wysyłanie danych przy użyciu FSMC w pewnych odstępach czasu. Jeżeli w kodzie umieszczam...
Wg schematu z działu "System and memory overview" manuala, DMA1 - w odróżnieniu od DMA2 - _NIE_ jest podłączone do układów peryferyjnych na szynie AHB. Zauważ, że w diagramie multipleksera magistrali brak jest "kropek" w miejscu gdzie krzyżują się DMA_MEM1 oraz szyny do AHB1 i AHB2. Jest to generalnie również przyczyna dla której DMA1 nie może uczestniczyć...
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...
system stm32 shared system memory system memory passed
vestel 17ips72 podgrzewane kapcie hamowanie jazdy
klejenie głośnika klejenie głośnika
Satel Integra – kasowanie komunikatu "był sabotaż wezwij serwis" w centrali alarmowej Pralka hałasuje podczas wirowania - przyczyny i rozwiązania