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 &=...
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...
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,...
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...
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:...
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...
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?
Firmowy bootloader mi nie wystarczy. Potrzebuje SPI i prawdopodobnie USB. Ustawiłem w pierwszym programie na: NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00003000); i w drugim na: NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00000000); Więc tablica wektorów powinna się przełączać, ale dalej miga tylko czerwona dioda. Uruchomiłem dodatkowo TIM4 i przeniosłem...
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 ?
To co jest w tym pliku zip na pewno nie miga diodą (niczym innym zresztą tez nie) W pętli while jest następujący kod, którego brakło w paczce: [syntax=c] while (1) { /* USER CODE END WHILE */ HAL_Delay(1000); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); /* USER CODE BEGIN...
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...
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.
Witam. Jestem początkujący w świecie st32 i na początek stworzyłem sobie projekt w którym mam tylko pliki : main.c , startup - który dołączył keil (usunięte 3 linie odpowiedzialne za automatyczne uruchomienie funkcji SystemInit), Oraz 3 pliki z CMSIS: stm32f10x_it.c , stm32f10x_it.h , system_stm32f10x.c . Program wygląda następująco: [syntax=c]#include...
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...
Witam Dopiero zaczynam swoją przygodę z mikroprocesorami z rodziny ARM. Posiadam moduł prototypowy: STM32 LCD3.2" ARM Cortex, z procesorem: STM32F103VCT6 . Korzystam ze środowiska Kyle uVison4. Problem pojawił się przy próbie uruchomienia magistrali I2C. Obecnie mam 3 ATMEGI połączone ze sobą po I2C i między nimi komunikacja przebiega prawidłowo. W...
Używałem wcześniej SystemInit() ale usart nie działał dlatego napisałem własną funkcje i wydaje mi się ze ustawienie taktowania przebiega poprawnie. (at)gaskoin We wcześniejszych postach wspominałeś, że możesz podrzucić kod do sprawdzenia mojego usarta. Byłbym wdzięczny.
Witam, na początek to niech kolega zerknie na płytkę i nie jest tam zainstalowany 25MHz tylko 8MHz rezonator kwarcowy. Druga sprawa, po nazwie pliku domyślam się, że to CoCoox. Jeśli tak to musisz zmodyfikować dwa pliki startup aby przed main wywołać plik konfiguracji zegarów (SystemInit czy coś takiego). Dodatkowo musisz zmodyfikować obliczenia pll...
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...
Keil startując CPU odpala funkcję SystemInit() która to jest zdefiniowana w pliku system_stm32f4xx.c . Plik ten możesz napisać sobie sam, lub możesz skorzystać z gotowca. Gotowce masz w przykładach od STM lub możesz wygenerować go za pomocą Excela jak wspominał kolega imarszi . Tutaj masz opis jak się tym narzędziem poslugiwać i skąd je wziąć : Clock...
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...
Witam, Jestem niedoświadczonym użytkownikiem więc proszę o wyrozumiałość. Podobnie jak kolega chciałbym aby mój STM32 discovery Examples/GPIOToggle i chciałbym go tak zmodyfikować żeby zaczął rozmawiać po I2C, stworzyłem plik I2C.c oraz I2C.h. Dodam ze używam Keil'a Dostałem od kolegi przykładowy kod który powinien działać ale w praktyce jest oczywiście...
Witam Sprawa następująca. Kod pisany pod ZET6 z uwzględnieniem ograniczeń na słabszy procesor C8T6. Wszystko poza USB śmiga. Przy podłączeniu USB żadnej reakcji od strony komputera. Podłączyłem D+ D- do oscyloskopa i żadnej reakcji. Jakby był martwy. Sprawdziłem miernikiem od samego procka do samego gniazda ostatniego i przewodzą z przewodnością 22...
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...
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...
Zobacz też czy nie wywołujesz dwukrotnie funkcję SystemInit: w startupie oraz mainie. SystemInit tylko w mainie. No to zrób step into do tej funkcji debugerem i zobacz co jest nie tak. Prawdopodobnie ta funkcja odblokowuje przerwania gdzie nie powinny one zostać odblokowane przed vTaskStartScheduler. W tym miejscu wyrzuca: The init function pointer...
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 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...
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...
(at)Marek_Skalski Tymbardziej nie rozumiem, dlaczego po przestawieniu na HSE w CubeMX wskazuje taktowanie szyn APB na 8 MHz a ja muszę takie zmiany wprowadzać. Co do funkcji ustawiającej zegar to jeśli projekt używa SPLa to wcale nie ma pewności, że faktycznie ten zegar masz ustawiony na 8 MHz, bo równie dobrze może być jednak ustawiony na zupełnie...
Problem polega na tym, że kod który zamieściłem działa w przypadku, kiedy do procesora podłączony jest jeden przetwornik. Kiedy podłączę drugi, to niestety ten sam program czyta ciągle wartość 0. Wygląd funkcji main: http://obrazki.elektroda.pl/6629205400_1... Mam takie 3 złącza. Dopóki do któregokolwiek złącza mam podpięty jeden z przetworników,...
Dzięki, dobrze wiedzieć, jak coś to zgłoszę się do Ciebie po najnowsze OpenOCD. Na razie spróbuje na tym starociu co mam - 0.6.1. Przeglądnąłem sekcję RCC. Znalazłem tam jakieś różnice w rejestrach do włączania zegarów dla poszczególnych peryferiów i ich resetowania. Co do samego ustawiania SYS_CLK nie znalazłem różnic, czyli wszystkie funkcje w projekcie...
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...
Rozważmy na początek taki kod: [syntax=c] #include "stm32f10x.h" void Delay(unsigned int delay); void SetClock(); int main() { FLASH->ACR = 0x10; FLASH->ACR = 0x00; FLASH->ACR = 0x10; SystemInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP... ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode...
stm32 f103rb stm32 projekty ssd1963 stm32
toyota yaris wspomagać wtyczka antena zewrzeć karta pamięci uszkodzona
hulajnoga frugal problemy manetka hulajnoga
Radio Blow 9930 - brak reakcji na przyciski Mercedes A 1.6 W168 - Nierówna praca silnika i brak mocy