Ok, chyba się pomyliłem z tym że nowszy kompilator będzie lepiej działa. Po prostu nie użyłem takich samych parametrów dla kompilatora i linkera jakie były w projekcie. Ściągnąłem sobie Eclipsa otwarłem projekt i przy takich samych parametrach również wyskakuje błąd, że za mało pamięci. Usunąłem "-lprintf_flt" i się zlinkował ale to nie tędy droga bo...
Przełączyłem w sdkconfig konsolę na USB. Wszystko w zasadzie działa. Wydaje mi się jednak, że wysłanie nowego komunikatu np. za pomocą printf przerywa wysyłanie poprzedniego. Czy jest jakiś mechanizm pozwalający poczekać na wysłanie wszystkich znaków z bufora ? Tak przy okazji... Programowanie przez USB działa w trybie "spi boot". Próbowałem użyć JTAG...
[syntax=c] # Hey Emacs, this is a -*- makefile -*- #---------------------------------------... # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan # Colin O'Flynn # Reiner...
Printf zajmuje z 15kB, więc używanie tego mija się z celem... Przekierowanie strumieni jest proste, printf dla każdego ciągu wywołuje funkcję _write_r, którą trzeba zdefiniować samemu. Wystarczy żeby funkcja ta pisała do wybranego interfejsu. Tutaj nawet jest przykład, tyle że zakomentowany http://yagarto.de/download/yagarto/sysca... 4\/3!!
zalezy jak on to wysyla, moze czeka potem na jakiegos read'a, na ktorego nie moze sie doczekac bo dane ida do nikad. zeby te funkcje printf dzialaly to musza byc jeszcze zaimplementowane inne pomniejsze funkcje typu write, read etc i to moze wlasnie z nimi jest problem.
Załączam plik Makefile z projektu ( WinArm) z którym się męczę LPCUSB. Sprawdziłem ze wystarczy gdy w # Tool flags zmienię CPFLAGS = -O ihex na CPFLAGS = -O bin oraz w $(EXAMPLES): w linii $(CP) $(CPFLAGS) $(at).elf $(at).hex zmienić hex na bin Dodano po 6 Z jakichś przyczyn nie podpięło załącznika. Wrzucę go w tekście - mam nadzieję że to zgodne z...
Chodzi ci o tą funkcję z CMSIS Dodano po 1 Nie o to ci chodziło :) Doczytałem i zrobiłem tak jak jest to opisane w readme.txt linaro opcje dla linkera LD_FLAGS += --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group usunąłem plik syscals.c i wszystko ładnie się skompilowało Odpaliłem OpenOCD z opcjami openocd -f scripts/board/stm32f4discovery.cfg...
To są moje pierwsze kroki z mikrokontrolerami. Uczę się i próbuję uruchomić już kolejny program ze strony: http://hobby.abxyz.bplaced.net/index.php... Przykład trzeci - termometr cyfrowy. Wszystko do tej pory uruchamiałem w Eclipse bez konieczności modyfikacji makefile. Działało. Teraz muszę wykonać polecenie: "Tak jak pisałem wcześniej, domyślnie...
w programie korzystam z funkcji printf która jest zdefiniowana w stdio.c w którym dalej jest wykorzystywana przytoczona funkcja fputc z pliku dbgu.c Wydaje mi się, że nie popełniam błędu a na dodatek pakiet pochodzi ze strony atmela jako paczka do procesora at91sam7 i program kompiluje się pod eclipse z openocd
Jeśli chcesz koniecznie korzystać z darmowych narzędzi, to polecam eclipse i gcc, najlepiej jak ściągniesz cały toolchain yagarto. Ale możesz bez problemu skorzystać z darmowych wersji komercyjnych narzędzi. Moimi faworytami są IAR oraz Crossworks. Niektóre wersje mają ograniczenie do ilości generowanego kodu, a inne mają ograniczenie czasowe, ale warto...
Wyjasnijcie to wyrownanie do 8(robie to na str912 ale to chyba zadna roznica jesli chodiz o ten blad to dotyczy on codesourcery a nie konkretnego proca) Moj skrypt linkera: /** * File: STR91x-ROM.ld * * Project: STR91x Eclipse demo * * Description: Linker script to load the application in flash. * * Created: 27/08/2008 * * <dl> * <dt>Author:</dt>...
Ok. Przeprowadziłem eksperyment. Jeżeli chodzi o Cortex M3 to dodałem plik z rozszerzeniem cpp i kompilacja przebiegła bez błędów. Tylko nie działa standard C++11 tylko jakiś starszy. Sprawdziłem to dodając słowo kluczowe auto, które podobno jest elementem języka od chwili pojawienia pojawienia się standardu C++11. Poniżej zdjęcie ilustrujące pewne...
Witam, Mam problem z debugowanie procesora LPC2478. Środowisko: postawione zgodnie z tutorialem ze strony Freddiego Chopinna czyli Eclipse (helios edition with HDT hardware debugging) + OpenOcd + Code Sourcery Lite edition Procesor: ARM NXP LPC2478 z kwarcem 12MHz Aplikacja: Na tym etapie mrugająca diodka na timeocie opartym o przerwanie timer0, PLL...
Szukałem na internecie poradników do terminala UART i udało mi się zrobić coś takiego z kawałków znalezionych w sieci. Problem polega na tym, że mój kompilator wyrzuca błędy a nie pokazuje mi gdzie one są (i tym samym nie mogę ich skompilować) i jeśli ktoś może sprawdzić poprawność kodu w 1. i 2. main.c(są to dwa odzielne programy w dwóch projektach...
(at)krzysztofh: Temat nie dotyczy konfiguracji Eclipse do współpracy z kompilatorem AVR, a autor postu nie ma problemu z uruchomieniem samego środowiska. (at)kokodyn: Czy wiesz, że przeważnie wszelkie strumienie we/wy są buforowane? Użyj: [syntax=c]printf(..); fflush(stdout);[/syntax] Jeśli uruchomisz program z poziomu Eclipse (CTRL + F11), to w pasku...
Nie łatwiejsze i optymalniejsze będzie użycie f_printf z FatFs'a? Wystarczy włączyć jego obsługę w configu(_FS_READONLY == 0 _USE_STRFUNC == 1). I odpalasz to tak: [syntax=c]f_printf(&plik,"%d\r\n", ADC1Val);[/syntax]W tym przerwaniu co podałeś to jakieś dziwne rzeczy robisz też :)
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 na terminal? A ja polecam bibliotekę [url=http://www.sparetimelabs.com/tinypr... printf, tylko 200 linii kodu w wersji podstawowej. Jest...
1. Jaką wersję Java Development Kit masz zainstalowaną? 2. Masz ustawioną zmienną JAVA_HOME w zmiennych systemowych?
bo użyłeś printf?
Ewentualnie wykorzystanie funkcji printf. (wygodniejsze, ale więcej kodu zajmuje).
Mi zadziałało coś takiego: http://obrazki.elektroda.pl/1811887400_1... [syntax=text]symbol-file Release-v1.2/aboard.elf monitor arm semihosting enable monitor reset halt[/syntax] a openocd uruchamiam tak: [syntax=text]bin\openocd-0.7.0 -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg -c "$_TARGETNAME configure -rtos FreeRTOS"[/syntax]...
Sprawdzałeś nowsze wydania Eclipse? Indigo to całe lata temu.
Jak na razie udało mi się przetestować Manual Launch (at) Ubuntu i działa. Jedynym zgrzytem jest konieczność doinstalowania paczek gdb-multiarch oraz gcc-arm-linux-gnueabihf bo ze zwykłym nie chce działać. Co zrobiłem na RPI: [syntax=c] pi(at)raspberrypi:~/test_rpi $ cat main.c #include <stdio.h> int main(int argc, char *argv[]) { printf("Test\n");...
Jeżeli używasz Eclipse http://mirekk36.blogspot.com/2013/04/ecl... w Atmel Studio będzie podobnie.
Pomijam fakt ze na stronce pisali ze demo powinno sie od strzala skompilowac bez jednego warninga ;) No ale ok, mam przykladowy plik syscalls.c do biblioteki newlib, teraz pytanie, moze banalne, jak dolaczyc ten plik do projektu ? Wydaje mi sie ze to jednak cos z ustawieniami eclipse/yagarto jest nie tak. Czemu tak mysle, nikt nie pisze nic ze trzeba...
Dziękuje za odpowiedz, przyczyny szukałem w kodzie a okazało się inaczej ;) Jakby ktoś miał jeszcze taki problem to polecam: [url=http://mirekk36.blogspot.de/2013/04...
Ah sorry nie zauważyłem że Ty masz AVR, zrób jak tutaj http://mirekk36.blogspot.com/2013/04/ecl... w avr studio będziesz mieć podobnie.
https://obrazki.elektroda.pl/3589381800_... Niedawno przedstawiłem wnętrze taniego smartbanda z interfejsem BT, kolorowym wyświetlaczem i kilkoma funkcjami typowymi dla tego segmentu https://www.elektroda.pl/rtvforum/topic3... Teraz opiszę jak zabrać się za programowanie tego układu. Opaską steruje SoC DA14585 firmy Dialog...
Kod jest najprostszy z możliwych chyba... [syntax=c][/syntax]#include <stdio.h> #include <tgmath.h> int main(void){ float as = 3.14; printf("cos (3,14) = %f", cos(as)); return 0; }[syntax=c][/syntax]
To chyba ten problem: https://stackoverflow.com/questions/1414... związany z okrojoną z liczb zmiennoprzecinkowych funkcji printf (i pochodnych). Rozwiązanie jest w oryginalnym pliku projektu (dla Eclipse), czyli dodatkowe parametry kompilacji i linkowania. Poprawiłem plik makefile. Powinno...
Zrobiłem wszystko zgodnie z instrukcją na stronie pana Mirka: http://mirekk36.blogspot.com/2013/04/ecl... Używam Eclipse Indigo SR2 z toolchain-em Atmela z Atmel Studio 6.2 i z WinAVR z 2010 roku. Niestety mam błąd podczas budowania programu (konsola): ... ./wiring_shift.o -lprintf_flt -lm avr-g++.exe: error:...
Mam problem z zapisem informacji do pliku txt, a dokładniej z funkcją "fopen", która przy wywołaniu zwraca error: main.c:(.text.startup.main+0xa4): undefined reference to `fopen' Poniżej zamieszczam kawałek kodu. char n[] = "6E436C703186B19CBC6BFD77DFD8FF3D85... char subn[40]; strncpy ( subn, n, 5); subn[5]...
Chodzi raczej o wersję biblioteki, czy jest to libprintf_flt czy libprintf_min. Różnią się one wielkością (i funkcjonalnością). Być może krótsza z nich jest dla twoich potrzeb wystarczająca (nie obsługuje tylko float). na dysku mam obie /usr/local/CrossPack-AVR-20130212/avr/li... /usr/local/CrossPack-AVR-20130212/avr/li...
Witam Próbuję teraz zaimplementować funkcję sprintf(..). Dołączyłem pliki nagłówkowe bibliotek stdio.h , errno.h oraz implementację funkcji : caddr_t _sbrk (int size) podaną przez Pana na forum. Program kompiluje się lecz niestety przy wywołaniu sprintf(..) jest wywoływane przerwanie z tablicy vectors.c: static void __Default_Handler(void) {...
Witam, Do programowania ARM'ów - w moim przypadku jest to AT91SAM7S256 - używam zestawu Eclipse, GNUARM, Cygwin, CDT. Wszystko jest zainstalowane zgodnie z instrukcjami J.Lynch'a (Using Open Source Tools for AT91SAM7S Cross Development rev.1) i działa poprawnie. Problemy zaczynają się jeśli chcę użyć dowolnej funkcji z biblioteki libc.a - np. atoi,...
Dodatkowo, przy wysyłaniu floatów, w printfie powinno być %f , a nie %d .
po prostu chce pisać w środowisku którego używają ludzie do zastosowań komercyjnych, po co mam pisać w eclipsie, skoro w crossworks są zupełnie inne biblioteki Wielu ludzi (choćby ja <: ) używa do zastosowań komercyjnych Eclipse'a... Czy w CrossWorks są jakieś "zupełnie inne biblioteki"? Wątpię - implementacja biblioteki standardowej jest inna,...
po wielu walkach doszedłem do wniosku że przerwania powodowane przez USB zawieszają uC (biblioteki LPCUSB dodane do przykaład lpc2103_blink_led). Mikrokontroler nie wchodzi nawet do procedury obsługi przerwania IRQ "USBIntHandler" Wiesza sie teraz gdzieś po "USBHwConnect(TRUE);" kiedy CONNECT = 0 i tymsamym aktywowany jest PullUp dla D+ i uC otrzymuje...
Poniżej moje problemy przy konfiguracji środowiska na podstawie pdf'a(nowszego) autora tematu. system: ubuntu x86_64 x86_64 x86_64 GNU/Linux eclipse: Version: 3.8.1 1. Po zaciągnięciu toolchina w wersji gcc-arm-none-eabi-4_6-2012q2 wypakowany i dodana ścieżka ....gcc-arm-none-eabi-4_6-2012q2/bin/ do PATH w pliku ~/.profile Wg opisu z freddiechopin.info...
Witam Swoją walkę opisywałem już w innym poście ale nieco sie namieszało i postanowiłem założyć nowy post. Nie mogę sobie dać rady z poprawnym skompilowaniem bibliotek USB - Virtual Com. Używam CodeSourcery+Eclipse opisanego tu: http://www.elektroda.pl/rtvforum/topic13... Moje próby wygladły tak Próba 1. LPCUSB - Do przykładowego projektu http://www.elektroda.pl/rtvforum/topic13...
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ć...
Obawiam się, że każdy tak robi jak napisałem. Zobacz jak zbudowana jest AVR-libc. Co do twojego przykładu z życia - biblioteka jest czymś już skompilowanym, w efekcie zmiana typu dodanie obsługi czegoś wymaga rekompilacji. Można sobie przygotować kilka bibliotek tak jak np. jest w przypadku libprintf_flt.a - inna wersja printf, z supportem dla typu...
Witajcie, Mam taki problem, w moim hobbystycznym projekcie, ze kilka razy program zaliczył hard fault sygnalizowany na razie tylko zaświeceniem leda. Całość to kontroler lotu quadrocoptera, na razie w locie takie coś się jeszcze nie zdarzyło, niemniej chciałbym tego uniknąć. Generalnie trudno jest z powtarzalnością błędu, dzisiaj kontroler był włączony...
Witam. Napisałem programik na procesor z tytułu, który mierzy długości impulsów na pinie, i wysyła wynik pomiaru na UART. Postanowiłem wykorzystać to do przechwycenia sygnału z pilota do tunera TV SAT (TechniSat, bo taki miałem pod ręką :) ), taktowanie: kwarc 4MHz, odbiornik typu TSOP, sygnał zanegowany przez 74LS00 i dostarczony na PD6, schemat pominę,...
Operator new używa malloc() i wyjątków, a obsługa tych dwóch wymaga dostarczenia funkcji zwanych "syscalls" - takich jak właśnie close, exit, sbrk, write, read, itd. Najlepszym rozwiązaniem jest zastąpienie domyślnego operatora new swoim własnym (takim który wywołuje tylko malloc() ). Wielu "problemów" unikniesz dodając gdzieś w kodzie coś takiego:...
Nie definiuj F_CPU w kodzie programu z tych powodów: http://mikrokontrolery.blogspot.com/2011... Zastanów się, co robi ta linijka: Gdybyś używał oryginalnego Atmel Studio, to za pomocą symulatora już dawno doszedłbyś do błędów które robisz. A tak korzystając z Eclipse tracisz czas. http://mikrokontrolery.blogspot.com/2011...
https://obrazki.elektroda.pl/8064219100_... Witajcie, dzisiaj przedstawię jak okiełznać kolejny chiński mikrokontroler WiFi+Bluetooth, a dokładniej W800-C400 od WinnerMicro. Na ten moment można go kupić za około 10 zł, z kolei płytkę startową z nim już za 25 zł i obie te ceny uwzględniają już przesyłkę. Oczywiście nie będę tu korzystać...
klon na FT2232 też coś kosztuje, wersja deluxe od freddiego kosztowała coś w okolicy 100zł + własna robocizna Fakt, że to dobry programator, wszechstronny dość powszechnie obsługiwany, ale w porównaniu z J-linkiem jest wolny. Nie to, że spowalnia jakoś przeraźliwie pracę, ale czasem debugowanie krok po kroku staje się po prostu upierdliwe. Owszem są...
Juz sie poprawiam :) [syntax=bash] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O3 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -Wall -Wextra -g3 -DDEBUG -DUSE_FULL_ASSERT -DSTM32F446xx -DHSE_VALUE=16000000 -I"../include" -I"../system/include" -I"../system/include/cmsis"...
Używamy w firmie j-taga z procesorami MZ ( Pic32mz) 1.Sprawdź czy w ustawieniach od komunikacji w mplab x, nie masz ustawionego interjejsu 2 przewodowego (jest to ustawienie domyślne) 2.użyj Gdb serwera (segera) celem sprawdzenia komunikacji 3. Skasuj procesor interesem fabrycznym microchip via ICD Moje doswiadczeńia są fatalne niestety : 1) zdarza...
printf winavr printf double printf write
split podłączyć czujnik klimatyzacja punto panel elastyczny
telewizor 32lb550b 17ips62 schemat
Nietypowa kontrolka Peugeot 607 – FAP, hydropneumatyka, AL4, ESP, interpretacja symboli Odpowietrzanie układów Renault, Alpine, E-Tech – chłodzenie, hamulce, paliwo, wspomaganie