"Zainstaluj" msys stąd: http://sourceforge.net/projects/mingwbui... (zamiast Coreutils). Po rozpakowaniu "gdzieś" (ścieżka bez nawiasów), dodaj folder bin/ do systemowego PATH. 4\/3!!
Czy działa Systick to łatwo sprawdzić w debuggerze. Zresztą wiele spraw można sprawdzić. Ja bym zaczął od tego czy właściwe rejestry podlegają zmianom. To nie jest nic trudnego, w krokowym trybie Też jaka wartość jest SystemCoreClock, to zmienna globalna. Może ląduje gdzieś w HardFault, zaraz po uruchomieniu. EDIT. Często problemem przy kopiowaniu plików,...
1. Ta płytka nie ma wbudowanego JTAGa. W przeciwnym wypadku po do by jej było złącze JTAG 20-pin? 2 + 3. Na stronce dostępny jest trial wersji "rozbudowanej", w darmowej musisz sam zadbać o skrypt linkera i startup. Wbrew pozorom nie jest to takie trudne - dobry przykład (polecam te z mojej stronki dla stm32 - http://www.elektroda.pl/rtvforum/topic13...
Teraz pozostało mi przenieść projekt z stm32 na lm3s, ponieważ zajmuję się tym w wolnym czasie od pracy, to efektem podzielę się pewnie za kilka dni. To naprawdę nie jest dużo roboty, generalnie (pomijając detale typu zmiana nazw plików czy nazwy projektu) trzeba zrobić mniej więcej "aż" tyle: 1. poprawić tablicę wektorów (to i tak byś miał kiedyś...
sprawdź teraz i daj znać czy działa
KAM-ELE-ON Hot Water Visualizer V5.7.3 https://obrazki.elektroda.pl/3337561500_... https://obrazki.elektroda.pl/2004735900_... https://obrazki.elektroda.pl/1180862600_... https://obrazki.elektroda.pl/1239958000_... Czym właściwie jest? Powiem w skrócie: Odpowiedzią na nurtujące pytania...
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...
Aplikacja ma być ładowana do pamięci read-only i startowana poprzez resetowanie procesora - więc musi być odpowiednio do tego zbudowana - w szczególności, pod adresem, od którego procesor startuje, musi być instrukcja skoku do części startowej programu. Procesor MicroBlaze - przy domyślnej konfiguracje reset powoduje rozpoczęcie wykonywania kodu od...
Pokaż startup i skrypt linkera.
Witam Próbuje uruchomić na zestawie Discovery STM32F4 przykłady z książki M. Galewskiego. Wygenerowałem początkowy projekt oraz plik startup za pomocą STM32Cube. W folderze projektu pojawiają się pliki startowe oraz pliki bibliotek ST. I tu pojawił się problem, gdyż nazwy plików bibliotek dla obu procesorów się różnią, różnią się także nazwy i składnia...
Problem jest taki - po sygnale reset program się uruchamia ponownie. Natomiast po wyłączeniu i włączeniu zasilania program nie rusza. Dopiero po wydaniu komendy "reset and debug" program ponownie rusza. Masz wpisaną dyrektywę preprocesora: STARTUP_FROM_RESET ?
teraz postanowiłem uruchomić timer 2 i w żadnych plikach nie widzę funkcji do tego timera. To poszukaj dobrze - musi być w pliku w którym jest tablica wektorów, być może jest to ten sam plik w którym jest startup.
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...
By pulling up/down BOOT0 (and BOOT1) pins while resetting STM32 you can choose startup configuration for your STM device. For example you can enable or disable built-in bootloader! Look here: https://my.st.com/public/STe2ecommunitie... ( Page 8 - Table 1 )
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...
Elegancko zrobisz to dokładnie tak, jak pokazałem. Nie ma żadnego powodu, żeby aplikacja miała tablicę wyjątków gdziekolwiek indziej, niż na początku. Jeśli mamy ją na początku, to aplikację możny łatwiutko skompilować jako "wolnostojącą" lub ładowaną i uruchamianą z loadera. Zwykła aplikacja nie powinna ruszać rejestru VTOR. Była już na ten temat kiedyś...
Dziękuję za szybką odpowiedź Freddie. Powiem szczerze, że ten STM32 w tytule napisałem z rozpędu. Dokładnie to stworzyłem prosty projekt bazując na Twoich (np. stm32f4_blink_led) ale dla procesora NRF51822 firmy Nordic (z wbudowanym BLE i Corex M0) Startup i skrypt linkera mam od Nordica z małymi poprawkami. Makefile jest Twój, ale także z drobnymi...
startup_stm32f10x_md.s jest pisany dla GCC czy dla RealView....bo to nie to samo.
Domyślny startup może np. źle konfigurować stos/stertę albo nie definiować nazw procedur obsługi przerwań, więc Twoje obsługi mogą się nie wywoływać.
Dokładnie tak, interesowało mnie dlaczego kod nie działa w takiej sytuacji. Miałem takie problemy z testowaniem własnego kodu po wrzucaniu do ram lub flash naprzemiennie, niestety nie dotarłem do przyczyny i sobie darowałem. Płytka to olimexino stm32 z STM32F103RBT6. Zasadniczo wszystko ma swoje źródło w tablicy wektorów, znajdującej się w pamięci...
http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/rtvforum/topic13... Na początek może pożegnaj się ze starociami i zainstaluj coś nowego (CodeSourcery). Co do reszty: Moim zdaniem nie ma sensu pisanie samemu tych plików, ale warto rozumieć co i dlaczego tam jest. Szczególnie nie warto pisać ich "tylko pod konkretny zestaw",...
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...
A tak na serio, to mnie najbardziej interesowałaby opcja opisana na ostatniej stronie jako "najbardziej interesująca", a więc wykorzystanie startupa i skryptów linkera (i tylko tych plików) dostarczanych razem z biblioteką (w połączeniu z "pierdołami" typu sbrk, malloc itp itp) No ale tu nie ma co opisywać, bo to będzie generalnie identycznie jak w...
Dostałem taki log przy kompilacji: [syntax=c]startup/startup_stm32.o:(.isr_... undefined reference to `WWDG_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined reference to `PVD_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined reference to `TAMP_STAMP_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined...
Przy uruchamianiu debugowania GDB sam może ładować program (opcja "load image" w zakładce startup konfiguracji debugowania). Wsad "produkcyjny" też możesz wgrać uruchamiając debug, tylko z konfiguracją release. No albo skonfigurować uruchamianie OpenOCD (zobacz polecenie flash write_image ).
Plik map wygląda na sensowny. Podejrzyj w deassemblacji (albo zdebugguj) czy aby na pewno startup czyści sekcje .bss i inicjalizuje .data (podczas wykonywania funkcji Reset_Handler). Jeśli program "nie działa" tylko jeśli poprzednio uruchomiony był malloc(), a jeśli nie był uruchomiony to działa, to wskazywałoby na problem z inicjalizacją tych sekcji....
Zaprojektowałem i zbudowałem płytkę wyposażoną w procesor STM32F107RCT6 oraz dekoder popularny MP3 VS1003. Jest to kolejna wersja starszego projektu na PIC32, który przenoszę na nowy mikrokontroler. Większa część projektu PCB pochodzi ze starej wersji. Do komunikacji z VS1003 używam popularnej biblioteki Andy'ego Karpova, którą już wcześniej przeportowałem...
CMSIS Core - to tylko startup i system i bodajże core_cm3 + skrypt linkera. Zaś ty korzystasz z pełnego CMSIS i to jego deklaracji brak. Rozwiń tą gałąź "Device"... Definicje są (dodałeś sam pewnie), bo ci przechodzi kompilacja. Błąd jest w momencie linkowania.
Faktycznie! Jeśli nie przekroczę 4 breakpointów to nic się złego nie dzieje. W kail-u wyświetla się okienko informujące że nie można dodać kolejnego breakpointu (max to 5). Dzięki Freddie! Mam jeszcze jedno pytanie. Chciałem użyć w projekcie kontenerów z biblioteki standardowej C++ (konkretnie vektora i kolejki) jednak gdy program chciał wykonać którąś...
Praktycznie wszystkie te pliki są konieczne, a właśnie to co jest w /inc już nie, bo to jest potrzebne Twojej aplikacji... Pliki konieczne: Makefile startup skrypt linkera tablica wektorów + chyba wymagany jest jeden z plików hdr_..., bo jest zainclude'owany w startupie. Jeśli bawi Cię tworzenie od zera czegoś co już jest gotowe, to proszę bardzo -...
Jak go rozwiązałeś? W pliku startup wywaliłem 2 rozkazy i wstawiłem tam "siłowe" wpisanie adresu 0x20005000 do SP tuż przed wejściem do funkcji main. Jednocześnie testuję jednak drugi projekt w którym stos ustawiany jest z sugestiami Freediego - zwiększyłem po prostu rozmiar stosu w ustawieniach linkera i przetestuję czy stos nie wejdzie na dane.
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...
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...
Witam. Do tej pory pracowałem na AVR Studio / Assembler, które jest dla mnie bardzo przejrzyste i oczywiste, teraz zasiadłem do Keila / STM32 / C i jest to dla mnie droga przez mękę - o ile gotowce są dla mnie zrozumiałe i na ich podstawie mogę bezproblemowo coś tam swojego zrobić o tyle utworzenie nowego projektu mnie przerasta :( Wybieram procesor,...
Niestety obecnie mam bardzo słabe łącze (bluconnect) więc swoich plików nie "przepchnę". Zresztą nigdy nie napisałem żadnego programu do migania diodą na LPC'ka.:D a obecnie mój projekt kompiluje się do ponad 100kB. Jedynie co mogę poradzić na już to poszukaj gotowych przykładów dla Keila. W tych przykładach startup jest pisany w C , jedynie co to podstaw...
michalko12: Zmieniłem xHandleTaskLED1, xHandleTaskLED2 na static, ale nic to nie pomogło. xLastFlashTime nie można: error "initializer element is not constant". W keilu żadnej tej zmiennej nie miałem jako static a program działał więc podejrzewam, że nie tu jest problem. Dodano po 4 Smashing: Jak wrzucam Twój program do Eclipsa to się nawet nie kompiluje...
Witam, Mam problem z uruchomieniem debugowania w Eclipse. Po zbudowaniu środowiska w toolchainie : http://www.freddiechopin.info/index.php/... i dołączeniu plików makefile , startup i linkera z przykładu dla STM32 udaje się skompilować projekt. Niestety nie potrafię uruchomić deguggera. Po odpaleniu OpenOCD jest...
Budowa toolchainu pod systemem LINUX dla urządzeń z rdzeniami: CM0+ ( instrukcje są generyczne-czyli uogólnione i działają na procesorach: CM0+/CM0+F/CM3/CM3F/CM4/CM4F/CM7/CM7F ), oraz CM4F. Całość jest w postaci wizardu konsolowego i została fajnie opisana na stronie http://www.iwasz.pl/electronics/toolchai... Generowany kod jest kompaktowy...
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/...
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ł,...
No właśnie nie do końca. Skrypt startowy jak i całą resztę wziąłem z bibliotek STM. Tak samo skrypt linkera jednak tutaj troszkę pogrzebałem i stąd problem (prawdopodobnie). Mam taki plik: /* Default linker script for STM32F10x_512K_64K Copyright RAISONANCE S.A.S. 2008 */ /* include the common STM32F10x sub-script */ /* Common part of the linker scripts...
owszem staroc dla sam9, stm32 itd. Wiekszosc przykladow na moj procesor czyli at91sam7s256 napisana jest albo na WinArm, ablo na Gnu arm, albo keil i iar. Tych dwóch ostatnich nie używam bo nie mam na zbyciu 3tys dolców. Skoro przyklady dzialaja swietnie na gnu arm i winarm to po co kombinowac z yagarto czy innymi. Swoja droga probowalem przerobic jeden...
Witam Zakupiłem książkę: "Mikrokontrolery STM32 w praktyce" w przykładach jest używana biblioteka CMSIS: STM32F10x STandard Peripherals Library V3.1.0 oraz STMicroelectronics Firmware Library W książce jest napisane, że można ją (je??) pobrać ze [url=www.st.com]strony niestety nie ma tam nawet działu download a wyszukiwarka prowadzi tylko do dokumentów...
W celu uruchomienia kodu z pamięci RAM (aby pamięci FLASH nie nadwyrężać zbytnio..) użyłem skryptu linkera przeznaczonego dla Attolic TrueStudio, ze standardowej paczki firmware dla stm32 discovery. Jednakże po wgraniu programu, nie uruchamia się, w związku z tym pytanie, co trzeba jeszcze ustawić aby uruchomić kod z RAM'u ? poniżej wspomniany skrypt...
Najprościej wygenerować przez jakieś darmowe środowisko, np.: Atollic TrueSTUDIO. [syntax=asm] /* ****************************************... ** ** File : stm32_flash.ld ** ** Abstract : Linker script for STM32F373C8 Device with ** 64KByte FLASH, 32KByte RAM ** ** Set heap size, stack size and stack location according...
Tak korzystam z Keila Dodano po 4 Problem nie jako rozwiązany. Przyczynną było inaczej nazwane wektory przerwań, które skopiowałem z pliku stm32f10x_it.h (te z stm32f10x.s okazały się poprawne) np. dla DMA kanał 1 w stm32f10x_it.h void DMA1_Channel1_IRQHandler(void); a w startupie stm32f10x.s void DMAChannel1_IRQHandler(void) dla ADC1...
Wiesz co ja dopiero zaczynam z programowaniem stm ale jedna sprawa rzuciła mnie się w oczy. twoja funkcja jest prawie funkcją z biblioteki której definicja i rozwinięcie znajduje się w pliku core_cm4.h [syntax=c] __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible...
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, Mam problem z komunikacją STM32 z komputerem. Moja płytka to STM32L-Discovery [url=http://www.st.com/internet/evalboar... Chciałem napisać sobie najprostszy program do komunikacji z komputerem. Jak na razie nic nie działa. Pisałem program z pomocą książki "Mikroprocesory STM32 w praktyce" Krzysztofa Paprockiego. Musiałem...
1. Gdzie się teraz ustawia żeby pierwszy breakpoint był na main? Znikła ta opcja w Galileo? W zakładce startup na samym dole - "Set breakpoint at" i doklikujesz pod tym "Resume" - u mnie takie opcje są normalnie dostępne. W Initialization Commands mam: monitor reset monitor wait 500 monitor soft_reset_halt load 2. to load w dobrym miejscu mam? Load...
stm32 startup startup sourcery przerwa startup
elektronarzędzia pomiary kondensator mniejszy zasilacz schemat podłączenia żarówek
pilot zgemma depollution system faulty peugeot
Metaliczny dźwięk i brak ładowania w Ursus C-360 Szuflada na drzwi lodówki Mastercook LCB-1020FNF – dostępność i zamienniki