Żeby widzieć zmienne lokalne trzeba być po pierwsze w danej funkcji, a pozatym dobrze ustawić optymalizację na 0 i wyłączyć usuwanie niepotrzebnego kodu i zmiennych. 4\/3!!
Czy wystarczy utworzyć sekcję w taki sposób, powtarzając ten wpis dla każdej sekcji, czyli d1sramdata, d2sramdata, d3sramdata? Nie. Albo inaczej. Sekcje zostaną utworzone i jeśli przypiszesz do nich jakieś zmienne, to one tam wylądują, ale aby dane zostały zainicjalizowane domyślnymi wartościami (a'la sekcja .data) lub wyzerowane (a'la sekcja .bss),...
Freddie masz na myśli to, że w np w pliku zmienne.c mam te same zmienne co w pliku z funkcją main() ale poprzedzone "extern" i to dodaję na początku każdego pliku projektu innego niż ten zawierajacy main() jako include ? czyli np . zmienną int a=0, będąca w pliku z funkcją main , przepisuję do pliku który nazwę np zmienne.c ale zadelkaruję ją jako extern...
Oczywiście nie przeczytałeś całości komuniaktu ?
Zmienna time definiowana bez podania wartości faktycznie ustawiana jest na zero. Sprawdź sobie ten kod [syntax=c]#include <stdio.h> int time; int main(void){ printf("time=%d ", time); return 0; }[/syntax] tutaj: http://mikrokontrolery.blogspot.com/2011... i przeczytaj artykuł - tam o tym pisze. Nie działa? A jak ma działać...
Nie ma jakiegoś sposobu na sprawdzenie co go kieruje na default handler? Pewnie że jest i to nie jeden (; Dorzuć do swojego projektu gdzieś coś takiego: w okolicy miejsca które spowodowało problem. Patrzysz wtedy do pliku .lss i patrzysz co znajduje się w zakresie +/- 3 instrukcje od tego miejsca. 4\/3!!
powinny byc w libgcc . A najprościej to napisz pare działań i będziesz wiedział :)
witam, potrzebuję zrobić kilka wstawek asmemblerowych do programu napisanego w C. Kompilator to CodeWarrior oparty o eclipse. Mam problem z przeniesieniem zmiennej z języka C do asm i odwrotnie. Od dłuższego czasu szukam rozwiązania w sieci, ale nic sie nie kompiluje... mam takie coś: i = 67; __asm(" mov r0, i "); Co robię źle, co...
Jest błąd w kodzie biblioteki obsługi wyświetlacza. Licznik o szerokości 16-bitów jest zbyt krótki, aby przesłać strumieniowo cały ekran 320x240 pikseli (76800 pikseli). Należy użyć licznika 32-bitowego: [syntax=c]void lcd_zapelnij_prostokat(uint16_t x, uint16_t y, uint16_t x1, uint16_t y1, uint16_t kolor) { lcd_ustaw_obszar(x,y,x+x1-1,y+y1-1); uint32_t...
Dodałem linię w makefile i zrobiłem printscreen z konsoli Jak widzę ten printscreeny które ludzie z takim zapamiętaniem wrzucają, to po prostu ręce mi opadają... Nie zauważyłeś, że linia o którą się rozchodzi jest dużo dłuższa niż szerokość ekranu i dalej nic nie widać? Nie można po prostu wziąć i skopiować tekstu, żeby nie trzeba się było bawić w...
Tworzysz sekcję, sekcje umieszczasz w odpowiedniej pamięci, a zmienne w tejże sekcji. 4\/3!!
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 ?
Udało mi się zmienić to w eclipse. Wystarczyło trochę pokombinować. W załączniku dodaje instrukcje, gdyby w przyszłości ktoś miał podobny problem. http://obrazki.elektroda.pl/9601863800_1... Ale nadal po wyeksportowaniu wygląda to tak samo :/
passing argument 1 of '__eewr_float_m8' makes pointer from integer without a cast Pierwszy parametr powinien być wskaźnikiem do zmiennej (możesz podać &uiAddress).
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...
Mam następujący problem dotyczący środowiska Eclipse w trybie debugowania. Podaję przykładowy kod programu: ULONG USDMA_IsWriteCompleted( AT91S_PDC *pdc ) { WORD tcr; tcr = pdc->PDC_TCR; if( tcr == 0 ) // breakpoint return( 1 ); else return( 0 ); } Problem dotyczy okienka podglądu wartości zmiennych "(x)...
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...
IMHO nawet jeśli skompilujesz je do statycznych bibliotek to i tak nic z tego nie wyjdzie... Najprostsze rozwiązanie które widzę to przerobienie całego Twojego projektu na C++ (w sensie kompilacja jako pliki z rozszerzeniem .cpp) i dodanie do bibliotek namespace'ów. Oczywiście to też może być problematyczne, bo kompilator c++ jest dużo bardziej czepialski...
Nie trzeba nic dodawać do zmiennej systemowej PATH. Zresztą, wklejony komunikat sugeruje brak funkcji main, więc pewnie plik nie został zapisany przez zbudowaniem. Jeśli świeżo zainstalowałeś Eclipse, to przed kompilacją należy zapisać plik. A jeszcze lepiej w opcjach Eclipse ustawić opcję "save before build".
Absolutnie nie, koledzy już podali dwa dobre powody do tego, chociaż w dobie dzisiejszych IDE zmiana nazwy zmiennej w aplikacji (nawet dużej) nie jest problemem, w Visual Studio czy Eclipse robimy to za pomocą zaznaczenia zmiennej i wybrania Refactor -> Rename. Ja podam kolejny powód do unikania notacji węgierskiej, jakim jest czytelność kodu. Stosuj...
Stos nie jest wcale w zewnętrznej pamięci, tak samo jak zmienne które nie mają atrybutów... Na przykład adres zmiennej adc_data (bez atrubutu) 0x40000000 adc_data (z pliku .map). Ja bym na twoim miejscu uporządkował kod teraz, bo powoli w nim giniesz. 4\/3!!
Witam nie mam F_CPU oryginalnie , i podmieniałem na sztywno na wartość kwarcu w Hz , gdyż myślałem że może eclipse nie zapisuje do zmiennej wartości kwarcu. Ale czy na sztywno czy poprzez F_CPU terminal działa tak samo. Nie zgadzają mi się znaki :/
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...
Polecam przesiąść się na jakieś porządne IDE, np. Eclipse ;)
napisalem, ze podglad jest prosty, a nie ze jest wygodny... nikt nie zna na pamiec 500 adresow rejestrow sterujacych... dalej - w eclipse mozna sledzic zmienne, ale tylko i wylacznie to, co w programie jest zmienna - nie mozna zmienic adresu tego podgladu, nie mozna go modyfikowac, nie mozna z nim nic zrobic - po prostu jest podglad zmiennych i nic...
Ja mam w Eclipsie ustawione: ${Workspace}\\${project_name} i działa trza zaznaczyć tylko w Project Explorer projekt dla którego to ma się wykonać.
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...
"W" tym pliku są tylko informacje gdzie szukać, a nie zdezassemblowany program (.lst lub .lss), czy rozpiska zmiennych (.dmp lub .map). Zawartość tego pliku pod dowolnym edytorem to śmietnik, jest on "zrozumiały" tylko dla debuggera. 4\/3!!
Oraz dodawałem ścieżki do PATHA No a powyżej napisałem chyba, że jest to zupełnie zbędne, zakładając że mówisz o takiej zmiennej _w_ Eclipse, a nie w systemie... 4\/3!!
Bity na pewno się zmieniają, tyle że zanim debugger zdąży zatrzymać układ, to one się już zmieniają ponownie - tym się raczej nie przejmuj... Jeśli chcesz mieć pewność, że flagi na pewno się zmieniają, to możesz do pętli oczekującej na jej zmianę wstawić inkrementację zmiennej volatile i tym sposobem porównasz sobie, czy w przypadku obydwóch USARTów...
Ehh... Nie prościej byłoby ZNALEŹĆ definicję tego symbolu zamiast pisać posta na forum? W Eclipse wystarczy wcisnąć CTRL i kliknąć w nazwę... A uint16_t jest częścią standardowego nagłówka stdint.h , którego częścią nie jest u16 - jednym się to podoba, innym nie. Równie dobrze można się kłócić o to, że w C float nie nazywa się na przykład flt, bo byłoby...
W zadaniu należy napisać klasę pochodną od BufferedReader No to chyba raczej tak: Implicit super constructor BufferedReader() is undefined for default constructor. Must define an explicit constructor --- 2 quick fixes available: () Add constructor 'Zmienne(Reader)' () Add constructor 'Zmienne(Reader,int)' Używasz super by wprowadzić wartość do konstruktora...
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)));
Witam, Potrzebuję zatrzymać program w chwili, kiedy zmieni się wartość zmiennej. Czy jest to możliwe w przypadku OpenOCD+Eclipse+CS?
Można napisać program, który nie ma żadnego sensu i Eclipse nic nie zgłosi, on nie ocenia poprawności algorytmu tylko czy składnia jest OK, nawiasy, średniki, itp. Na pewno uruchamiając program w main() powinieneś odczytywać zmienną zapisaną kiedyś tam, a po użyciu jakiegoś przycisku zapisywać nową wartość. Raczej nie widać tu użycia write, a read w...
Metoda toString() jest wywoływana zawsze niejawnie przez println() lub wszędzie tam, gdzie programista potrzebuje reprezentacji tekstowej. Jest to jedna z zestawu umownych metod do realizacji podstawowywch operacji na obiektach. Jeśli jej nie zdefiniujesz, to domyślne implementacje są brane z klas nadrzędnych aż do java.lang.Object. Wykorzystuje ją...
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)....
A tą zmienną "data" masz gdzieś zainicjalizowaną? 4\/3!!
Może warto w końcu zacząć korzystać z jakiegoś środowiska do pisania i kompilowania programów np: AVR Studio albo Eclipse zamiast PN? Ścieżki są w zmiennych środowiskowych (jeśli mówimy o Windows).
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.
Witam, próbuje debuggować projekt z procesorem na rdzeniu Cortex-M3 (STM32F107) środowisku Eclipse (GALILEO) /OpenOCD (0.3.1) i nie bardzo mi to wychodzi (może ktoś z Kolegów ma jakieś doświadczenia). 1) W Eclipse dla zmiennej globalnej ustawiam watchpoint: Run->Toggle->Watchpoint, zaznaczam pole „Write” w okienku [Add Watchpoint]...
Po pierwsze F_CPU powinno być w ustawieniach projektu (zakładam, że używasz AVR Studio lub Eclipse). Po drugie nie używa się zmiennych jako parametr _delay_ms(), to działa jedynie ze stałymi, bo to nie jest "normalna" funkcja. Do odmierzania czasu najlepiej używać timerów.
Zawsze pierwszym etapem dociekań powinno być zmniejszenie ilości zmiennych. Zignoruj więc Eclipse, GDB itd, spróbuj po prostu połączyć się z układem za pomocą OpenOCD oraz telnetu, spróbuj go zaprogramować tym sposobem i zobacz czy to działa. Jeśli tak - idź dalej, jeśli nie - coś jest z układem. Czasem pomaga "zdjęcie" zabezpieczeń pamięci przy użyciu...
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 *...
(at)tmf Jakiego symulatora używasz do AVR? Piszę pod Eclipse i czasem brakuje sprawdzenia kodu "na sucho".
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)...
J.. bo gdy odinstalowałem WinAVR i resztę to Eclipse kompletnie zgłupiało Problem związany jest z niewłaściwe ustawionymi zmiennymi środowiskowymi (path), które można sprawdzić w PanelSterowania->System->Zaawansowane :wink:.
Już sobie poradziłem - przeszedłem na Eclipse (który znam dość dobrze z projektowania php). Zainstalowałem odpowiedni plugin według: http://www.instructables.com/id/How-to-g... Przy okazji - w AVR Studio nie znalazłem funkcji pozwalającej na szybkie przeskakiwanie do definicji danej funkcji, stałej, zmiennej itp. W Eclipse...
Dziękuję za wszelką pomoc - działa :) Tylko nie udało mi się wyłączyć raportowania błędów w Eclipse. Co powinienem wpisać w value?
Możesz sobie postawić watchpointa na zapis do tej zmiennej, to zobaczysz kiedy zmienia się jej zawartość. 4\/3!!
Wybrałeś stary uC, archaiczne i martwe środowisko, a do tego chcesz pisać jak na AVR. To jest trochę inaczej. Jeżeli chcesz mieć zewnętrzny kwarc, to podłączasz go to wyprowadzeń HSE, włączasz generator, czekasz aż będzie gotowy i przełączasz taktowanie. Standardem w wielu aplikacjach i płytach rozwojowych jest 8 MHz, czasami 25 MHz. 12 MHz jeszcze...
Tak BTW to ten temat jest przykładem doskonałej straty czasu jaka powodowana jest przez to, że o każdą informację trzeba dopytywać - komunikat błędu WRAZ z problematycznym kodem powinieneś wrzucić w pierwszym poście wraz ze wszystkimi potrzebnymi informacjami... 15 postów tylko po to, żeby znaleźć najbanalniejszy błąd świata czyli niezadeklarowaną zmienną......
Pewnie kłopotem jest to, że zmieniają się zależności czasowe. Ale trudno to stwierdzić po Twoim kodzie jeśli pół bitu startu to 780us, a 3/4 to 2225us ;-) Poza tym co robi instrukcja (jak zmiena zawartość zmiennej): odebrana_dana |=(0<<(i-1)); Albert
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...
Męczę to w dalszym ciągu i nie mam pomysłu na poprawne wykonanie tego. Myślę że zrobienie tego w pętli tak jak wyżej i wpisywanie do tablicy to byłoby dobre tylko jak później zapisać tablice 3 pozycyjną do jednej zmiennej i wyświetlić to za pomocą bufora?
To, że tej pętli po optymalizacji nie ma. Zmienną "i" zadeklaruj jako: volatile int i = 0 ;
To jakby optymalnie to rozwiązać? Po prostu trzymać w globalnej zmiennej najnowszą wartość odczytu i tyle. Żadna synchronizacja nie jest Ci tu potrzebna. Przy odbiorze i połączeniu bezpośrednio czujnika z komputerem (za pomocą konwertera UART) dostaję dane co chwilę. Dostajesz je co chwile, a w swoim tasku odbierasz je tylko co 5 sekund (zakładam że...
Można sprawdzić tylko ile miejsca zajmują zmienne globalne i statyczne. P.S. Kiedy w końcu ktoś zauważy, że EDYTOR (Eclipse) nie ma nic wspólnego z kompilatorem (GCC)? Eclipse to tylko taki bardziej rozbudowany edytor tekstu... Tak samo nic z tą kwestią nie ma wspólnego OpenOCD. 4\/3!!
mam wersję 6 update 25 nazwa zmiennej: JAVA_HOME wartość zmiennej: C:\Program FIles\Java\jdk1.6.0_25
Poza stosem w SRAMie masz jeszcze przynajmniej: - stertę - dynamiczna alokacja (malloc, new) - sekcję data - wszelkie globalne i statyczne zmienne inicjowane jakąś wartością - sekcję bss - jw. ale zerowane przy starcie programu poza tym możesz sobie tworzyć własne sekcje, latać wskaźnikiem po pamięci i cokolwiek Ci przyjdzie do głowy. Alokowanie dużej...
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 ()...
Jeżeli wywołujesz polecenie odnoszace sie do make.exe z edytora Eclipse, to musisz sie spodziewać że ten pliczek szukany jest we wszystkich podkatalogach zdefiniowanych w zmiennych środowiskowych. Ja miałem podobny problem, musiałem tylko usunąć make.exe z tych katalogów, z których korzysta całe środowisko eclipse(), a pozostawić tylko jeden make.exe...
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...
Atollic Lite faktycznie ma troche wad np nie mozna pisac w C++, podgladu rejestrow nie ma ale zawsze mozna to ominac w taki sposob ze sobie dane z rejestru do zmiennej przypisujesz i w zakladce veriables masz to do podgladu, a reklamy wcale nie wyskakuja czesto, mi sie zdarza raz na 1h moze nawet rzadziej, CooCox faktycznie chyba lepsza opcja, najlepsza...
Nie wiem jak dokładnie jest w WinAMR ale musisz pewnie jeszcze zmienić skrypt linkera. Znajdź coś z .cmd Tam ustawiasz gdzie ma być program, zmienne itp. i trzeba wpisać że w ramie. Tak jest w Eclipse i działa
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
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...
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?
Kto posiada coś takiego? Jestem świeży w temacie ARM, zainstalowałem YAGARTO+Eclipse, skompilowałem przykładowy program pod at91sam7S64, i się skompilował, czyli zmienne środowiskowe itd. ustawione poprawnie. Tyle że mam problem z MAKEFILE pod at91SAM9260, z ATMEL'owskiego pdf'a zrobiłem przykładowy makefile tak jak było w opisie, jednak wywala jakies...
Instalując dodatek do eclipsa jak GNU ARM na siłę się instaluje kompilator do RISC-V. Z jakiegoś powodu twórcy tej wtyczki nie rozdzielili tego To nieprawda. Toolchain instaluje się oddzielnie. Nb. widzę, że w tej chwili jest dostępny Eclipse Embedded CDT, już z pluginem (ale toolchain (i kilka innych narzędzi) dalej trzeba doinstalować).
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...
Pisząc pierwszego posta specjalnie instalowałem czystego Eclipsa, żeby to sprawdzić. Po założeniu pierwszego lepszego projektu C/C++ w opcjach projektu, nawet gdy nie ma z poziomu Eclipse widoczności np. żadnego toolchaina, już są dostępne odpowiednie zakładki dot. bibliotek, ścieżek czy też, opcji kompilatora, linkera itp. Nie ma potrzeby instalowania...
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ą...
Witam, No trochę jaśniej jest. Ram który przeznaczyłeś na stos jest prawie całym obszarem RAMU mikrokontrolera. 0x1FE4 - wielkość twojego stosu (obliczone wierzchołek stosu(0x1FF0) - początek sterty(0xc). Stosu Ci zapewne nie zabraknie. np. wywołujesz w mainie moja_funkcja(int param1, int param2, char tab[20]) to musisz przy wywoływaniu z przekazaniem...
IDE to środowisko, edytor np. :AVR Studio, Eclipse czy inne. Czy ta zmienna była wcześniej zadeklarowana jako "double"? Sprawdź właściwe użycie tej zmiennej. A może kompilator protestuje, bo przekroczona jest pojemność pamięci procka, może operujesz na pamięci już nie dostępnej?
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...
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".
magistrale i2c są dostępne jako urządzenia blokowe w /dev/i2c-* Tak z ciekawości, pod Windows też jest to możliwe? W z tego co wiem to nie ma urządzeń blokowych do których można by pisać, zapewne musiał byś przez API biblioteki system to robić: Dodano po 5 Kod bez żadnych przeróbek od autora ... No ok, a czy ten Eclipse ustawia ci poprawnie zmienną...
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;
Bardzo fajne rozwiązanie z tym zatrzaskiem. Już widzę, że to będzie działało. Nie przeszkadza mi na obecną chwilę konieczność wielokrotnego naciskania klawisza, by inkrementować zmienną. Bardzo dziękuję za podpowiedź. Spróbuję teraz zainstalować eclipse, a Twój przykład wypróbuję w bascom :-) Dodano po 3 Mam ściągnąć eclipse IDE for c/c++ developers,...
Zależy od programu jakiego używasz, większość programów do tych procesorów (Eclipse, Atollic) ma specjalne zakładki podczas debugowania, w których widać wartości poszczególnych rejestrów a często i zmiennych znajdujących się w aktualnym fragmencie kodu.
Witam. Jeśli już to musisz użyć takiej konstrukcji: [syntax=c]//_delay_ms((PIND & _BV(0))? 1000: 200); (PIND & _BV(0))? _delay_ms(1000): _delay_ms(200);[/syntax] AVR GCC nie dopuszcza zmiennych w _delay_ms i _us.
Oryginalne włączenie jest poprawne, ze względu na obecność parametru -I./inc w linii poleceń arm-elf-gcc (patrz pierwszy post w wątku). Dobrze dowiedzieć się czegoś nowego Nie sprostuję tylko dlatego, że i Freddie i paru innych mądrych gości miałoby więcej roboty z pytaniami początkujących. ;-) No to może choć na priv'a - dla własnej ciekawości? <:...
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...
Akurat zamiana stałych na define to strzał w stopę, a może nawet w kolano Można prosić o wyjaśnienie? Zawsze się człowiek czegoś nauczy przy okazji. :) No to znajdź sposób aby kompilator miał parametr -Os, co włączy optymalizację. Jeśli kompilujesz z -O0, to masz kod tak 7x większy niż normalnie. BTW, nie możesz używać normalnego IDE, np. AS, czy chociażby...
Hmm, czy nie jest bardzo wolny to bym dyskutował :) ale z pewnością to niezły kombajn. Jeśli chodzi o tą opcję "go to definition" to umieszcza ona kursor na definicji zmiennej globalnej po zaznaczeniu jej w kodzie, i to chyba tylko w obrębie jednego pliku źródłowego.
Co do stosów, to proponuję wpisywanie wartości podzielnych przez 8. Jeśli nie korzystasz z przerwań i innych dziwnych trybów, to rozmiar pozostałych stosów może być równy zero. W jaki sposób stwierdzasz, że wynik jest zero? Bibliotek nie trzeba dołączać ręcznie, kompilator sam sobie z tym radzi. Jak chcesz go wspomóc koniecznie, to do zmiennej LIBS...
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.
U mnie na STM32F4 i "GDB Hardware Debuging" mam komunikat z OpenOCD "No FreeRtos synbol found" wszystko działa normalnie bez żadnej dodatkowej funkcjonalności rtos. Zylin jest bardziej gadatliwy: Warn : RTOS FreeRTOS not detected. (GDB could not find symbol 'uxTopUsedPriority '), takiej zmiennej w projekcie nie mam mam za to 'uxTopReadyPriority'. Error:...
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...
Nie da się wrzucić tego samego programu raz do flasha raz do RAMu - on musi być do tych dwóch przypadków zupełnie inaczej skompilowany. Zacznij po prostu "od zera" - od bardzo prostego programiku który by nie robił nic (np. w main w kółko powiększaj jakąś zmienną volatile) - ustaw sobie sesję debuggowania w Eclipse/GDB, wrzuć go przez OpenOCD, przeklikaj...
kompilator to arm-none-eabi-gcc Są setki wersji takiego kompilatora. P.S. to dlaczego ta deklaracja niby zadziałała? To że nie pokazuje się błąd linkowania nie oznacza że problem jest rozwiązany. No bo nic nie stoi na przeszkodzie, żeby "wywołać" zmienną, czego efekt oczywiście będzie tragiczny. 4\/3!!
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ć?...
Spróbuj przenieść ścieżki do kompilatora i do Coreutils na początek zmiennej PATH - może coś pomoże... Takich kosmosów jeszcze nie widziałem /; Spróbuj może np spoza Eclipse - z linii komend ręcznie przetestować czy te narzędzia działają (make --version, arm-none-eabi-gcc --version, ..., make clean, make all). 4\/3!!
Dla GnuArm brakowało pliku cygwin1.dll. nie znajdował punktu wejścia do procedury, troche dziwne bo w zmiennej Path była sciezka do \cygwin, wiadomo linux na windowsie. Czyli error 57 zniknął , za to pojawił sie Error 1 w tej samej linii. -- Środowisko Eclipse z podanej stronki Yogarto też nie działa, pisze że nie nie moze znależc lauchera , jakoś tak....
STM Studio - to to coś do podglądania i wizualizacji zmiennych? Zastanawiam się dlaczego nie debugujesz i programujesz używając openocd i gdb szczególnie że piszesz pod Eclipse gdzie możesz sobie łatwo to zintegrować. Dlaczego nie daje się programować - wiele możliwości np. Wykorzystujesz do czegoś któryś pin SWD.
Cześć Miałem projekt w Atolicu dla STM32F103, przeniosłem go do Eclispsa+CodeSourcery program magicznie przestał się mieścić w mikrokontrolerze. Optymalizacje mam włączoną na najmniejszy rozmiar. Czy coś mam jeszcze nie włączone? Jakieś ustawienia w Eclipse? Generalnie to jest bootloader do mikrokontrolera. Przewidziane było dla niego do 20kB. Pozdrawiam,...
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,...
Chaos. Zupełnie nie rozumiem co chcesz. #define nie jest (choć wiem że głupie przykłady małpio kopiowane to preferują) najlepszych środkiem definiowania stałych czy zmiennych A już #define w #define to nie może sie dobrze skończyc Gdzie ten rzekomo dojrzały webserwer, skoro nadal patrzysz strasznie niskopoziomowo i z dumą stukasz kod, jakby go nie było?...
W schemacie wszystkie GND do masy, i AVCC do 5v, na reset przez rezystor 10k do 5v w programie dałem wszystkie tablice typu volatile uint8_t jak i zmienne zegar i sekwencja + inne zmienne do innego przerwania Dodano po 16 uzywam kompilatora eclipse Dodano po 4 A układ UDN wg. noty bierze 450μA przy napięciu Vin = 3,85V
zmienne obciążenie przełączniki zmienne zmienne kodowanie
arduino początkujący gniazdka angielskie region blokada
pralka indesit cieknie pralka indesit cieknie
Zamienniki tranzystora BT40T60: IHW40T60, STGW40V60F i inne Podłączenie czasówki ZG200 - instrukcje i porady