Hej, mam taki ciężki do przejścia dla mnie problem. Piszę program w którym wykorzystuję przerwanie od timera i nie mogę sobie poradzić z deklaracją zmiennych. Mam dwa pliki main.c i stm32f10x_it.c. W pliku main deklaruję zmienne globalne: #include "stm32f10x.h" #include "fatfs/src/ff.h" #include "fatfs/src/diskio.h" #include...
Mam problem... Widoczność zmiennych w różnych plikach projektu. Mam wieloplikowy projekt, który chciałbym modyfikować w eclipse. Zmienne mam zadeklarowane w pliku z funkcją main. Inne pliki projetu zmiennych nie widzą. Czy przenieść wszystkie zmienne do oddzielnego pliku i włączyć go przez include do każdego pliku (raczej chyba nie) czy w każdym pliku...
Postawiłem Eclipse + GCC + OpenOCD na Macbooku, wszystko działa bardzo dobrze. Ale mam taki problem, że podczas debugowanie nie mam podglądu zmiennych globalnych ( zakładka Variables ), zmienne lokalne są. Teraz nie wiem czy coś źle zrobiłem czy może trzeba coś przestawić w ustawieniach ?
Witam Deklaruję zmienne w pliku axis_calibration.c [syntax=c] #include "LPC17xx.h" #include "axis_calibration.h" #include "timer_step.h" #include "steper.h" //#include "printer.h" //#include "sys_tick.h" volatile unsigned char x_min_flag=0; volatile unsigned char y_min_flag=0; volatile unsigned char z_min_flag=0; /*task - zadanie * 0-osie do poz 0 *...
Pracuję na małym procku STM32L0 z 8kB flash i 2kB RAM, debugger to ST-Link v2. Potrzebuję odczytywać na bieżąco w czasie debuggowania z odstępem czasu najwyżej 100µs wartości kilku zmiennych globalnych (a konkretnie wartości ADC i zmiennych odmierzających czas) i zapisywać je do pliku (a po zakończeniu debuggowania przedstawić ich wartości na wykresie)....
Witam. Dopiero zaczynam z Arm'ami, ale wbrew wszelkim zaleceniom z sieci nie zainstalowałem żadnego cygwina czy yagarto. Zamiast tego ze strony eclipse ściągnąłem nie "eclipse" dla javy tylko "eclipse-cpp-europa-win32". Jest to środowisko przeznaczone specjalnie dla C/C++. Oprócz tego ściągnąłem WinARM, wypakowałem i dodałem do zmiennych systemowych...
Witam, Programuje w jezyku C w Eclipsie(skonfigurowany pod Atmel Toolchain). Jak mozna i czy jest mozliwosc ustawienia odpowiednio programatora lub zmiany zmiennych srodowiskowych w Eclipsie, by moc komunikowac sie Leonardo przez UART. Wiem jak skonfigurowac Eclipsa, by nie wyrzucac bootloadera od Arduino pod Eclipsem. Bootloader jest dostepny przez...
Od kilku dni próbuję napisać apkę na androida, która wyśle proste zapytanie do mojego serwera typu "". Po wielu nieudanych próbach z Android Studio postanowiłem spróbować z Eclipsem. Niestety program już na samym początku mnie zaskoczył. Po utworzeniu pierwszego nowego projektu na Adroida w pliku MainActivity.java pojawiają się błędy w wygenerowanym...
Ok, to tych poprawnych się w takim razie nie czepiam. Tylko właśnie gdzieś prawdopodobnie jest błąd przy jakiejś ścieżce tworzonej ze zmiennych środowiskowych, bo ostatnia powinna być Z:\ EclipseProjects\TestProject - katalog projektów jest na innej partycji niż katalog z Eclipse.
Już to znalazłem. Ale jest nieaktywne tak jak przypuszczałeś. Jak wrzucisz screenshota, to może przypomnę sobie jak to uaktywnić (; Zmiana Eclipsa miała jedynie uaktywnić tą opcję (przenieść ją do Preprocesor include paths jak rozumiem). W nowych wersjach ta konfiguracja wygląda zupełnie inaczej - tak jak w linku który wrzuciłem w drugim poście. Dlatego...
Zlecę doświadczonej osobie (nawiążę kontakt do ewentualnej późniejszej współpracy przy ciekawych projektach z branży automatyki bezprzewodowej) pasjonującej się środowiskiem Eclipse i programowaniem uC w języku C konfigurację środowiska Eclipse do współpracy z IDE Keil uVision. Obecnie projekty są edytowane i kompilowane pod Keil'em a docelowo chcielibyśmy...
Witajcie, Po raz kolejny mam problem ze środowiskiem programistycznym. Otóż piszę sobie program, chcę kompilować i dostaję taki komunikat o błędzie: c:/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.5.2/... robot.elf section `.text' will not fit in region `rom' c:/codesourcery/sourcery g++...
Witam. Mam problem z ustawieniem breakpointów dla jakiejkolwiek konfiguracji w eclipse. Ale od początku. W tej chwili jedyną jako tako działającą konfiguracją jaką posiadam jest openocd + zylig konfiguracja poszczególnych wygląda następująco dla openocd mam ustawiony w eclipse starter wywołujący program z parametrami -f /home/zawisza/bin/board/stm32f4discovery...
Witam, Chciałbym do programowania uC wykorzystać środowisko Eclipse. 1. Ściągnąłem sobie Eclipse Classic 4.1, 2. Zainstalowałem plugin AVR (przeszedłem ścieżkę konfiguracji z ich strony), 3. Utworzyłem projekt (C project -> AVR Cross Target Application), 4. W main.c jest tylko pusta funkcja main() Gdy chcę to skompilować otrzymuję taki oto komunikat:...
Witam! Walczę już od jakiegoś czasu z dziwnym problemem. Otóż: kiedy inicjalizuję piny odpowiedzialne za SPI1 jako normalne wejścia wyjścia (PA3, PA4, PA5, PA7 jako Output Push-Pull max 50MHz; PA6 jako Floating Input) bez problemu komunikuję się z urządzeniem slave (w tym wypadku panel LCD). PA3 i PA4 to dwie linie CS (bez żadnych pullupów). Przebiegi...
W programowaniu nie uczy się niczego na pamięć :) Zwykle tak czy siak kończy się na szukaniu rozwiązań w internecie. Ale warto znać poszczególne elementy (kontrolki) i ich właściwości. Tu nie ma rady, trzeba to na żywca przelecieć jedna po drugiej, tak żeby wiedzieć jakie mają możliwości. Poza tym, trzeba znać podstawowe konstrukcje, które są uniwersalne...
Witam wszystkich. Po wielu wysiłkach udało mi się skonfigurować środowisko do programowania STM32 w ECLIPSE. Mam jednak problem z konfiguracją projektu z użyciem biblioteki StdPeriph_Driver. Projekt ma zainkludowane pliki: stm32f10x_rcc.h i stm32f10x_flash.h z tej biblioteki w celu skonfigurowania układu taktowania ale nie chce się kompilować. /home/grzegorz/Programowanie/STM32_Toolc...
Działam w Eclipse. Zrobiłem z unią: [syntax=c]union unia { char bajt[4]; float liczba; }unia1,unia2; unia1.liczba=za; unia2.bajt[0]=unia1.bajt[0]; unia2.bajt[1]=unia1.bajt[1]; unia2.bajt[2]=unia1.bajt[2]; unia2.bajt[3]=unia1.bajt[3]; //unsigned char * ptr; //ptr = (unsigned char *)&x; USART0_Transmit(unia2.bajt[0]); //ptr++; USART0_Transmit(unia2.bajt[1]);...
Spróbuj te zmienne zadeklarować jako static xHandleTaskLED1, xHandleTaskLED2, xLastFlashTime
Witam, wie ktos moze jak to zrobic, aby przy wywolaniu przerwania w funkcji za nia odpowiedzialnej, gdy zmienie wartosc zmiennych globalnych, te wartosci rzeczywiscie zmienialy sie w programie. Chodzi o to, ze przy wywolaniu np. przerwania IRQ procesor wchodzi w tryb IRQ, kopiowane sa wszystkie zmienne globalne na stos tego trybu (IRQ mode), wiec moge...
hmm jeszcze nie wiem czy od razu dużo lepszy od AVR Studio ale jak dla mnie dużo lepsze IDE do pisania softu bo. 1. lepsze kolorowanie składni (pogrubione czcionki itp) może to błahostka ale jak się dużo pisze to człowiek i na takie rzeczy zwraca uwagę 2. jeszcze właśnie b.mało wiem o możliwościach konfiguracji np ścieżek do własnych bibliotek jak i...
Witam, Chcę odświeżyć troszkę temat bo zetknąłem się z problemem rozmiaru kodu. Używam eclipse + sourcery lite++. Problem jest taki że zacząłem pisać program i nie robi on jeszcze nic konkretnego tylko konfiguruje potrzebne mi peryferia. I to wszystko zajmuje już około 26kilo kodu. Wynik jest porażający. Sprawdziłem mapę i wynika z niej, że nieużywane...
mam takie pytanko, ktore chyba jest bardziej życzeniem, no ale moze... otoz jak wiadomo, przez gdb mozna sobie grzecznie debuggowac rdzenie ARM w eclipse (jak i AVRy, kwestia ta sama), tyle ze w ogole nie istnieje tam cos takiego jak podglad rejestrow (taki jak w komercyjnych srodowiskach), nie mozna tez ustawic podgladu konkretnego adresu, w ktorym...
Witam szukałem w Internecie ale nic na ten temat nie znalazłem. W WinAVR gdy próbuję użyć zmiennej o nazwie SP to wyskakują jakieś dziwne błędy podczas kompilacji. A widzisz ;) gdybyś korzystał z ECLIPSE, a zobacz dlaczego jeszcze warto: to wystarczyłoby żebyś podjechał kursorem myszy na taką zmienną SP, i trzymając wciśnięty klawisz CTRL kliknął lewy...
Witam serdecznie. Jestem początkującym programistą mikrokontrolerów avr. Większość wiedzy czerpię z internetu, więc nie mam się kogo poradzić w sprawach merytorycznych odnośnie napotkanych problemów. Stąd prośba o pomoc na tym forum. Wymyśliłem sobie projekt współpracy modułu bluetooth HC-06 (były poruszane wątki tego modułu na tym forum) z Atmegą8A....
Witam wszystkich użytkowników, na studiach spodobały mi się stmy, chce iść w tym kierunku... Mam problem z poprawną konfiguracją środowiska. Oto kroki które poczyniłem: 1.Instalacja gdb_hardvare_debuging w programie eclipse 1.1Help 1.2Instal New Software 1.3Work with: --All Avaliable Sites – 1.3.1Instalacja GDB hadvare debugging 2.Załadowanie...
Zaczęło działać tym sposobem co napisałeś - nie chciało mi wykonywać resetowania z zatrzymaniem, ale to pewnie dlatego, że mam starszą wersję OCD i wystarczyło zamiast spacji dać '_'. W takim wypadku najlepiej rozbić na dwie komendy: monitor reset monitor halt Niby teraz wszystko śmiga. Co prawda dostaję błędy: mi_cmd_var_create: unable to create variable...
Witam, Zainstalowałem najnowsze wersje OpenOCD, Yagarto i Eclipse IDE for C/C++ Developers. Korzystam z przykładowego projektu: # ****************************************... # * Makefile for Atmel AT91SAM7S256 - flash execution * # * * # * * # * James P Lynch May 12, 2007 * # ****************************************...
LD PC, [PC, #-0x0ff0] oznacza, że do PC zostanie załadowana zwartość komórki pamięc spod adresu PC - 0x0ff0. Ponieważ owa instrukcja leży na początku pamięci odjęcie od PC -0x0FF0 spowoduje ze powstanie "ujemny" w postaci 0xfffffxxx. Jeśli LDR PC ... będzie leżalo na adresie 0xF0 po odjeciu 0xff0 wyjedzie wynik 0xfffff100 czyli adres początku tablicy...
W pełni się zgadzam :) Tak właśnie piszę swoje programy, a przykład jest nie mój - a takie kody też przychodzi analizować... To podświetlanie przydaje się też bardzo w przypadkach wielokrotnych zagnieżdżeń nawiasów np. if(zmienna - (funkcja((),zmienna)+zmienna)); Wiem że nie należy do dobrych praktyk pisanie w ten sposób programów jednak są sytuacje...
Witam mam problem z opóźnieniami w programie. Za nic świecie nie mogę oprogramować wyświetlacza kompatybilnego ze sterownikiem HD44780 (Wincom wc1602A). Za pomocą środowiska Codevision, wyświetlacz działa idealnie. Ale chce używać eclipse, bo jest fajne, i darmowe i ma intelisense. Ustawienia: Uploaded with Uploaded with ########################################...
Programowanie nie jest dla mnie nowością, ale poruszanie się w Eclipse to nauka czegoś zupełnie nowego. 3 minuty szukałem, gdzie zmienna hello_world trzyma swoją wartość... Jak to się ma do VBowego: Dodano po 25 Znajdę sobie lepsze zajęcie na zabicie czasu. Dzięki.:)
Witam, programuję od 2 miesięcy mikrokontrolery STM32. Środowisko jakiego używam do tego to CubeMX do generowania konfiguracji oraz System Workbench for stm32 (eclipse z nakładką). Co ważne używam tego na Windowsie (a nie ma linuksie). Tydzień temu odinstalowałem eclipse i zainstalowałem ponownie (czemu, nie powiem :), zrobiłem to) i od tego momentu...
Czy mógłby ktoś mi pokrótce opisać strukturę plików w projekcie w Eclipse ? (chcę utworzyć projekt pod avr-a, mam wtyczkę, winavr oraz inne potrzebne moduły). Mam tak: -folder bibliotek d:/lib (pliki *.h oraz *.c) Plik *.h nagłówkowy ma define'y oraz deklaracje funkcji i zmiennych. W pliku *.c dołączam plik *.h i tworzę tam definicje. W innym pliku...
No tak, po prostu Eclipse analizując kod mógł nie widzieć tych headerów, ale to nie ma wpływu na kompilację. Tu jest tak, że kompilator swoją drogą, Eclipse swoją. Tak, da się uruchomić printfa(). Ale za bardzo się mądrzył nie będę, bo przy okazji próbowałem to zrobić i napotkałem problemy:). Tak czy owak potrzeba dołączyć kilka funkcji. W jakiś przykładowych...
No- piszę że się może wzbudzić. To co napisałem- to jest bez dodatkowej zmiennej histereza. I bez zmiennej uchyb. Tylko dla konkretnych temperatur. Histereza sama jakby sama z tego wynika. Tak jest łatwiej na początek. Bo po co na początek komplikować. Na poczatku dajesz: #define temperature_max #define temperature_min I dalej samo się robi- if albo...
Możesz tak zmodyfikować swoje funkcje, aby zwiększały specjalną zmienną globalną na starcie i zmniejszały przed powrotem o tyle bajtów ile zajmują zmienne lokalne danej funkcji. Wartość takiej zmiennej możesz wyrzucać na port szeregowy (co nie zawsze jest możliwe) albo odczytywać debugerem. O wiele prościej wypełnić cały RAM jakąś znaną wartością i...
podącze się pod temat zródła uCOSII2.91+UCGUI3.90A od producenta są pod keil próbowałem to jakoś przeportować do eclipse ale kicha masa błędów z którymi nie mam czasu walczyć. Mam takie pytanie bo głównie chodzi mi o debugowanie kodu czy JTAG-lock-pick od (at)freddiechopin da się zmusić do pracy z keil ? bo na eclipse działa jak złoto
Witam Na początku zaznaczę, że to moje pierwsze kroki w FreeRTOS. Staram się uruchomić HOST USB (odczyt/zapis Pendrive) w własnym systemie z procesorem LPC1758. Po kilku próbach z FreeRTOS zaimplementowałem prostą komunikację przez RS-232 (do komunikacji dwustronnej). W tym przypadku przerwania działają bezproblemowo. Przy próbie implementacji HOST-USB...
Witam Dla własnej wygody i dla możliwości przekazywania mojego Eclipse na dowolny komputer bez konieczności żmudnej konfiguracji, postanowiłem zrobić je jak najbardziej "portable". Musiałem więc zmienić wszystkie ścieżki na względne (najczęściej do ../workspace). Udało mi się skonfigurować Eclipse tak, że Toolchain (Sourcery G++ Lite Edition for ARM)...
No i właśnie o tym mowa była wcześniej - jako IDE ten program nie ma startu do czegokolwiek bardziej rozbudowanego... Lista funkcji to w Eclipse jest nawet w dwóch miejscach, bo tak samo w drzewie projektu oraz jest też Outline aktualnego pliku, w którym masz funkcje, zmienne, makra, z podziałem na namespace'y, z uwzględnieniem preprocesora itd. No...
Linijka : [syntax=c]volatile struct st_can __evenaccess * can_block_p;[/syntax] oznacza definicję wskaźnika o nazwie can_block_p, na strukturę typu st_can. Linijka: [syntax=c]can_block_p = (struct st_can __evenaccess *) 0x90200;[/syntax] inicjalizuje wskaźnik can_block_p adresem 0x90200 rzutowanym na typ struct st_can __evenaccess *. Modyfikator volatile,...
Kompilator mysli tak: Mam liczby 15, oraz 16. Poniewaz uzytkownik nie podal ich typu to standardowo przyjmuje je jako liczby całkowite. Nastepnie kaze mi podzielic dwie liczby calkowite 15/16 = 1, a potem zapisac wynik dzielenia bez reszty w zmiennej typu double (wynik). Jak wiadomo liczby calkowite nie maja reszty z dzielnia dlatego masz 1. natomiast...
Temat trochę nieświeży jednak coś podczas instalacji na linuxa (ubuntu) nie poszło tak: - linux ubuntu - zainstalowane eclipse + wtyczka CDT + wtyczka do AVRów: - instalacja toolchin'a komendą: sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude ----- efekt: IDE nie rozpoznaje ścieżek biblioteki (chyba, że bezwzględe). Kompilacja kończy...
Witam, mam uruchomiony serwer www na FreeRTOS, wszystko ogólnie śmiga dobrze, potrzebuję szybkiej konwersji ze zmiennych na string, oczywiście przychodzi z pomocą sprintf, ale po użyciu jakiegokolwiek operatora zmiennej, wali się w hardfault... Temu zadaniu przydzieliłem 128 słów stosu, kod wygląda prosto i bez komplikacji: [syntax=c] void vTaskLCD(void...
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....
Sprawa ma się tak. Twój bleeding-edge toolchain się zrobił. Zainstalowałem Eclipse Neon i do tego wtyczkę "GNU ARM Eclipse Plug-ins - ". Stworzyłem od nowa projekt z użyciem kreatora. Podałem ścieżkę do tego toolchaina (/usr/local/bin/bleeding-edge) ale na etapie kompilacji mam tylko coś takiego 17:35:46 **** Incremental Build of configuration...
Witam, właśnie przesiadłem się z avr na arm. I mam bardzo "głupi" problem. Utworzyłem projekt skonfigurowałem piny procesora za pomocą STM32cube oraz napisałem prostą funkcję wysyłającą dane przez SPI. Wszystko działało do czasu aż utworzyłem nowy plik z kodem ( na zdjeciu widoczny jako ili9341.c) i tam zacząłem przenosić napisane zmienne i funkcje...
Popraw błąd w 76-tej linii programu. Sprawdź, czy nie ma zimnych lutów przy elementach C7 i R9. Błąd poprawiony, przy elementach C7 i R9 wszystko ok. Nadal nie działa. Dodano po 1 [syntax=c]/* hmc5883l lib 0x01 copyright (c) Davide Gironi, 2012 Released under GPLv3. Please refer to LICENSE file for licensing information. */ #include <stdlib.h>...
Hejka, robię właśnie przesiadkę projektu z kompilatora IAR'a do GCC'a i mam problem z przeniesieniem niektórych ustawień, konkretniej chodzi o nie wycinanie przez linker konkretnych, nieużywanych zmiennych globalnych wygenerowanych przez zewnętrzne narzędzie, zawierających informacje np. o dacie buildu, checksumie itp. które są potem w przypadku reklamacji...
1. Wydaje się potzrebujesz więcej zmiennych, logiczna 'czas ręczny', sama zmienna 'czas' którą inicjujesz zależnie od trybu, być może z time(). Mniej bym się bał ustawienia zmiennej logicznej (podszedł człowiek i zareagował na brak czasu z netu), ale wiele kaw można wypić przy dyskusji jak tę zmienną zerować. Może kontroler sam zdecyduje, np znów dało...
Zadam pytanie którego nikt inny chyba nie zadawał: Który projekt? Bo ich jest trochę. Ja wczoraj kompilowałem projekt pod AT91SAM7X256 i Eclipse i poszedł pod linuxem praktycznie bez problemów(trzeba było ścieżki na prawidłowe nazwy plików z dużymi i małymi literami, oraz upewnić się że w środowisku jest ustawiona zmienna FreeRTOS_ROOT)
Kolega chyba minal sie z dokumentacja samego pluginu - ten plugin to tylko plugin - potrzebujesz AVRDude do tego i odpowiednio skonfigurowac Eclipse a konkretnie: Menu: Project >> Properties >> pozycja AVR >> subpozycja AVRDude Tutaj powinienes wiedziec co i jak: w liscie rozwijalnej masz "Programmer configuration:" wybierz/dodaj nowa - i tam ustawiasz...
Witam, mam problem z debuggowaniem w Eclipse sprzężonym z OOCD wg poradnika Freddy'ego. Mianowicie po włączeniu debuggowania w prawym dolnym rogu Launching nazwa_ustawienia (59%) i na tylu się zatrzymuje, po czym dostaję komunikat błędu: Excecution is suspended because of error. Kiedy przycisnę Details, widzę: continue The program is not being run A...
Miałem ten sam problem, z jakiegoś powodu mimo że katalog bin z instalacji codesourcery jest dodany do zmiennej PATH eclipse nie znajduje kompilatora. Natomiast wywołanie make z poziomu konsoli w katalogu projektu ładnie go kompiluje. (zmienna PATH u mnie jest ustawiana automatycznie za pomocą skryptu ~/.bashrc). Problem obszedłem poprzez dodanie w...
Witam serdecznie, jakiś czas temu zacząłem moją zabawę z stm32. Po kilku tygodniach walki z darmowym oprogramowaniem (Eclipse + GCC, ograniczony Keil itd), zdecydowałem się na TrueStudio w wersji light. Mam jednak problem z tym oprogramowaniem podczas debugowania. Jaki to projekt? - projekt ma za zadanie odczytać dane z modułu RFID, następnie ma rozpoznać...
Eclipse to nie wróżka... Poczytaj co to jest zmienna środowiskowa PATH, sprawdź jaką ma u Ciebie wartość to pewnie zaskoczysz co trzeba zmienić.
2. Zupełnie inny plik konfiguracyjny .cfg dla targetu (umieszczony niżej). Z tym który jest w OpenOCD nie działa? Jedyne czym one się generalnie różnią to rozmiar flasha, w oryginalnym jest 504kB (0x7e000), w Twoim 500kB (0x7d000) - nie sądzę aby to mogło być przyczyną problemów z zatrzymaniem układu... Jedyne co mnie jeszcze zastanawia do dlaczego...
Mam problem z przesyłaniem liczb zmiennopozycyjnych przez port RS232. kod obsługi uartu jest poprawny, dobrze sprawdza się w innych aplikacjach. sklejam i wysyłam zmienne w ten sposób sprintf(mystr,"\r\n krok %i czas = %d \ty = %d",n,czas,y[k]); // sklejanie stringa mystr uart_puts(mystr); //wysylanie mystr po RS w...
Wątek jest na Eclipse a tam w ogóle się nie grzebie w makefile a F_CPU ustawia się we właściwościach projektu. Racją jest, że definicję F_CPU w poszczególnych modułach należy traktować jako błąd programistyczny. Biblioteka delay.h używa zmiennej F_CPU więc sama dba, żeby ten symbol był w ogóle zdefiniowany ale nie jest to warunek wystarczający do prawidłowej...
I jeszcze jedno pytanie, w Eclipsie trzeba pisać plugin aby jednym kliknięciem móc przy pomocy OpenOCD programować mikrokontroler? Nie trzeba. Wystarczy odpowiednio uruchomić sobie OpenOCD (External tools configuration) podając odpowiednie parametry. Przykład (dla LPC1758/59/68/69) : [syntax=bash]openocd -fc:\Programs\ARM\OpenOCD\bin\lpc1768.cf... -c...
Witam, jako młody student potrzebuję małego wsparcia przy tworzeniu programu do sterowania obciążeniem małej turbiny wiatrowej. Działam na układzie AT90USB1287, program ma na celu w odpowiednim czasie podać obciążenie na turbinę, jako że turbina kręci się około 2000 obr/min postanowiłem ze najlepiej będzie wykorzystać do tego kanał pwm tak aby mikrokontroler...
Zapewne jest to nieco głupie pytanie, ale jak w Eclipsie dodać watchpoint na jakąś zmienną? Korzystam ze standardowego przykładu freddiego. Opcja Run->Toggle Watchpoint jest "wyszarzona".
Tak, taki sam. Działa! Wpisywałem tam różne cuda i nic, w końcu dałem ścieżkę do toolchaina na początek zmiennej PATH i ruszyło, choć CDT GCC Build Output Parser dalej nie zwraca nic. Przy okazji mam za to problem z FPU, bo na floatach procesor leci w mailny, więc kombinuję dalej. Edit: Przy kompilacji dostaję warninga, choć w eclipse wygląda wszystko...
Zainstaluj Java 32bit z najnowszym updat'em oczywiście wcześniej jeszcze raz odinstalowując wszystkie Javy być może jest ich kilka, a nastepnie zainstaluj Eclipse LUNA również 32bit. Powinno pomóc. Jeśli nie to sprawdź jeszcze raz zmienne środowiskowe w Mój komputer, ustawiając ścieżkę dostepu do uaktualnionej JDK, usuwając pozostałe ścieżki. PS: nie...
Witam, Jakiś czas temu ściągnąłem sobie Eclipse Workbench, by móc programować mikrokontrolery ARM, jednak w generowanych podczas kompilacji plikach brakuje mi pliku *.S czy *.iss z assemblerową reprezentacją programu. Wszyscy wiemy, jak pomocny jest ten plik. Mi chodzi głównie o to, żeby sprawdzić, gdy po zadeklarowaniu zmiennych typu "float", kompilator...
Witam, W książce Tomasza Francuza "AVR Układy Peryferyjne" autor opisuje jak sobie poradzić z umieszczeniem zmiennych w pamięci FLASH w sekcji Application Table (s.562). Jest to podane na przykładzie Atmel Studio. Czy wie ktoś jak to samo zrobić w Eclipse dla AVR? Nie wiem gdzie podać adres tej sekcji w linkerze, gdzie ta ma się fizycznie znajdować?...
Widocznie jak teraz instalowałeś programy instalator nie dodał ścieżki dostępu do pliku make.exe. Możesz to zrobić ręcznie: Prawym klawiszem myszki w "mój komputer" - właściwości Następnie zakładka "zaawansowane", na dole masz przycisk "zmienne środowiskowe" W dolnej części okna znajdź zmienną "path" Edytuj ją i na samym końcu w wartości dopisz po średniku...
Pierwszy przykład: rozdz4przyk1, tzw. wąz świetlny. Po zaimportowanmiu plików do projektu, opcja Make all daje błąd: make: *** To co znaczy po zaimportowaniu plikow do projektu ? Eclipse nie wspolpracuje z make i pliki do kompilacji trzeba dodawac MANUALNIE w pliku Makefile (powinna tam byc zmienna SRC lub cos w tym stylu) i na taki blad mi to wyglada....
Witam! Proszę o podpowiedź dlaczego w kodzie: unsigned int i, imax, (...) int obsluga_przerwania1() { AT91C_BASE_TC1->TC_SR; i++; if (i > imax) { i = 0; *AT91C_TC1_CCR = 0x2; } AT91C_BASE_AIC->AIC_EOICR = 0x0; } int main() { [konfiguracja tc i aic] while(1) { if (warunek1)...
Od dłuższego czasu próbuję uruchomić debugger z winavr w eclipse. Korzystam z instrukcji na stronie: "memory.c:224: WARNING: **** Attempt to read invalid io reg: ACSR at 0x0028" i debugger nie działa poprawnie. Log z konsoli avr-gdb: "No symbol "new" in current context. target remote localhost:4242 0x00000000 in __vectors ()...
Witam, Jak wygląda u Ciebie deklaracja zmiennej flashdata? I dlaczego jej adres nie jest wyrównany do 4 ;) Dla Keila zrobisz to tak: unsigned char flashdata[512] __attribute__ ((aligned (4)));
Dzięki. Z Twojego opisu wnioskuję, że debugowanie w RAM nie jest zbyt popularne, i jednak raczej zwyczajowo debuguje się we Flashu - w takim razie zostanę przy nim. 2 breakpointy muszą mi wystarczyć. Teraz szukam znaczeń magicznych słówek w przykładowych programach, np. U0FCR = 0x07; //enable & clear FIFOs Skąd u licha mam wiedzieć, że taki magiczny...
Nie widząc gdzie wpisać load posłużyłem się h-jtagiem. Właśnie-gdzie i jak wpisać ten load i czy z jakimiś parametrami? Zerknij do mojego tutoriala o ARM toolchain - na końcu jest o debuggowaniu i tam właśnie jest użyta ta komenda. Używasz jej tylko przy GDB (debugger). Można też wgrać bezpośrednio - odpalasz OpenOCD, odpalasz telnet i używasz komendy...
1. Już uwaliłem dwa ;p 2. Kierunek jest ustawiany samoczynnie. Ale ostatecznie może i racja. Linie adresu są jednokierunkowe i może i im trzeba ustawić kierunek. Ale wątpię bo w przykładowych kodach tak nie ma. Zresztą liniom CLK i tym pozostałym nie ustawiałem kierunku. Zresztą nie tylko line adresu nie działają. Coś w środku nie działa skoro procesor...
/* * grr.c * * Created on: 2009-08-24 * Author: kayou */ #include <avr/io.h> // dostêp do rejestrów #include <util/delay.h> // zawiera definicjê _delay_loop2 #define przerwa 5 int main(void) // program g³ówny { uint8_t pwm=180; // zmienna zawiaraj¹ca wartoœæ wype³nienia DDRD = 0x80;...
W sumie to przesadziłem z tym z tym czasem... to dlatego że usb blokuje mi wszystko.. Nie chcąc żeby przerwanie blokowało mi program zrobiłem coś innego. Wyłączyłem przerwanie od Endponitu read. USB_Recive_Bulk_Data() mam w głównym programie main. Program sprawdza czy są dane, jak są to czyta 64 bajty a następne w następnym skanie. Błędów nie ma. Chyba...
Chodziło ci o okienko debuger. Ustawiłem tam opcje. Wzorowałem się na twojej stronie C:\Program Files\yagarto\bin\arm-elf-gdb.exe Po uruchomieniu tego pliku nie ma opcji monitor. Dodano po 11 Freddie Chopin mógłbyś mi podesłać twoje zmienne środowiskowe, szczególnie Path może w nich mam coś nie tak.
W plikach tych dostępne są informacje w jakich sekcjach pamięci umieszczone zostały zmienne, funkcje, oraz zawarty jest zdeasemblowany program. W każdym razie jakieś wartościowe informacje zawierają. Ciekawi mnie jednak czy tylko mi nie działa edytor w Eclipse pod win XP czy ktoś jeszcze ma ten problem.
Do tego samego doszedłem z tymi optymalizacjami. Rzeczywiście hex który podesłałem był skompilowany z opcją optymalizacji Os, ale... kod z tych pierwszych plików działał na dowolnej optymalizacji a z tym drugi miałem te same problemy co ty. Program kompilowałem na tym twoim makefile jak i na generowanym przez Eclipse i na obu jest ten sam objaw, więc...
Na pisałem "na pewno" ponieważ dany kod wpisałem do praktycznie pustego programu i błąd się powtórzył, moja niewiedza, pośpieszyłem się z diagnozą, dzięki. Rozumiem, że program muszę zmniejszyć o 12 KB(kod)+5 kB(rodata)+ na inicjalizację sekcji data, rozumiem ,że użycie sprintf odpada, prosiłbym w takim razie o wskazówkę jak "wysłać" zmienną int, float...
Spróbowałem wysłać tym puthex'em zmienną. np volatile unsigned char test=62; Zauważ tylko, że problematyczna zmienna jest typu unsigned int, zastąpiłeś ją unsigned char, a funkcja przyjmuje (signed) int. Od warningów pewnie się aż roi... 4\/3!!
Możesz sprawdzić czy na pewno masz dodane zmienne środowiskowe, u mnie do całego tego zestawu to wygląda tak: D:\ARM\codesourcery\bin; D:\ARM\openocd\bin; D:\ARM\coreutils\bin;
tutaj też nie bardzo widać obsługę przerwań od uarta. To co podałeś to blokowania/odblokowania przerwań - rejestr cpu Program Status Register kopiowany jest zapewne do zmiennej cpu_t(celem modyfikacji bitów I F ), a wygląda on mniej więcej tak
Pokazujesz tylko malutkie fragmenty po których nie widać czy w ogóle włączasz przerwania ani jak inicjujesz zmienne flag: no i co z nimi robisz w pętli głównej. pokaż cały program o schemacie już tylko wspomnę.
Zwarcie Vcc do GND pomogło, ale dopiero takie dłuższe zwarcie ( 5 sek). Wyświetlacz ocnkął się, wyświetla dane, ale !!! ciekawostka, zegar stoi. Załaczam kod, taki wprost z Eclipsa, bez bibliotek. Jestem w trakcie przeróbki z innego projektu, proszę o wyrozumiałość. /* * main.c * * Created on: 2010-09-25 * * * PD7 - 1WIRE * PA0..PA7 - LD0..LD7 -...
W C domyślnie operacje i literały są traktowane tak jakby były typu int. Stąd też wynik operacji pm*25*57 jest obliczany na 16-bitach, domyślasz się więc, że liczby 503025 nie da się tak zapisać. Promocja do uint32_t następuje dopiero tuż przed operacją przypisania do zmiennej wynik, kiedy obliczona wartość już jest obcięta. Dodaj do jednego z literałów...
Witam. Mam takie problem. Chcę sobie poćwiczyć zrobienie tzw bramy świetlnej na mikro, z wykorzystaniem INT1 i INT0. Bramy są zewnętrznymi urządzeniami, na nózki Atmegi podaję tylko sygnały logicznej 1 lub 0. Mam taką sytuację: - przerywam bieg pierwszej bramy, zostaje zliczona osoba - jednoczesnie zostaje wylaczone przerwanie drugiego czujnika, na...
Powodem może być niepoprawna konfiguracja rejestrów sterownika. poza tym nie pokazałeś jak wygląda funkcja zapisu do ramu i ustawienia kursora. Ja używam takich funkcji: [syntax=c] typedef struct { vu16 REG; vu16 RAM; }LCD_TypeDef; #define LCD_BASE (0x6c000000) #define LCD (( LCD_TypeDef *) LCD_BASE) void LCD_WrReg(u8 reg, u16 data) { LCD->REG =...
1. Problem błahy lecz uciążliwy: Czy można do Toolbars dodać ikonę "Undo". W "Costomize Perspective>Tool Bar Visiblity" nie mogę tego znaleźć. 2. W Properities > C/C++ Build > Settings > Binary Parsers mam zaznaczone "GNU Elf Parsers" lecz nie potrafię zmienić "Binary Parsers Options". Mimo że podaję ścieżki do odpowiednich plików w katalogu \Sourcery...
Witam. Pracuje na obydwu programach bez konfliktu. Otwórz Mój komputer>Właściwości>Zaawansowane>Zmienn... środowiskowe>Path i dodaj ścieżke do WinAVR-bin, WinAVR- utils (czy AVRToolchain) na samym początku (po lewej stronie), tak by ścieżka była przed Borlandem. I chyba trzeba zresetować kompa aby się przyjęło.
Ok, więc sprawa wygląda tak: program wpada w przerwanie lecz urządzenie nie jest nadal rozpoznawane przez komputer. Wielkości stosów zostały ustawione na 4096. Podczas debugowania tego samego kodu przez keila i Eclipse znalazłem gdzie jest problem, wyglądał on dość łatwy, dopóki nie zacząłem go rozwiązywać, a dokładniej do teraz nie mogę go rozwiązać....
Witam wszystkich. W takcie kompilacji bibliotek uIP zabrakło mi miejsca w pamięci danych. Otóż sekcja zmiennych globalych .bss zajmuje około 19 kB, natomiast procesor posiada pamięć 32kB podzieloną na dwa zakresy po 16 kB: local sram oraz AHB sram toteż jest niemożliwe umieszenie całej zawartości .bss w jednym bloku ram. Orginalny skrypt linkera to:...
Podejrzyj czy czegoś ciekawego nie ma we flagach statusowych UARTu (w sensie jakiegoś błędu). Po włączeniu zegara dla USARTu w rejestrze SR zmieniają wartość na 1 bity TC i TXE. Następnie ustawiane są bity (zgodnie z programem) RE,TE i UE w rejestrze CR1. Powyższe zachowanie dotyczy obu USARTów (1 i 3). Nie potrafię natomiast wychwycić zmiany stanu...
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: Tworzę standardowy pusty projekt ARM z CodeSourcey (nie makefile jak u Freddiego) z możliwością wyboru wersji debug/release. Po zaimportowaniu...
Ok. Dodam, że w kodzie jest kilka zmiennych jak na razie nie używanych, gdyż uszczupliłem kod aby był przejrzysty i przedstawiał mój problem. Proszę się nie przerażać ilością plików - działam na Eclipse i AVRStudio aby wyeliminować błąd ze strony środowiska - każdy sobie trochę zapisał ;P Program przed wysłaniem testowany na fizycznym attiny2313, z...
płytka to EvB no mogę zmienić port pod który jest podłączony lcd ale to jakim cudem wcześniej działało. Biblioteki lcd z innymi programami działają. Np przykład inny w którym wszystko jest ok [syntax=c] uint8_t wyswietl (uint8_t zmienna) { lcd_cls(); lcd_locate(1,0); lcd_str("liczba"); lcd_locate(1,7); lcd_int(liczba); } [/syntax] zmieniłem port do...
Dopiero zaczynam pracę z ARM-ami i STM32, po zapoznaniu się ze środowiskiem Atolic, stwierdziłem, że warto stworzyć swoje środowisko przy pomocy programu Eclipse. Jak w temacie postanowiłem zebrać swoje doświadczenia i podzielić się nimi. Może komuś one pomogą. Bardziej polecam użyć dzięki wtyczce Radosława Kwietnia można dość szybko dojść do tego...
Popraw cytowanie (wybierz syntax=c ) kodu w jednym i drugim przykładzie - nie można za .... żadne skarby się rozczytać. A już kompletnie nie wiem co robią twoje przerwania: [syntax=c]ISR(TIMER2_COMP_vect)[/syntax] zmniejsza zmienne, zaś [syntax=c]ISR(TIMER0_OVF_vect)[/syntax] wpisuje w kółko do zmiennej wartość true, tylko po co? A gdzie multipleksowanie?
Witam Mam takie pytanie. Może banalne a jednak. Otóż mój program który piszę zaczął się dość mocno rozrastać i traci na przejrzystości gdyż szukając coś w listingu muszę przedzierać się przez gąszcze tekstu .Czy można w jakiś prosty sposób wydzielić części kodu do innych plików ? Nie chodzi mi o pisanie jakiś osobnych funkcji czy bibliotek ale o zwykłe...