Bo jest napisana na magicznych hexach (po części) :) Kawałek tejże inicjalizacji: [syntax=c]void SystemInit (void) { /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC->CR |= (uint32_t)0x00000001; /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ #ifndef STM32F10X_CL RCC->CFGR &=...
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...
Twój artykuł o ARM toolchain czytałem. Chętnie bym nawet użył tego(zamiast ograniczonego truestudio), ale niestety OpenOCD nie obsługuje ST-Linka... Chyba że jest jakaś alternatywa dla tego rozwiązania? [EDIT] Utworzyłem projekt w Keilu, dodałem startup code, pustą funkcję SystemInit. Teraz wszystko działa "normalnie", tj predkosc zgodna z wyliczona...
Piszę w System Workbench for STM32 . Faktycznie w pliku system_stm32f10x.c usunięcie ciała funkcji SystemInit pomogło. Musze zainteresować się kolegi startupem. Oto jej ciało: [syntax=c] /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC->CR |= (uint32_t)0x00000001; /* Reset SW,SWS, HPRE, PPRE1,...
1. Pokaż jak wygląda wywołanie openocd. Jak masz płytkę discovery to spróbuj po prostu z linii komend wywołać: [syntax=bash] openocd -f board/stm32f0discovery.cfg [/syntax] 2. Prawdopodobnie rozbiegówka oraz SystemInit zajmują ten 1KB pamięci FLASH. Wywołaj polecenie: [syntax=bash] nm --size-sort plik.elf [/syntax] aby zobaczyć wszystkie symbole w Twoim...
Cześć, nadszedł czas zmierzyć się z linkerem i innymi cudami ;) Wybaczcie, jeśli będę pisał głupoty, dopiero próbuję to ogarnąć :D Czy możecie podpowiedzieć jak uwzględnić w Eclipse dwa warianty kompilacji i linkowania: 1. program w trybie DEBUG, który startuje klasycznie z 0x08000000 2. program w trybie RELEASE, który ma startować z 0x08002000 Odnośnie...
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...
Wydaje mi się że mnie plik wygląda okay [syntax=c] /** ****************************************... * (at)file startup_stm32f030xc.s * (at)author MCD Application Team * (at)version V2.3.0 * (at)date 27-May-2016 * (at)brief STM32F030xc/STM32F030xb devices vector table for Atollic TrueSTUDIO toolchain. * This module performs:...
Super, jakoś udało mi się Eclipsa uruchomić fakt że w innej wersji Version: Mars Release (4.5.0) ale bez problemu spiąłem to. Przerzuciłem kod i co się okazało. Ruszył. Ale do szczęścia trochę brakuje, okazuje się, że nie rozpoznaje USB. Tzn ten sam dokładnie kod śmiga na Keilu, a na eclipse już nie. definicje: DEBUG USE_FULL_ASSERT TRACE OS_USE_TRACE_SEMIHOSTING_DEBUG...
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...
Witam Hmm, walczę od jakiegoś czasu z uruchomieniem toolchaina Eclipse + CodeSourcery itd dla STM32 (dokładnie STM32F107VCT) i mam pewien problem. Przejrzałem kilka różnych projektów, w których podpatrywałem pliki skryptowe linkera (*.ld) jak i pliki makefile. Na razie kompiluje mi się gdy przykładowo zrobię plik main.c z takim kodem: STM32F10x_StdPeriph_Lib_V3.5.0...
Maskujesz błąd błędem. Najpierw zrozum, co się dzieje w Twoim kodzie. while((SPI1->SR & SPI_SR_BSY) == 0) - to znaczy "powtarzaj tak długo, jak długo SPI nie pracuje (bo skończył transmisję)". Kiedy wyjdziesz z tej pętli? Co masz w niej powtarzać? To się kupy nie trzyma. Wciąż podejrzewam jednak, że oprócz tych 10 błędów masz jeszcze jedenasty - z ustawieniem...
BlueDraco zrobiłem tak jak powiedziałeś, zakomentowałem SystemInit() z pliku system_stm32f0xx.c i odkomentowałem moją wówczas częstotliwość zmieniła się na 0,5kHz michalko12 Następnie zmieniłem tak jak napisałeś: [syntax=c] SysTick->LOAD = 1000;//SYSCLK_FREQ / SYSTICK_FREQ - 1; [/syntax] wówczas mam 4kHz. Widzę, że mam chyba źle konfigurowany sygnał...
Nie modyfikowałem jej, więc nie wiem. Gdzie można ją podejrzeć? edit: Ok, znalazłem. Kiedyś grzebałem w cudzym projekcie i widziałem fajny wizzard. Czy on przypadkiem nie odnosi się do funkcji SystemInit?
Może wypada zacząć od tego, co to jest CMSIS. W zależności od fantazji może to być albo tylko minimalna obsługa procesora, albo również biblioteka obsługi peryferiów. Ta minimalna obsługa procesora zawiera pliki nagłówkowe, definiujące wszystkie zasoby mikrokontrolera oraz pliki definiujące zasoby rdzenia i podstawowe operacje na nich. Ponadto mamy...
Z tego co wymieniłeś wszystko jest OK (zakładam, że 3. to wskaźnik na funkcję, a nie jakieś dziwne rzutowanie). Ja bym się jednak początkowo skupił na zainicjalizowaniu w main() wszystkiego co inicjalizuje Keil w startupie, czyli po prostu wywołaniem SystemInit() - jeśli to zrobiłeś to następnym krokiem będzie zastanowienie się, czemu kod w Keilu generuje...
OK błąd znaleziony,-d przy parametrach jest zbędne dla jasności: # C++ definitions CXX_DEFS = USE_STDPERIPH_DRIVER CXX_DEFS += HSE_VALUE=8000000 # C definitions C_DEFS = USE_STDPERIPH_DRIVER C_DEFS += HSE_VALUE=8000000 C_DEFS += SystemInit=low_level_init_1 Dziękuje bardzo za pomoc.
Jak pisałem nie znam CooCox'a więc nie pomogę z jego konfiguracją. Czy wystarczy zmienić definicję STACK_SIZE? Jeśli tak to na jaką? Nie, jak sama nazwa wskazuje jest to rozmiar stosu, a nie jego położenie. Co do wektora przerwań w funkcji ... W aplikacji bootloadera nic nie zmieniasz w projekcie - skrypcie linkera. Przed wywołaniem głównej aplikacji...
Zamówiłem dwa Cortex'y STM32F103ZET6, czekam na przesyłkę... W między czasie, patrzę na przykłady z STM32 i nie mogę się nadziwić.... no cóż czasem człowiek potrafi skomplikować proste sprawy... Używam startup.S i vectors.c od kolegi Freddie Chopin. Niby wszystko ok, ale jak ktoś przerabia jakieś rzeczy z USB, niech zwróci uwagę na dwie rzeczy. w ST...
Może Wam ten nieszczęsny ukryty SystemInit() psuje krwi w domyślnym startupie jeśli używacie takich środowisk jak Atollic czy inne dziwne IDE :P
Cześć, Potrzebuję wykonać komunikację w 2 strony pomiędzy komputerem PC i mikrokontrolerem przez ethernet. Sprzętowo wybrałem stm32F103 oraz moduł z układem ECN28j60. Układ nie będzie włączony do żadnej sieci, będzie to połączenie punkt-punkt. Znalazłem biblioteki, dostosowałem pod swój mikrokontroler. https://github.com/xaionaro/stm32-enc28j... Generalnie...
Może zbyt namieszałem. Zasadniczo chodzi po prostu o to jak stworzyć projekt w SW4STM, który nie zawierałby tych wszystkich śmieci z SPL i HAL i dało się pisać na rejestrach. Taki czysty podstawowy projekt pod rejestry z tylko niezbędnymi rzeczami jak w przypadku pisania na AVRy. Ja robię to tak: I. Potrzebne narzędzia: 1. System Workbench for STM32...
Volatile i nigdzie nie używana, system_init() wszystko pozmieniane jak trzeba. Uarty pracują poprawnie, RTC teoretycznie też.
Spróbuj takiego kodu. Niestety nie sprawdzałem go bo nie mogę skompilować Twojego kodu. [syntax=c] #include "stm32f10x.h" #include "TouchPanel.h" #include "systick.h" #include "GLCD.h" #include "stdio.h" #define TP_INT_IN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) void TPintInit(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP...
Jakie na przykład ważne rzeczy tam się znajdują, bo usunąłem wszystko z tego pliku, zostawiłem tylko pustą funkcje System_Init() i taki prosty program migający diodą działa.
Dzięki m.ki . Zmieniłem w pliku core_cm3.c "=r" na "=&r" w funkcjach, które są na podane na stronie: http://www.freddiechopin.info/pl/artykul... W repozytorium zazwyczaj zaznaczam tylko "CMSIS BOOT" Marek_Skalski zmieniasz coś w tych plikach? Pewnie funkcję SystemInit ?
Witam Rozpoczynam zabawe z STM32 i napotkalem problem. Chodzi o uruchomienie USART2 i wyslanie znaku na terminal do PC. Rx i Tx mam podpiete do portu A PA2->Tx i PA3->Rx. Siedze z dokumentacja procesora ale jakos nie moge znalesc bledu w swoim kodzie. Moze co podpowiecie. Kompilator AtolicTruestudio Petla główna: [syntax=c] int main(void) { int...
No ubaw jest pierwszej klasy... Wrzucisz w końcu tyle kodu, żeby była w nim KOMPLETNA inicjalizacja wszystkiego? Przecież nikt tutaj nie wie, co jest w Twojej funkcji HW_Init_GPIO(), ani w pozostałych (System_Init()?), które mogą coś jednak zmieniać w SPI2 czy istotnych GPIO. A jeśli uważasz, że nic nie zmieniają, to zakomentuj je i potem wywal z tego...
To po co w SystemInit() od ST jest możliwość zmiany SCB->VTOR? Funkcja ta jest odpalana w startupie. https://my.st.com/public/STe2ecommunitie...
Używam sobie takiej chińskiej płytki: http://obrazki.elektroda.pl/8610848000_1... aby ten mikrokontroler zadziałał z zewnętrzną pamięcią RAM jako pamięcią danych programu?
Witam, Od niedawna planuję przejść na mikrokontroler stm32f407vgt6 z stm32f103vct6, ze względu na szybszą pracę. Niestety napotkałem na bardzo poważny problem. Aby przedstawić jak najlepiej dany problem, zamieszczę printscreen z analizatora stanów. http://obrazki.elektroda.pl/6745447700_1... Na wykresie widzimy przerwanie pracy timera,...
Witam, Na wstępie dodam, że bardzo długo walczę z konfiguracją projektu z stm32l w Eclipse. Udało mi się stworzyć projekt z automatycznie generowanym plikiem makefile (na podstawie ustawień C/C++ Build -> Settings ), ale były problemy z FreeRTOS, więc postanowiłem przerobić przykład Freddiego dla STM32F10x (stm32_blink_led), aby mieć większy wpływ na...
Aha:!::?: A coś dokładniej można poprosić? Zainstalowałem doxygena, coś tam produkuje, jeszcze nie to czego bym oczekiwał. Co mu dać dokładnie do obróbki? Potrzebuję przede wszystkim opisu dostępu do poszczególnych rejestrów. Przykład: GPIOB->BSRR=0x0001; Gdzie znajdę kompletny opis dla rdzenia i peryferiów? I jeszcze funkcji typu system_init(); Bez...
To ja pisałem o pętli for, ale walnąłem innego "babola" i poszedł wpis do kosza :) Czy pętla for się wykonuje należy podejrzeć w pliku .list. Pisałem też o tym, czy jesteś pewien, że startup w okrojonej wersji masz poprawny, że w ogóle procesor startuje, system_init() wektory przerwań itd. Ja standardowo "golę" HALa, wygenerowanego przez CubeIDE, gdy...
W ogóle ciekawi mnie, po co chcesz znać ten układ aż tak dobrze ? Może kiedyś będę chciał zaprojektować jakiś swój układ więc warto wiedzieć dokładnie jak one działają ;) Trochę jak z religią uwierz, że Bóg jest i już - bo tak jest napisane i wszyscy to wiedzą. W kwestii "jednym poleceniem Init": Fragment ze strony: w linii C_DEFS dodatkowo dopisujemy...
No bez przesady, to że TE procki są dla mnie nowością nie znaczy ze z cyfrówki jestem zielony, snucie takich domysłów nie jest na miejscu. Zrobiłem już po prostu część rzeczy,które były na różnych forach opisywane i chciałem uniknąć podobnych sugestii. W specyfikacji procesora jest opisane,że ta linia jest wewnętrznie podciągnięta do VCC "słabym" rezystorem...
No mówiłem, że po kilku modyfikacjach, bo kompilator krzyczał, że niema paru rzeczy. ;) Co do problemu. Stos się raczej nie przepełnia. Podczas debugowania szczytowa wartość rejestru sp to 0x1fbc czyli jakieś 44 bajty. Sam program również odchudziłem do granic możliwości i zauważyłem pewną rzecz. Tutaj cały obecny program. [syntax=c] #include "stm32f0xx.h"...
(at)gaskoin Racja. Jak coś nie działa to się wszędzie szuka błędów. Nie korzystam z żadnych dodatkowych peryferiów. Jest main() ustawienie usarta2 ustawienie DMA i tyle. A właśnie - za ustawienie zegara procesora odpowiada funkcja skopiowana z StdPeriph która się zwie SystemInit() w sumie zapomniałem o niej. Napiszę swoją od nowa i się odezwę - może...
Cześć, Korzystam z płytki STM32VLDiscovery (z programatorem ST-LINK), Keil uVision. Po raz kolejny wziąłem się za ARMy. I wszystko pięknie szło do czasu, aż zamarzyłem o fatfs. Bibliotekę dołączyłem, przepisałem kod tak, żeby nie korzystał z biblioteki stm32 standard peripherials. Uruchomiłem debugowanie - 17KB ma kod i... właśnie - w debugerze jak...
(at)Freddie no fakt, trzeba by często w to trafiać. Sprawdzę to jeszcze u siebie jak wrócę z roboty, teraz nie mam STMa pod ręką. A mimo wszystko nalegam, aby Autor pokazał kod asemblerowy programu. Dodano po 2 Data race o którym piszesz faktycznie tam jest - wczytałem się wreszcie porządnie if((zapalona) && (TIM9->CNT > 5000) ) pomaga...
Oczywiscie tak. Dodam ze uzywam programu System Workbench [syntax=c] /** ****************************************... * (at)file startup_stm32.s dedicated to STM32F103C8Tx device * (at)author Ac6 * (at)version V1.0.0 * (at)date 2018-04-06 ****************************************...
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...
Cześć, Ponieważ pojawiła się prośba o możliwość udostępnienia uproszczonej wersji na inny uC to przedstawię krótką instrukcję jak dostosować projekt do potrzeb. Generalnie w obecnej wersji obsługiwane są dwie rodziny procesorów czyli STM32F4xx i STM32H7xx - prawdopodobnie nie powinno być większych problemów z innymi podobnymi układami STM natomiast...
Witam. biblioteka stm32F10x_stdPeriph_Driver zewnetrzny kwarc 25 Mhz SystemInit(); RCC_HSEConfig(RCC_HSE_ON); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div1); RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Perip...
Wygląda to tak, nie posiadam takiej wiedzy żeby tu coś samemu zmieniać może powiesz mi co jest nie tak :) [syntax=c] .syntax unified .cpu cortex-m7 .fpu softvfp .thumb .global g_pfnVectors .global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ .word _sidata /* start address for the .data...
(at)sulfur Dopiero teraz znalazłem czas żeby dalej zająć się CANem. Ustawiłem tak jak mówiłeś i dalej nic. Nie mam pomysłu co sprawdzić . Tak jak wcześniej wspomniałem mam przejściówkę USB/CAN za pomocą której próbuję przetestować CANa. Program do obsługi tej przejściówki w ustawieniach transmisji wygląda następująco : http://obrazki.elektroda.pl/8802608800_1...
Witam, Mam problem - mam za zadanie zrobić coś w stylu skanera 3D na STM32. Na razie nie mogę opanować samej obsługi kamery w konfiguracji STM32F103VE+ wyśw. SSD1963 7" (zestaw EB-STM32_08_LCD7) i kamera OV7725 . Do zestawu dostałem przykładowe projekty w keilu. Bazując na projekcie do sprawdzania kamery z wyświetlaczem 4.3' wkleiłem działające biblioteki...
Pobierz sobie STM32CUBEMx. Tam możesz sobie stworzyć szablon, wygeneruj projekt do SW4STM32 (znajdziesz w ustawieniach projektu). Pobierz System Workbench for STM32, zaimportuj projekt i wszystko będzie śmigało... Będziesz miał kod, który działa na najnowszych bibliotekach HAL, wszystko jasno i przejrzyście opisane, łatwy dostęp do konfiguracji peryferiów...
Jest pull-down. Jest podawany stan '1' na pin WAKEUP. Dodałem kod jaki proponował "dziechu". Program osiąga linię: PWR_EnterSTANDBYMode(); , dalej nie wykonuje się (tak jak powinno być). Podanie stanu '1' na WAKEUP nie powoduje zresetowania procesora. Dodam, że pracuję na kwarcu 8[MHz] z włączonym PLLx3 czyli 24[MHz]. Zmieniony kod: [syntax=c]#define...
W załączniku projekt. Wystarczy u mnie wywołać system_init() które jest przed pętlą i procek ląduje w przeróżnych Handlerach... Aktualnie po powyższych zmianach w startup.s oraz xxx.ld nie mogę debugować kodu w startup.s (pisze brak kodu dla Reset_Handler()). Po tych zmianach również słabo działają breakpointy. Dopiero po zatrzymaniu i wznowieniu programu...
stm32 projekty stm32 f103rb ssd1963 stm32
aktywować windows chłodzenie aktywne brama ciągle zamyka
SkyRC B6neo, ToolkitRC M6D, HOTA D6 Pro – ładowarka do Li-ion 7.2V 2S z balanserem do modelarstwa RC Skoda Superb 2014 – brak komunikacji z kierownicą, ekran nawigacji gaśnie, radio nie działa