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...
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 &=...
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...
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:...
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...
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...
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...
Nie chcę inkrementacji. Wysyłam cały czas tą samą zmienną kilkukrotnie z jednej lokalizacji pamięci. W przerwaniu jest przeliczana na inną wartość w taki sposób: Ok. Niemniej jednak skopiowałem ten kod z #8 do CubeIDE 1.5.0, zrobiłem parę korekt pod moje PCB, dokonałem poprawnej implementacji flagi BUSY i wszytko działa jak powinno z inkrementacją...
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...
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
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...
Witam wiem ze temat wałkowany, czytając poprzednie posty jak zwykle mam mętlik. STM32F103ZET Używając: monitor reset halt (lub reset_halt ) load dla ram i flash program staje zawsze w startup.s: Reset_Handler: /* +---------------------------------------... | Initialize the process stack pointer +---------------------------------------...
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...
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.
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...
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, 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...
No więc sprawa wygląda tak: 1) Po zmianie jakichkolwiek ustawień używam teraz opcji clean, ale nic to nie zmienia. 2) FPU jest włączane w SystemInit() (Krotki pisał już o tym w jakimś wątku, więc sprawdziłem), ale faktycznie nie było to uruchamiane, bo plik startup miał rozszerzenie .s zamiast .S i kompilator w ogóle go nie łykał (co ciekawe, w TrueStudio...
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...
spróbuj zegary zainicjalizować funkcją SystemInit(), musisz tylko dołączyć do projektu plik z C:.........\Keil\ARM\Startup\ST\STM32F10... + włączyć odpowiednie peryferia, jeżeli zacznie działać to znaczy że z zegarem coś jest źle ustawione
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...
Jeśli korzystasz z stm32f4 discovery, to sprawdź czy masz dobrze ustawionego st-linka. Musisz mieć zainstalowany w systemie sterownik do niego, Keil nawet zaktualizuje w nim soft jeśli zajdzie taka potrzeba. Jeżeli chodzi o konfigurację st linka w Keilu, wszystko znajdziesz w dokumentacji u ST na stronie. Nie wiem też czy dobrze się zrozumieliśmy. Debug...
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...
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...
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...
Nie korzystam z systemInit ani zadnej innej biblioteki, cały kod który mam jest napisany w 100% przeze mnie. Czyli dobrze założyłem, to 16Mhz, pytanie ktore dalej pozostaje bez odpowiedzi to co jest nie tak ? :( Chyba jednak nie cały. Nie napisałeś nic o środowisku - obejrzyj SystemInit(). Najbardziej nie tak jest to, że nie pokazałeś poprawionego...
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...
Przeorałem wszystko co było w internecie i niby proste pod warunkiem że odczyta 4 bajty z sterownika. I tu się niestety pojawia problem. mimo tego że mam przykład do komunikacji z dotykiem po SPI to w przypadku tego urządzenia komunikacja nie działa :/ Jeżeli ktokolwiek miałby rzeczowe rady chętnie wysłucham zamieszczam cały projekt w KEIL biblioteka...
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...
Na pewno nie budzi się. Przed wprowadzeniem procesora w tryb STANDBY jest impuls na diodę LED i to się nie wykonuje po podaniu '1' na WAKEUP. Procesor się nie budzi i nie rozpoczyna sekwencji resetu. Kod programu: [syntax=c]#define _MAIN_C_ #include "stm32f10x_conf.h" #define LED1_ON GPIO_SetBits(GPIOB,GPIO_Pin_7) #define LED1_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_7)...
Tak. W zasadzie włączam taktowanie wszystkich portów zaraz po funkcji "SystemInit()". Dodano po 13 Próbowałem też na przykładzie z "hy mini". Zmieniłem tylko pin adresowy(RS), chip select na NE4 no i dorzuciłem obsługę DEMUX'a. I dalej nic. Załączam kod z tego przykładu: main: [syntax=c]void MUXInit(); //void TestChipSelect(); int main(void) { SystemInit();...
(at)Freddie Chopin Tak jak wcześniej pisałem miałem uruchomiony projekt - obsługę ethernet na STM32f407 gdzie main wyglądał tak: [syntax=c] /** ****************************************... * (at)file main.c * (at)author MCD Application Team, EvertDekker * (at)version V1.1.0 * (at)date 14-September-2014 * (at)brief...
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...
Witam problem jest następujący, inicjalizacja SPI przechodzi (wydaje mi się że poprawnie). Niżej podam wartości rejestrów SPI3. Problem polega na tym że nie mogę nic wpisać do DR w interfejsie SPI, nie mam jeszcze nic podpiętego do SPI ale mam zamiar przetestować całość na modułach MMcc1100 i płytce ewaluacyjnej z STM32 na pokładzie (stm32-p107 z OLIMEXu)....
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...
stm32 projekty stm32 f103rb ssd1963 stm32
wymiana rozrusznik zafira icloud zdjąć naprawa pompowtryskiwaczy
czestotliwości policyjne wybór fotowoltaika
Ustawienie noża w kosiarce spalinowej a zapłon – Briggs & Stratton, Honda, objawy po kolizji Toyota Starlet EP91 – objawy uszkodzenia czujnika położenia przepustnicy TPS