Jak widzisz na załaczonym obrazku nie masz ustawionych wektorów. Ale akurat mam coś takiego gotowego i Ci podeślę :) Zainstaluj Cube. Plik z wektorami weź stamtąd. Możesz też zaimportować projekt i wyrzucić HAL - będziesz miał przy okazji najświeższy CMSIS
Toolchain : C:\Program Files\GNU Tools ARM Embedded\4.9 2014q4 Debugowanie programu : http://obrazki.elektroda.pl/8776950400_1... Gdzieś w sieci wygrzebałem: In case that link ever disappears, what you have to do is ensure that your gcc command has "-Wl,-u,vfprintf -lprintf_flt -lm". This translates to: force vfprintf to...
Chyba tak jest, tutaj plik startup_stm32f10x_md.c [syntax=c]/** ****************************************... * (at)file startup_stm32f10x_md.c * (at)author Coocox * (at)version V1.0 * (at)date 12/23/2009 * (at)brief STM32F10x Medium Density Devices Startup code. * This module performs: * - Set the initial SP * - Set...
1.Czy w CMSIS jest jakieś makro wywołania, czy trzeba to pisać ręcznie? Ręcznie. O tak - https://github.com/DISTORTEC/distortos/b... 2.Czy to przerwanie się inicjalizuje? Co przez to rozumiesz? 3.Czy trzeba mu ustawiać priorytet (domyślny ma chyba najniższy i o to mi chodzi)...
Pisałem gdzieś jak się je włącza, na co Freddie napisał, że są funkcje w CMSIS, które z resztą na forum też już wklejałem. [syntax=c]/** * (at)brief Enable Interrupt in NVIC Interrupt Controller * * (at)param IRQn The positive number of the external interrupt to enable * * Enable a device specific interupt in the NVIC interrupt controller. * The interrupt...
Witam ponownie Troche czasu minelo i zdazylem bardziej doglebnie poznac ten zestaw ref. jak i sam procesor STM32. Niestety wraz z rozrastaniem sie projektu powracaja stare bledy i tak: W trybie SC USART nie generuje mi przerwan dla kazdego znaku, tzn.: Przy wysylaniu przez karte ATR w stanie RSTIN LOW moj soft dostaje tylko jeden bajt (pierwszy z ATR)...
Cześć, piszę z kolejną rozterką. Z góry mówię że wykorzystuję CMSIS'a Chcę zobić częściowy remap TIM1, ale wiąże się to z przepisaniem 8 pinów na PA i PB. Problem w tym że chciałbym wykorzystać równocześnie USART1(PA9 i PA10) i ADC12 (PA6). Zanim zabiorę się za kodzenie, chciałem spytać czy mogę zrobić częściowy remap i wykorzystać tylko TIM1_CH1N i...
Na początku rozdziału o USART w reference manual jest taki podrozdział "USART implementation" (29.4). Masz tam rozpiskę jakie "ficzery" są dostępne w jakich dokładnie układach - widać tam, że 7-bitową długość danych mają tylko niektóre układy z tej rodziny. https://obrazki.elektroda.pl/2466354800_...
W standardowym nagłówku z CMSIS masz przecież makra np USART_CR. Na forum wrzuciłem też całkiem przyjazną funkcję do konfiguracji IO, wtedy kod wygląda tak: [syntax=c]static void UsartInit(){ RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN; GPIO_Config(GPIOA, 9, AFPP_OUTPUT_2MHZ); USART1->BRR = FREQUENCY/BAUD; // set baud rate to BAUD USART1->CR1...
Sporo się namęczyłem, zanim ruszył mi slave transmitter w STM32F103. W 107 będzie tak samo. Po pierwsze zobacz do errat - tam między innymi napisali, że przerwanie i2c musi mieć najwyższy priorytet, bo inaczej się wiesza. Poza tym przykłady nie zadziałały mi od razu, a problemy mają też inni, o czym możesz poczytać na main.c // main.c main()...
Dodano po 31 Kiedy debuguje program, krokowo, zaraz po a = 124; z linii b = log10(a); wskakuje do nieskończonej pętli - void HardFault_Handler(void). Tak jakby sam adres procedury wywoływał błąd sprzętowy.
Szkoda słów <: Dobrze że do LPC i innych ARMów nie ma takich "superaśnych" bibliotek (; Ależ są ;] Np: "LPC175x and LPC176x CMSIS-Compliant Standard Peripheral Firmware Driver Library (GNU, Keil, IAR) (Jun 21, 2011)" http://ics.nxp.com/support/documents/mic... Tyle, że chyba nie tak popularne. Nie wiem,...
Widać że pisałeś na AVRy bo te magiczne liczby i ich przesunięcia są nie czytania. Używaj czytelnych dla ludzi definicji z CMSIS (a dla fanatyków poprawności - tego co dostarczył STM). Dlatego nie przeczytam tego ale z takich drobnych uwag to sprawdzaj zy możesz pisać do rejestu DR. Osobiście nie sprawdzałem ale we wszystkich przykładach STM ustawia...
Okazało się, że biblioteka standardowa przy zdefiniowanym taktowaniu 70Mhz ustawiła SYSCLK na 42.5 Mhz - nie wpłynęło to jednak na gatunek krzaka pokazywanego na terminalu. Dopóki ta biblioteka, która wyłącza myślenie nie będzie wiedzieć jaką masz częstotliwość SYSCLK i APBCLK to funkcja, która liczy BRR na pewno nie ustawi prawidłowej prędkości. Także...
Mam stm32f4 discovery, korzystam z CoIDE. Żeby użyć spzetowe FPU zmieniłem kompilator na linaro. Przy ustawnieniu na softwarowe- kompilacia przebiega poprawnie. Przy ustawieniu na sprzętowe mam błędy takie same jak w Sourcery CodeBench. GCC HOME: D:\stm32\linaro\bin compile: [mkdir] Created dir: D:\stm32\CoIDE2\workspace\pradnica3\...
Witam ponownie tym razem próbuję uruchomić przerwanie od TIM7 w mikro STM32 F303VC6 na płytce Discovery F3. Napisałem konfiguracje NVIC i TIM7 po czym uruchomiłem całość i owszem to co jest w funkcji obsługi przerwania jest wykonywane ale mam wrażenie, że pełną częstotliwością a nie co 1 sekundę tj ustawiłem. Prosiłbym o jakieś wskazówki bo pierwszy...
witam ponownie, po dłuższym czasie walczenia z uruchomieniem mikrofonu i odtworzeniem nagranego dźwięku niestety nie udało mi się osiągnąć zamierzonego celu. Po poszukiwaniach w internecie znalazłem pomoc na forum ST pewnego użytkownika jednak również po jego instrukcjach występuje kilka błędów. Instrukacja zgodnie z którą próbowałem uruchomić mikrofon...
Próbuję bawić się systemem FreeRTOS. Mam problem, gdy uruchomię tylko jedno zadanie led lub tx to wówczas one działają. Gdy próbuję uruchomić 2 zadania, nie działa nic. Próbowałem zmieniać rozmiar stosu, priorytety zadań i nic. [syntax=c]#include <stm32f4xx_usart.h> #include <misc.h> #include "stm32f401_discovery.h" #include "usart.h" #include...
(at)CMSISDSAP , dzięki, działa! Niepotrzebnie sobie skomplikowałem to zagadnienie w głowie i nie mogłem zrozumieć o co chodzi i jak to działa, ale teraz już wiem, że to nie takie trudne :) Wystarczy wysyłać na USART1. Komunikacja po ST-Linku działa, odbieram wiadomości w Tera Termie. Dzięki za pomoc i cierpliwość! Zamykam.
Aby było prościej to zrezygnujmy z DMA. Przy zwykłym wysyłaniu stringa efekt jest taki sam. Wysyłam tak: GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin compile: [mkdir] Skipping C:\CooCox\CoIDE\workspace\DMA\dma\De... because it already exists. [mkdir] Skipping C:\CooCox\CoIDE\workspace\DMA\dma\De...
Spróbowałem tak jak pisałeś używając twojego przykładu (podmieniam plik main.c i następnie "make"). Zaincludowałem potrzebne nagłówki i nie wiedzieć czemu biblioteka odwołuje się do nieistniejącej funkcji. Co mogę jeszcze poprawić? ... Linking target: out/stm32_blink_led.elf arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -Tstm32f103rb_rom.ld -g -Wl,-Map=out/stm32_blink_led.map,--cref,...
Jak wygląda sprawa z przerwaniami? Tam zamiast przerwań są używane callbacki. To nie tak jest. Callbacki są całkiem do czego innego. W programie HALowym, to użytkownik pisze obsługę przerwań sprzętowych (tak jak w klasycznym podejściu "rejestrowym") a specyfiką HAL jest tylko to że dostarcza pewnych gotowców na obsługę przerwań. Przykładowo weźmy uart....
Definicja HSE_VALUE w stm32f4xx.h jest definicją 'awaryjną', kiedy wartość nie jest zdefiniowana w żadnym innym miejscu. A to wcale nie jest takie pewne. Co do SPL, to wybór należy do Ciebie. Ja mogę tylko podpowiedzieć, że SPL nie jest już używany przez ST - został zastąpiony przez CubeMX, w połączeniu z HAL, który jest bardzo podobny do rozwiązania...
Witam! Od kilku dni poznaje uC ARM Cortex-M. Do nauki wykorzystuje płytkę stm32f0discovery oraz darmowe IDE CooCox. Mój problem polega na uruchomieniu uarta. Od wczoraj męczę się z jego uruchomieniem i kombinuje na wszystkie sposoby a linia TX nadal milczy. Poniżej kod programu bez użycia bibliotek ST. [syntax=c] #include "cmsis_boot/stm32f0xx.h" #include...
Teraz wgrywałem projekt z pustą pętlą, ale wcześniej udało mi się pomyślnie wgrać miganie diodą. Oczywiście z tym nieszczęsnym fizycznym resetem. Ogólnie konflikt jest zawsze ten sam, niezależnie od kodu. Mam dołączone biblioteki StdPeriph jako pliki źródłowe. Log kompilacji [syntax=actionscript] 22:19:18 **** Build of configuration Debug for project...
Dziękuję lazureus. Myślę, że masz rację z tym Watgdog'iem okienkowym WWDG, jednak w celu poprawnego skonfigurowania WWDG wczytuję się w książkę Krzysztofa Paprockiego "Mikrokontrolery STM32 w praktyce" w której autor używając uVision opiera się o najnowszą wersję bibliotek stm32f10x Standard Peripherals Library V3.4.0 i CMSIS. Tak więc i ja korzystam...
Tak wyglada kompilacja w consoli: [syntax=text] 16:18:26 **** Build of configuration Debug for project stm32F103RB_template **** cs-make all Building file: ../Setup/startup.S Invoking: ARM Sourcery Windows GCC Assembler arm-none-eabi-gcc -x assembler-with-cpp -Wall -Wa,-adhlns="Setup/startup.o.lst" -c -fmessage-length=0 -MMD -MP -MF"Setup/startup.d"...
łatwiej stosować ci te przesunięcia bitowe, gdy zdefiniowane masz wszystko elegancko w CMSIS do stm? Ci jest czytelniejsze? USART1_CR1_UE czy 1<<2 ?? BlueDraco czepianie się tego UL to przesada, i chyba tylko tobie wadzi. Lepiej by było jeśli gdzieś miałoby zabraknąć.
Witam kolegów! Chce zaprogramować stm32f107 i mam już całkiem pokaźny kod który się ładnie kompiluje. Niestety plik elf i hex są puste (prawie puste:)) Oto końcówka kompilacji: Building target: waga_przeplywowa_eth.elf Invoking: Cross ARM C Linker arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -O0 -fmessage-length=0 -fsigned-char...
no racja ścieżki bez cudzysłowów powinny być:) Już prawie się skąpilowało:) wyskoczyło mi jeszcze takie cos: Compiling file: ./lwip-1.4.0/src/netif/slipif.c arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/slipif.lst -DSTM32F10X_CL -DUSE_STDPERIPH_DRIVER...
Te krzaki w sumie nie zależą w żaden sposób od tego co wysyłam ale się powtarzają fragmentami. A jak powinna być ustawiona ta częstotliwość? Poniżej wrzucam ten plik z ustawieniami zegara. Ciężko mi się w tym połapać ;/ [syntax=c]/** ****************************************... * (at)file system_stm32l1xx.c * (at)author...
Udało mi się odpalić UARTA, ale sypie krzakami zamiast konkretnych znaków. [syntax=c]void USART_Conf(void) { RCC->APB1ENR |= RCC_APB1ENR_USART2EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; //TX - PA2/AF7//RX - PA3/AF7 GPIOA->AFR[0] = (7<<8); //str 60 DS<<4*pin GPIOA->MODER |= (2<<4); GPIOA->MODER &= ~(2<<6); //APB1/4...
Jak widać na screenach on używa innej niż Ty i w jego bibliotece tego makra nie ma. Jak widać na screenach używa dokładnie tych samych nagłówków CMSIS dla STM32F4 co każdy (chyba że znasz jeszcze jakąś "bibliotekę" która ma główny nagłówek o nazwie `stm32f4xx.h` i ma dokładnie takie same definicje dla USARTa, innych rejestrów GPIO czy dla RCC?). Ale...
Witam. Od pewnego czasu walczę z chińską płytką (blue-pill) z STM32F103 na pokładzie i z tego co już się nauczyłem oraz co sobie w ReferenceManualu wyczytałem to wiem, że AVR'y odłożę na półkę:) Moja nauka jest w stylu 'bare-metal' wykorzystuję jedynie pliki nagłówkowe stm32f103xb.h i kilka od CMSIS które można wydobyć z STM'owych bibliotek, więc ich...
zapewnijmy atomowość względem czegokolwiek: Kod: __ASM volatile ("cpsid i"); //USART2->CR1&=(~USART_CR1_TXEIE); /* zablokuj przerwanie */ pt->dat++; //USART2->CR1|=USART_CR1_TXEIE; /* odblokuj przerwanie */ __ASM volatile ("cpsie i"); Od czegoś jest CMSIS _enable_interrupts(); itd. Powyższy kod nie gwarantuje pełnej atomowości.
1. Rozumiem że celowo startujesz transmisję 1000 razy na sekundę - o ile nie zminiłeś ustawień systicka? 2. Dlaczego nie właczysz przerwania funkcjami CMSISowym NVIC_EnableIRQ(I2C1_EV_IRQn); Te funkcje w HALu są mi nieznane (nigdy nie korzstałem) 3. Czy masz zdefiniowany wektor w tablicy? Zależy jaki masz startup w toolchainie (może to oczywiście być...
Wygenerowany jest bezpośrednio z CooCoxa Linkera tutaj nie ma chyba jest zaszyty w środowisku. Wersja CoIDE to: Version: 1.7.8 [syntax=c] /** ****************************************... * (at)file startup_coide.c * (at)author Coocox * (at)version V1.0 * (at)date 20/07/2010 * (at)brief M0 M3 Devices Startup code. *...
I kolejna sprawa o której już wspominałem to taka, że nie chce w projekcie mieć tysięcy plików, które nie będą mi do niczego potrzebne i których przybywałoby przy każdej aktualizacji distortosa. Warto tutaj dodać, że od dłuższego czasu całość jest zrobiona tak, że używając np. STM32F4 możesz po prostu wywalić wszystkie foldery innych rodzin mikrokontrolerów....
Napisałem Ci funkcję ustawiająca AF, celowo rozbitą na poszczególne kroki. [syntax=bash]FAILED: test/CMakeFiles/distortosTest.dir/main.c... /home/freddie/arm-none-eabi-gcc-8.3.0-19... -DLFS_NO_DEBUG -DLFS_NO_ERROR -DLFS_NO_MALLOC -DLFS_NO_WARN -I../test -Iinclude -I../include -I../source/board/ST_32F746GDISCOVERY/in... -I../source/chip/STM32/peripherals/GPIOv...
Witam, W celu zrealizowania komunikacji z DS18S20 skorzystałem z następujących kodów dostępnych na forum: Kod od freddiego do konfiguracji GPIO: [syntax=c] #define GPIO_CRx_MODE_CNF_mask 0xf //4 bity - 2 bity na mode i 2 bity na configurację /*-----------------MODE-----------------... #define GPIO_CRx_MODE_IN_value 0x0 #define GPIO_CRx_MODE_OUT_10M_value...
Kod: [syntax=c]/** ****************************************... * (at)file system_stm32f0xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 23-March-2012 * (at)brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F0xx...
Witam, zaczynam z programowaniem STM32 i mam taki problem. Na procesorze STM32F103C8 w środowisku Cocox napisalem program, który używa 3 Uartów. Nie działa mi UART1, natomiast działają UART2 i UART3. Problem dotyczy zapewne włączenia zegara na te UARTY. Zrobiłem tak: [syntax=c]RCC_APB1PeriphClockCmd(RCC_APB... ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_US...
chodzi o wywołanie? [syntax=bash] arm-none-eabi-gcc -c -mcpu=cortex-m0 -Os -gdwarf-2 -trigraphs -mthumb -g -gg db3 -fpack-struct -Wextra -Wshadow -ffunction-sections -fdata-sections -fno-exc eptions -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlm s=src/io/io/io_pin.lst -DUSE_STDPERIPH_DRIVER -DSTM32F072RBT6 -DARCHITECTURE_C ORTEX_M0...
Cześć, Weźmy na tapetę pewien projekt ( 1. Xubuntu 20.04 Toolchain zainstalowany z głównego repozytorium dystrybucji gcc-arm-none-eabi 9-2019-a4 libnewlib-arm-none-eabi 3.3.0 2. Xubuntu 16.04 Toolchain zainstalowany z launchpada https://launchpad.net/gcc-arm-embedded w wersji 7-2018-q3 3. Debian 9.1 Toolchain zainstalowany z repozytorium dystrybucji...
Chodzi ci o tą funkcję z CMSIS Dodano po 1 Nie o to ci chodziło :) Doczytałem i zrobiłem tak jak jest to opisane w readme.txt linaro opcje dla linkera LD_FLAGS += --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group usunąłem plik syscals.c i wszystko ładnie się skompilowało Odpaliłem OpenOCD z opcjami openocd -f scripts/board/stm32f4discovery.cfg...
No dobra. Coś mam. Nie udało się tego zrobić na STM32CubeIDE, ponieważ wejście do opcji projektu (prawym na projekt > Properties ) a następnie do istotnych C/C++ General > Preprocessor Include Paths, Macros etc. powoduje u mnie pojawienie się okienka z błędem że "The currently displayed page contains invalid values" i tyle mogę sobie tam pozmieniać......
Witam. Mam zestaw stm32f429zi DISCOVERY. Chciałbym połączyć ten zestaw z simulinkiem. ### Real-Time Workshop build procedure for method: 'entry ### Starting build procedure for model: led ### Starting Real-Time Workshop build procedure for model: led ### Model connectivity is: normal ### Create verification block: None ### Check...
Witam. Aktualnie walczę z kompilatorem GCC non-eabi. Chcę utwożyć projekt w C++ używając własnego skryptu linkera, jednak po długiej walce nie mam już pomysłu na rozwiązanie. W jaki sposób skonfigurować kompilator, linkera oraz skrypt linkera tak abym mógł własne tablice zdefiniowane w plikach .cpp wstawić w wybrane prze zemnie miejsce w pamięci? Wersja:...
Pewnie masz racje, chyba zainstaluję Windowsa i jakieś dedykowane narzędzie Dodano po 2 pin 13 zawsze stan wysoki 2.9 V przed i po odwróceniem bitów
cmsis stm32 stm32 cmsis cmsis stm32 error
fałszywy płomień otwarcie obiektywu sweex odtwarzacz
bateria macallister bateria parkside
Czy można zamienić tranzystor TIP42C na triak BTB08? Błędy w komputerze LPG Skoda Octavia 2 1.6 MPI 2004 - szarpanie i gaśnięcie