Witam, Niedawno przesiadłem się na programowanie STM32, z arduino, i już na samym początku spotkałem problemy. Aby nie było niedociągnięć że robię coś źle, opisze wszystko jak mam ustawione. Posiadam moduł STM32F103C8T6 ARM STM32 Cortex-M3 oraz programator ST-LINK STLINK V2. Piny podłączone następująco: ST-Link - Moduł 3.3V - 3V3 SWCLK - SWCLK GND -...
Uważam, że aplikację w wersjach debug i release na leży umieścić pod takim samym adresem. To bootloader zrób w dwóch wersjach (debug - release) (albo w jednej wersji ale inteligentniejszy - np sprawdzający jakiej bajty w aplikacji i stwierdzający debugujesz czy tez nie). Jeżeli nie masz jeszcze bootloadera to napisz taki mikrobootloader: W bootloaderze...
Windows 7 Pro, 32-bit Firmware version: V2.J15.S0 JTAG Debugger STM32 ST-LINK Utility v2.2.0 STLinkUSBDriver.dll v4.2.2.0 Open On-Chip Debugger 0.6.0-dev-00448-gc59a441 (2012-02-29-17:05) Eclipse Indigo Service Release 2, build id: 20120216-1857 GNU ARM C/C++ Development Support 0.5.4.201202210114 C/C++ GDB Hardware Debugging 7.0.0.201202111925 Próba...
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...
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...
Release tym sie rozni od Debug ze w Debug umieszczany jest nadmiarowy kod potrzebny do debugowania ktory normalnie potrzebny nie jest. Co do kompilacji zoptymalizowanej na szybkosc to wystarczy ja dodac na koncu ale jak bedziesz tak kompilowal caly czas to przynajmniej cie optymalizator nie zaskoczy (a czasem lubi to zrobic).
Witam, Udało mi się uruchomić STM32 z OpenOCD przez Wigglera. Problem mi jedynie sprawia debugowanie programu w Eclipse. Program ładuję przez Makefile , wszystko wygląda ok: D:\Projekty\ARM\project>cs-make program "Programming with OPENOCD" openocd -d0 -f interface/parport.cfg -f target/stm32.cfg -c init -c "fast enable "...
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 ).
Witam wszystkich "Tańczących z ARM-ami"! Podkuszony postami w tym dziale postanowiłem i ja spróbować. Poinstalowałem chyb a wszystko co w toutorialu Kolegi Freddiego Chopina opisane. Do walki zakupiłem na all... płytkę z stm32f103rbt6 oraz wigglera. H-jtag wykrywa proca, nawet coś chyba programuje, ale np. odczyt skutkuje komunikatem o niemożności wprowadzenia...
Co jest dziwne, bo w tym samym pliku wcześniej dodany jest plik nagłówkowy stm32f1xx_hal.h, który jest poprawnie linkowany przez kompilator. Bardziej "inkludowany", bo to robi kompilator. co jest absurdalne, ponieważ na górze pliku main.c jest zaincludowany plik EPD_Test.h, który zawiera tę definicję! W pliku nagłówkowym masz tylko deklarację, a nie...
Patrzę na skrypty linkera udostępnione np. przez Freddiego i widzę tam takie cuś: [syntax=c] .stab 0 (NOLOAD) : { *(.stab) } .stabstr 0 (NOLOAD) : { *(.stabstr) } /* DWARF debug sections. * Symbols in the DWARF debugging sections are relative to the beginning * of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 :...
Powyższa rada pomogła, dzięki wielkie. Należało zainstalować aktualną wtyczkę GDB z linku w temacie. Mam jeszcze kilka pytań co do środowiska Eclipse + OpenOCD. 1.Czy da się kompilować programy w trybie "Release" czyli bez informacji o debugowaniu, aby działały jak najszybciej i zajmowały mniej miejsca w pamięci. Taka opcja jest dostępna np. w Rowley...
Wersja lite kompiluje z optymalizacją tylko gdy przestawisz ją z trybu debug na release, lecz wtedy nie dołącza żadnych danych do debugu - porażka.
cc1: error: argument to '-O' should be a non-negative integer Tu jest twój błąd. Poszukaj w konfiguracji debug błędnego parametru o optymalizacji. Dodatkowo zauważyłem, że w katalogu Debug znajdują się tylko pliki z rozszerzeniem mk. W katalogu Release natomiast znajduję też odpowiednie pliki z rozszerzeniami .o oraz .d. To normalne, ponieważ środowisko...
Witam, mam problem z uruchomieniem 1 projektu w środowisku Crossworks. Dysponuję płytką z cpu STM32, wyprowadzony JTAG i podłączony przez Wigler. Rdzeń jest poprawnie wykrywany i programowany przez IDE. Zrobiłem prosty projekcik na bazie example mrugający LED. Projekt się kompiluje, wgrywa i uruchamiania na procku bez problemu. Problem jest taki - po...
Aby to zrobić to: prawoklik na tym katalogu -> resource configuration -> reset to default. Tam wskaż konfiguracje (np debug lub release) i OK. Wtedy on ustawi te flagi zgodnie z ustawieniami projektu macierzystego. Tak się dzieje jak po prostu przekopiujesz katalog skądś do projetu.
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...
Ja na razie to zmogłem "na sucho" (czyli bez sprzętu - tzn. nie mam na razie mikrokontrolera). Ale udało mi się skonfigurować eclipsa i kompiluje się wszystko bez errorów. Plik startup wziąłem z tych dostarczanych z biblioteką: np. \Libraries\CMSIS\Core\CM3\startup\gcc\st... Nie wiem czy akurat ten startup jest właściwy dla 103RB, bo...
Strzelam - nie twierdzę, że to akurat to , ale dawno temu męczyłem się z podobnym problemem... no właściwie to była funkcjonalność (jeżeli ktoś o niej wiedział). Otóż niektóre środowiska dla wersji "Debug" ( lub jeśli są włączone opcje debugowe ) dodają wstawkę, która czeka na podłączenie debugera. Ten, po podłączeniu kopie program do dalszego działania....
Hej, to i ja się podłączę, może ktoś pomoże:) Robię zasadniczo to samo to samo co ferdezo, na STM32F411RE na płytce nucleo w środowisku System Workbench. Program się kompiluje, ale kiedy staram się odpalić debug, to wchodzi w "Default handler" w pliku startup_stmf411xe.s - nawet nie zaczyna od standardowego . Plik .elf w katalogu debug ma ponad 512kB...
Nie sądzę. Tak czy siak ustawiasz to raz i zapominasz. Ew. piszesz uniwersalnego Makefile'a z masą ifeq zależnych od symboli a potem wrzucasz definicje tychże w odpowiednie miejsca w Eclipse'ie. Ale średni ma to sens imho, jedyne czego czasem używam to Build configu w wersji debug i release, mam wtedy -O0 i -Os przełączane z klika. Ale nadal zysk niewielki,...
Witam! Dopiero zaczynam zabawę z ARM i eclipse (pisałem sporo na AVR8 w kontrollerlabie). Problem dostępu do zmiennej PATH w ubuntu rozwiązałem (na razie na "sucho") przez zainstalowanie GNU ARM Eclipse Plug-in: http://gnuarmeclipse.sourceforge.net/upd... Tworzę standardowy pusty projekt ARM z CodeSourcey (nie makefile jak u Freddiego) z możliwością...
Ok już wszystko się wyrabia jak zwykle problemem był "cudowny" TrueStudio... Ehh gdyby tylko OpenOCD obsługiwał SWD :( Mimo zmiany z debug na release (teoretycznie włącza to optymalizację) TrueStudio dalej dzielnie ładuje wersję debug bez optymalizacji i wtedy się nam wszystko przepięknie sypie. Pozostaje mi się tylko modlić o jak najszybsze dodanie...
U mnie akurat jest tak:[syntax=c]// On Release, call the hardware reset procedure. // On Debug we just enter an infinite loop, to be used as landmark when halting // the debugger. // // It can be redefined in the application, if more functionality // is required. void __attribute__((weak)) _exit(int code __attribute__((unused))) { #if !defined(DEBUG)...
Jeśli chodzi o środowisko AC6, to mogę opisać konfigurację na przykładzie STM32L476. Najpierw należy utworzyć nowy projekt z zaznaczonymi opcjami: http://obrazki.elektroda.pl/9462029000_1... Następnie w utworzonym projekcie usuwamy katalogi: HAL_Driver, oraz Utilities. http://obrazki.elektroda.pl/8879527800_1... Teraz...
Witam Proszę o pomoc w wyjaśnieniu wpływu debuggera na działanie programu. Program miga diodą LED. Testowany na płytce Discovery STM32F4 a także na własnoręcznie polutowanym module z STM32F407, programowanym zewnętrznym STLinkiem 2.0. Na własnej płytce LED był podłączony do innego portu. Środowisko CrossWorks for ARM Release 2.3.0. Na obu platformach...
Z mojego doświadczenia i opisanych objawów wynika, że Twój program zmienia konfigurację pinów PA13 i PA14. NIe spodziewałbym sie błędu po stronie ST. Najbardziej prawdopodobny jest zapis do rejestrów GPIOA bez wykonania maskowania. Może też być błąd w przesunięciach bitowych jeżeli używasz magic numbers zamiast definicji z pliku stm32l010xx.h. Inna...
http://obrazki.elektroda.pl/2463034100_1... Witam wszystkich, Chciałbym tym razem przedstawić projekt gotowego radiomagnetofonu internetowego. Jest to rozwinięcie opublikowanego wcześniej na Elektrodzie małego odtwarzacza MP3. Radiomagnetofon umożliwia granie strumieni radiostacji internetowych, nagrywanie tych strumieni na kartę SD,...
Czy o takie poprawki chodziło? Dodano po 6 Kompilacja przebiega trochę dłużej, ale pomyślnie. Tak długo tworzy się plik wyjściowy *.bin. Czemu?
Wydaje mi się, że mam problem z poprawnym umieszczeniem w pamięci ram struktur zawierających ramkę obrazu. Pierwsza z nich to: [syntax=c] static struct framebuffer { int w; int h; int bpp; int ready; uint8_t pixels[]; }*fb = (struct framebuffer *) &_fb_base; [/syntax] Ona będzie przechowywała co najmniej 320x240*2 bajtów w tablicy pixels. Oraz druga:...
Wydaje mi się że kompilator widzi, bo kompiluje. Jak wyrzucę include wtedy już na poziomie kompilacji wywala błąd. Plik main.c jest dokładnie taki sam jak z przykładu Freddiego. Tylko jeden #include "stm32f10x.h" - jego widzi. Mało tego, w IDE eclipse wszystkie funkcje widzi z biblioteki, nawet podpowiedzi działają. edit. ok sprawa rozwiązana - wstyd...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
jestes pewny ze sie zawiesza? nowe OpenOCD po dopasowaniu wszystkiego po prostu czeka na komendy przez telnet lub od gdb. dla przykladu gdy lacze sie z stm32primer: D:\elektronika\ARM\pro\ctx\dbg>op... -f debug.cfg Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release BUGS? Read http://svn.berlios.de/svnroot/repos/...
Chyba. Tak mi wychodzi z debugowania po kawałku. Eclipse Kepler Service Release 1 stm32f10rbt6 Szablon od Freddiego, na niego "załadowane" pliki z projektu kiedyś odpalonego na keilu. Skompilował się, po wgraniu "krzaczy się". Jak to rozumieć? Jako flag używam pól bitowych, i dla przykładu mam ustawiony bit, po powrocie ze sprintf-a bit już wyzerowany....
Może się mylę - wtedy poprosiłbym o wyjaśnienie jak inaczej to działa. Ale wystarczy przejrzeć plik wersji debug i release. Program skompilowany w wersji z symbolami debugowania ( która część źródeł odpowiada instrukcjom ) może być uruchomiony bez podłączonego debuggera, analogicznie sesją debugowania można się podłączyć do zwykłego programu na MCU...
Zmuszony jestem przyznać Wam rację Panowie. Wypróbowałem na pierwszej lepszej płytce i przerobionym innym programie. Nie mam tamtego kodu ani hardwaru. NIe mam nawet tamtego kompilatora i biblioteki. Działa. WTF?? W każdym bądź razie miałem z tym kłopot, testowałem, szukałem rozwiązań w dokumentacji i przykładach... oczekiwanie w pętli na zmianę flagi...
U mnie działa - teraz sprawdzałem na LPC2103, wcześniej już walczyłem z STM32 - bez żadnych zmian względem starych konfiguracji (pomijając dopasowanie skrótów do GDB dla nowej wersji wtyczki GDB h/w debugging) W dokumencie getting-started jest opisanych kilka wymagań nowej wersji GDB - może u Ciebie któreś nie są spełnione? Warto zerknąć - któryś z...
Rzeczywiście, wypisuje błąd związany z pamięcią stosu. Na początku zmieniam w linkerze : __main_stack_size = 4096; na __main_stack_size = 2048; błąd w konsoli w tym samym miejscu co wcześniej. lecz już konsola nie wypisuje błędów Możecie powiedzieć mi czy dobrze zabrałem się za to? Dodano po 21 gaskoin : tak ściągnąłem USB HID Demonstrator Release 1.0.2,...
Mam zainstalowane Eclipse Która wersja? Czy masz zainstalowany GNU ARM Eclipse Plugin? Bez niego ten projekt nie zadziała. Problemów szukaj więc w konfiguracji Eclipse/CodeSourcery/GNUArmEclipsePlugin... Wczytałem ten "template" i się bezproblemowo kompiluje (w konfiguracji Debug). W konfiguracji Release (optymalizacja) występuje błąd: Jeśli podczas...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
To może wgraj oryginalną zawartość z Nucleo F411 jaka jest w nówkach na dzień dobry, by przynajmniej sprawdzić Nucleo plus ST-link. On tam miga i reaguje na przycisk może pamiętasz: No jest jakiś postęp chociaż nie wiem czy można to nazwać postępem. Wgrałem ten program, wyrzucił mi jakiś błąd elf loadera ale ostatecznie znalazł się w pamięci: Dodano...
teraz z kolei ja mam problem z tym toolchainem. Do pewnego czasu nawet to działało, a teraz dzieją się jakieś dziwne rzeczy. O tyle to dziwne, że nic nie mieszałem w ustawieniach. Odpalam openocd. Open On-Chip Debugger 0.6.1 (2012-10-07-10:34) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d...
Nie mogę zainstalować tego: http://opensource.zylin.com/zylincdt/ Postępuję zgodnie z: http://www.freddiechopin.info/pl/artykul... Niestety dla najnowszej wersji eclipse (oxygen 2) dla C/C++ nie da się go zainstalować (nawet na stronie http://opensource.zylin.com/embeddedcdt.... jest napisane, żeby instalować...
Generalnie to pobrałem skrypt linkera i plik startup ze strony http://www.freddiechopin.info. W datasheet i manualu znalazłem adres pierwszej strony pamięci flash i SRAM, która jest "rozbita" na 96KB i 32KB. Zmieniłem w oparciu o te informacje skrypt linkera. Czy zrobiłem to dobrze? Nie wiem. Poniżej: Skrypt linkera: [syntax=c] /***************************************...
Dzięki za odpowiedź ! Spróbowałem grafiki 10x10 przy zadeklarowanym stosie [syntax=c]#define STACK_SIZE 0x000800[/syntax] Problem w tym że działam na Coocoxie, i nie mam pojęcia gdzi mogę zmienić wartość sterty ( on nie generuje plików startup.s). Co mnie jeszcze bardziej dziwi nie mogę znaleźć funkcji odczytującej z pliku. Nie jestem pewien czy to...
Witam, Bawie sie płytka STM32F0Discovery, napotkalem na dziwne zachwowanie prostej funkcji opozniajacej. Od razu mówie ze docelowo bedzie ona i tak uruchomiona na timerze, a to co ponizej traktuje jako swego rodzaju ciekawostke. Mianowicie zmienna timer_cnt schodzi do 0, a petla while sie nie chce zakonczyc. W tym czasie przerwania, DMA i Systick działa...
Wreszcie STM32F429I-DISCO debuguje się prawidłowo. Problem spowodowany był przez wirtualne foldery w oryginalnym projekcie demonstracyjnym przygotowanym dla TrueStudio. Każda próba debugowania kończyła się błędem przy ustawieniu uruchamiania debugera (GDB) na "Standard GDB Hardware Debugging Launcher". Po zmianie na "GDB (DSF) Hardware Debugging Launcher"...
Witam ! Mam płytkę startową discovery STM32L100C-Disco, (https://botland.com.pl/index.php?contro... Zainstalowałem toolchaina, uruchomiłem Eclispe'a zgodnie z tym tutorialem:http://eraycanli.com/2015/08/... Napisałem prosty program do zapalania diody:...
Kod nie musi być 'idealny'. Wystarczy przecież że będzie poprawny i optymalizacja nie zmieni sposobu jego wykonywania - w szczególności w Keilu ;] [syntax=C] void delay(u32 i) { while(i) i--; } [/syntax] działa zawsze tak samo niezaleznie od poziomu optymalizacji. Kompilator sie chyba 'domysla' ze to jest petla opozniajaca... Roznego rodzaju opoznienia...
Niestety nie zauważyłem znaczącej poprawy. Ale rozwiązanie zostało znalezione - błąd był po mojej stronie. Użyłem funkcji dostarczonej przez crossworksa debug_printf("Blalala..."); który powodował wysyłanie logów debuggowych na okno "output" w crossworks, niezależnie czy była to wersja debug, czy release. Problem polega na tym że funkcja ta wymaga podłączonego...
release debug debug release atmega debug release
krótkie igły lampki gasną bezpiecznik lampa włącznik
webasto actros gdzie kupować przewody
ASUS P5L0Z – podłączenie przycisku Power SW do F_PANEL, pinout, instrukcja Przenoszenie muzyki z laptopa na PMP Slide Panel – transfer plików MP3, USB, micro-SD