Witam, Czy wie ktoś jak w WinARM włączyć obsługę i ustawić rozmiar zewnętrznej pamięci RAM ? Nie chodzi mi o konfigurację rejestrów, tylko ustawienie środowiska tak aby "widziało" więcej RAMu ogólnego przeznaczenia. Pozdrawiam Zmodyfikuj skrypt linkera, wskaż linkerowi nowy obszar pamięci i przypisz odpowiednio sekcje
Trzeba stworzyć w skrypcie linkera sekcję pod konkretnym adresem i w tej sekcji umieścić tablicę. 4\/3!!
Witam. Wczoraj po wymianie routera w domu z xrt-401B na nowy postanowiłem coś ze starym zrobić. Udało mi się zlokalizować port do debugowania, po podłączeniu pod komputer dostałem coś takiego: Got the MXI2 Flash ROM ADM5106 Boot: Procesorem jest więc # Główne opcje kompilacji MF = xrouter OBJECTS = CFLAGS=-mcpu=arm7tdmi -Os AFLAGS= LDFLAGS= -Wl,-Ttext,0x0080...
Sugerowałbym, że linker wybiera złą wersję libc (tzn. skompilowaną z innymi opcjami) U mnie z tymi opcjami działa, ale mam samodzielnie kompilowane środowisko. Sprawdź ile masz plików z nazwą libc, i który linker wybiera. Albert
Jak używałeś pierwszej wersji, do kodu wykonywalnego nie były dołączne biblioteki standardowe. W drugiej wersji są. Jakaś część tego kodu umieszczona jest w sekcji .init . Jak różne sekcje kodu umieścić w pamięci procesora mówi linkerowi jego skrypt. W Twoim wypadku LCD_nokia_olimex.cmd. W nim należy dodać w sekcji SECTIONS analogicznie do wpisów już...
Opis działania linkera znajdziesz w dokumentacji dołączonej do kompilatora - zwykle plik typu ld.pdf. Dla CodeSourcery - C:\Program Files\CodeSourcery\Sourcery G++ Lite\share\doc\arm-arm-none-eabi\pdf\ Co do plików gdb - są to wywołania dla debuggera gdb w eclipse. Ogólnie wystarczy skopiować ich zawartość do odpowiednich pól - opisy są na stronce yagarto....
Przy kompilacji projektu pojawia się błąd: Linking: main.elf arm-elf-gcc -mcpu=arm7tdmi -I. -gdwarf-2 -DROM_RUN -Os -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=crt0.lst -MD -MP -MF .dep/main.elf.d crt0.o rtcirq.o armVIC.o main.o --output main.elf -nostartfiles -Wl,-Map=main.map,--cref...
__attribute__ ((section("jakas-sekcja"))) + dodanie tej sekcji do skryptu linkera + modyfikacja startupa aby inicjalizował też te obszary P.S. WinARM? Przecież ten pakiet ma jakieś 300 lat... 4\/3!!
Jeśli ktoś używa środowiska WinArm i procesora LPC2294 (ja mam płytę startową z firmy Olimex LPC-e2294) i umie skompilować program tak aby załadować go do flasha to proszę o pomoc jak ten krypt ma wyglądać. Obecnie uruchamiam programy w RAM-ie przez JTAG.
1. WinARM to staroć nierozwijany od lat - użyj CodeSourcery. 2. Twój pierwszy problem wynika z tego, że odpowiednie definicje początku/końca różnych sekcji nie są obecne/nazywają się inaczej w skrypcie linkera. 3. Do J-Linka instalujesz inne sterowniki (libusb-win32) i podłączasz normalnie do kompa, uruchamiając normalnie OpenOCD - nie ma tu żadnych...
Freddie Chopin Ci po prostu delikatnie sugeruje być przesiadł się z przestarzałego WinARM na kombo gcc(code sourcery) + eclipse + openocd. A przykłady Freddiego (szczególnie ten dla LPC21xx) łatwo przerobić na AT91SAM7xxx (chodzi o makefile, i skrypty linkera) bo to ten sam rdzeń.
Zbyt dużo Ci nie pomogę chyba - niestety składnia poleceń kompilacji której oczekuje Twoja wersja kompilatora jest zupełnie inna niż moja, dlatego też nie mogę skompilować Twojego przykładu u mnie. Po podstawieniu mojego Makefile'a do Twojego projektu wszystko kompiluje się bez większych problemów (konieczne są drobne zmiany w skrypcie linkera - ustawienie...
Korzystasz w ogóle z przerwań? Bo jeśli tak, to musisz raczej dla przerwań zadeklarować jakiś rozmiar stosu w skrypcie linkera. Jeśli nie, to możesz olać poprawki tablicy wektorów. Zasadniczo do projektu musisz dodać jeszcze startup (startup.S + jeden wymagany nagłówek hdr_cpsr.h) i tablicę wektorów (vectors.S), zastępując nimi Twój startup. Swoją drogą,...
w końcu WinARM obłsuży SAM9 czy nie .... już teraz trochę zgłupiałem.... Obsłuży, z nieskończoną ilością bugów, które przez te 3 lata zostały wyeliminowane z gcc, których już nie ma w CS. Zrozum, że zmiana WinARM na CS to zasadniczo zmiana nazwy kompilatora i kilku innych programów (linker, assembler itp.) w Makefile. Nic nie musisz zmieniać w środowisku,...
Linker nie może się czegoś doszukać, pewnie brak jakiegoś pliku bibliotecznego. Mogę powiedzieć Ci tylko tyle, że u mnie sprintf kompiluje się bez problemu na WinARM, specjalnie sprawdziłem. Jeżeli chcesz, możesz przesłać mi program, spróbuję skompilować go u siebie.
1. GNU ARM to najzwyklejsza paczka taka jak CodeSourcery, WinARM czy Yagarto, więc po co tego używać i po co to w ogóle roztrząsać? 2. CodeSourcery Lite jest darmowe. Jeśli nie jest wystarczająco darmowe, to wystarczy ściągnąć sobie źródła GCC i skompilować samemu [; Jest to możliwe, skrypty z Codesourcery to znacząco ułatwiają. 3. Niczym 4. Bo kompilujesz...
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
OK, z biegiem czasu wszystko się wyjaśnia. Obecnie mam już zrobione UARTY i CAN-y ale jeszcz jedno mnie trapi. Wszystko działa mi w pamięci RAM, uzywam zestawu WinArm. Ale nie mogę przekompilować do flasha bo pradwopodobnie skrypt linkera mam źle skonfigurowany. Do kolegi adamusx: Czy masz może jakiś plik linkera .ld do kompilacji do flasha dla płyty...
W typowych przypadkach jest tak jak pisze adamusx. Wiec WinAVR jest nietypowy W nietypowych Twoja rada też nie jest pewna. W nietypowych nic nie jest pewne. Ogólnie: 1. Kompilator umieszcza tekst programu w sekcji .text, a zmienne const ;-) w sekcji .rodata. Sluszna uwaga 2. O tym gdzie te sekcje trafią decyduje linker na podstawie skryptu. To raczej...
Szukam przykładów programów dla środowiska WinArm na procesory ARM z rdzeniem Cortex-M3 rodziny STM32 firmy ST Microelectronics. Głównie chodzi mi o skrypt linkera, makefile i plik startowy.
Spróbuje zainstalować Twoje IDE. Dodano po 1 Zainstalowałem oprogramowanie według Twojego opisu i mam parę pytań... Czy po uruchomieniu external toolsa "OCD + WIGGLER + STR7" procesor się zaprogramował ? Co do debugowania... uruchomiam external toolsa "OCD + WIGGLER + STR7" a następnie debug. Jeśli program działa, a wygląda na to że coś się wykonuje...
Myślę, że to pytanie nie tyczy się to tylko tego zestawu. Otóż, zaopatrzyłem się w ten zestaw, ściągnąłem chyba wszystko co było (datasheets, różnorakie opisy itp.). Zacząłem się w to wszystko wgłębiać i w pewnym momencie przyszło chyba opamiętanie - bo im dalej w las tym więcej drzew. Pierwszy problem pojawił się przy środowisku - tu udało się przebrnąć...
Wygenerowany przez makefile program main.hex po przekonwertowaniu na BIN jest pusty ... jak otwieram HEX'a to mam dziwne znaczki ... w make file mam zaznaczone IHEX to tego wina? Pytanie 1 - po co konwerujesz na bin-a i jak to robisz ? Pytanie 2 - co to znaczy "dziwne znaczki" I jeszcze jedno ... gdzie mogę zobaczyć ile zajmuje kod który zostanie wgrany...
Witam, niedawno przesiadlem sie z AVR na ARM i mam nastepujacy problem: niektore funkcje wieszaja mi program. Tzn, nie wszystkie - np. dzialaja funkcje obslugi SPI, natomiast jak wstawie cos takiego: void test (void) { AT91C_BASE_PIOA->PIO_CODR = LED1; delayMS(1000); AT91C_BASE_PIOA->PIO_SODR = LED1; return; } i uruchomie...
czy plik makefile muszę edytować ręcznie czy w edytorze wish84.exe Ja np. edytuję sobie ręcznie (po wczytaniu do PN). W zasadzie to niewielki problem, wszystko tam widać czarno na białym. Większe ustawienia są potrzebne może tylko przy rozpoczynaniu pracy z danym mikrokontrolerem, potem - ewentualnie aktualizacja listy plików źródłowych. Patrząc na...
Witam ponownie. W pracy pracuję z wykorzystaniem pakietu WINARM. W domu postanowiłem zainstalować Codelite + Codesourcery. Procesor, na który pisze oprogramowanie to LPC2378. Problem pojawił się z plikiem linkera, który został zmodyfikowany wyłącznie poprzez dodanie: __ram_start = ORIGIN(RAM); __ram_size = LENGTH(RAM); __ram_end = __ram_start + __ram_size;...
Niby dlaczego makefile miałby nie działać? Musi. Albert No jakoś nie chce :D. Pod Windows działa poprawnie a w ubuntu: [syntax=bash]**** Build of configuration Default for project En_BeeS_V2 **** make all .dep/adc.o.d:1: *** wielokrotne wzorce obiektu. Stop.[/syntax] Makefile był pisany przez Martin Thomasa pod WinARM....więc staroć. Zaraz sprawdzę...
Witam! Od jakiegoś czasu bawię się mikrokontrolerami. Ostatnio próbuje swoich sił przy WinArmie. Nie mam problemu przy prostrszych projektach, gdzie w skład wchodzi pare plików. Problem i to duży pojawił się ostatnio, gdy próbowałem skompilować projekcik FREE RTOS-a (dość rozbudowany). Zmieniam ścieżkę dostępu do projektu, w pliku poza tym nic nie zmieniam....
mazdziez: Skoro pracowałeś na Yagarto i WinARM to nie przesiadaj się na nic innego. Nie dlatego, że są gorsze ale dlatego, że znasz już środowisko GNU a pozostałe środowiska oferują dodatki ale za konkretne pieniądze. Prawda jest taka, że dla osoby, która dobrze zna pakiet GCC z towarzyszącymi mu narzędziami, środowiska typu KEIL czy PATHFINDER są zbyt...
Witam. Wykonywanie operacji takich jak mnożenie czy dzielenie w Eclipse/GnuArm powoduje wyrzucenie błędów np(undefined reference to `__floatsisf' ...). Jaką bibliotekę należy dołączyć do projektu, aby można było wykonywać powyższe operacje. Dodam że w WinArm czy Keilu program kompiluje się bez problemu, tam nie potrzeba dołączać bibliotek.Zapewne podane...
Witam Chciałbym zintegrować środowisko Code::Blocks z pakietem Yagarto, aby tworzyć oprogramowanie na ARM w języku C++. Dotychczas korzystałem z pakietu WinARM, ale nie jest on chyba tak aktualny jak yagarto. Po za tym, zamiast domyślnie PN2, używałem CodeLite, i wszystko działało dobrze, ale dostałem dość duży projekt do kontynuacji, a w którym jest...
JTAG ten oczywiscie obsluzy kazdego ARMa, bo jest to po prostu standardowe urzadzonko JTAG [; probllem moze (podkreslam - _moze_ a nie musi, sam sie na tym nie znam swietnie, wiec moge sie mylic) pojawic sie dopiero na targetach, ktore sa w jakis sposob nietypowe i wymagaja jakichs dziwnych polaczen, np linii DBACK i DBRQ (czy jak one sie tam zwa),...
Jest GCC pod ARMa. Poza tym zainteresuj się pakietem WinARM, Yagarto. A jakby tego było mało, to zarówno Keil, jak i inni producenci udostępniają wersje trial i/lub wersje z ograniczeniem co do wielkości generowanego kodu. Np. IAR udostępnia pełną wersję 30-dniową oraz wersję bez limitu czasowego, ale generującą kod maksymalnie bodajże 32kB. Przetestowałem...
Temat tego postu jest po części rozwiązany, ale mimo to chciałbym zapytać o przyczynę zaistaniałego problemu. Otóż jestem posiadaczem płytki sam7-EX256 Olimex i zaczynając przygode z programowaniem ARM-ów wykorzystuje darmowy kompilator GNUARM. Przy poszukiwaniu przykładowych programów wykorzystuje example z katalogu C:\WinARM\examples\at91sam7s64_Atmel_int...
Witam. Jestem w trakcie budowy odtwarzacza MP3 na AT91SAM7S256. Generalnie już gra, ale trzeba by troche zoptymalizować dekodowanie by trwało krócej. Większość funkcji dekodera z Helix Community jest w C i z wrzuceniem ich do RAMu nie miałem problemu(atrybuty .section i long_call) lecz nie wiem jak to zrobić dla funkcji z pliku asmpoly_gcc.s. Próbowałem...
1. W systemach x64 portu LPT po prostu nie ma, nawet jak fizycznie jest na płycie. To akurat jest zupełną nieprawdą... Port LPT jest i działa bardzo dobrze. Dla tego portu istnieją drivery dające bezpośredni dostęp jak giveio i zwą się InpOutx64 oraz WinRing0. Niestety wg mojego kilku dniowego googlowania do dziś nikt chyba nie popełnił żadnego softu...
Już dołączam I jeszcze jestem ciekawy różnic między plikami hex, elf i bin. To znaczy głównie chodzi mi o to dlaczego na przykład przez SAM-BA muszę podawać plik bin?? A przez inny programator pewnie mogę hex? To chodzi o to, że każde oprogramowanie przystosowane jest do określonych plików tylko? # Hey Emacs, this is a -*- makefile -*- # # WinARM template...
/***************************************... /* */ /* startup_SAM7S.S: Startup file for Atmel AT91SAM7S device series */ /* */ /***************************************... /* ported to arm-elf-gcc / WinARM by Martin Thomas, KL, .de */ /* <eversmith(at)heizung-thomas.de> */ /* modifications...
W WinArmie jest kilka przykładów dla ADuC (projekty pod GCC, makefile, skrypt linkera itd).
Ok zrobiłem jak mówisz a mianowicie dołączyłem do winarma pliki dll ze stronki: http://www.siwawi.arubi.uni-kl.de/avr_pr... ctrl+f wpisz keil :) jest opcja na dołączenie gcc z winarma.....ok skompilowałem tyle, że pojawia się mały problem a mianowicie : Could Not Find J:\lpc2k\FFCHAN~1.LNP.gnu czym spowodowany ten komunikat...
Klocek to AT91SAM7X128. Jako kompilatora uzywam WinARMa, a debugger to OCDCommander. Ten debugger chyba nie ma raczej za duzych mozliwosci, a nie mam pojecia jak w WinArmie wstawic jakiegos breakpoint'a zeby bylo mozna to dokladniej sprawdzic. Wykonywanie programu krok po kroku raczej odpada bo rozbiegowka jest raczej dosyc rozbudowana (z projektu przykladowego...
programowanie winarm winarm debug programować winarm
kolejność uruchamiania systemu sprzeglo sprezarki oznaczenie wtryskiwacz
OpenBeken (OpenBK) – otwarty firmware dla Beken BK7231, Tuya, Realtek, Bouffalo Lab, MQTT, Home Assistant Najlepszy podnośnik samochodowy do auta osobowego – Bahco, Yato, Daytona, żaba 2–3 t, niskoprofilowy