eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaARM9 + GCC + makefile do hello worldRe: ARM9 + GCC + makefile do hello world
  • Data: 2010-02-16 15:33:49
    Temat: Re: ARM9 + GCC + makefile do hello world
    Od: Dariusz Zolna <a...@u...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    cepu69 pisze:
    > A czy zastanowiles sie nad przyczyna takiego stanu rzeczy???

    Tak, zastanawiałem się i nie potrzebuję systemu. Dlatego właśnie
    wybrałem Mini2440 a nie EPIĘ PX.

    Na friendlyarm jest zestaw testowych funkcji, które nie wyglądają na
    wielce skomplikowane (mam o wiele bardziej rozbudowane projekty na AVR).
    Problemem jest to, że chińczyki przygotowały je przy użyciu komercyjnego
    kompilatora, a ja jednak wolałbym użyć GCC.

    Zrobiłem pewien postęp, projekt się kompiluje, ale kompilator nie lubi
    pliku "2440init.s". Wygląda jakby traktował go jako plik w C a nie w
    Asemblerze.

    Zgodnie z "tutorialem" podsuniętym przez Kris_gor używam GCC (Sourcery)
    i Eclipse.

    Ktoś ma jakieś sugestie jak poprawnie włączyć ten plik w asemblerze do
    projektu? Kompilator dostaje go chyba z poprawnymi flagami:

    arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=arm920t -mthumb -g
    -ggdb3 -Wa,-amhls=./out/2440init.lst -MD -MP -MF ./out/2440init.d -I .
    2440init.s -o out/2440init.o

    więc może to kwestia poprawności zapisu samego kodu?
    Bo dostaję mnóstwo błędów typu:

    2440init.s:13: Error: bad instruction `get option.inc'

    albo

    2440init.s:30: Error: junk at end of line, first unrecognized character
    is `0'

    Pozdrawiam,
    Dariusz Żołna


    > To jest juz procesor (CPU: 400 MHz Samsung S3C2440A ARM920) a nie kontroler
    > i naprawde malo kto bawi sie bez OS-a.
    >
    > Naprwade nie warto - jesli masz port systemu na dana platforme to migniecie
    > diodami wymaga 5 minut pracy.
    >
    > ---> http://www.friendlyarm.net/dl.php?file=linux-example
    s.tgz
    > i przyklad leds :
    >
    > int main(int argc, char **argv)
    > {
    > int on;
    > int led_no;
    > int fd;
    > if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 ||
    > sscanf(argv[2],"%d", &on) != 1 ||
    > on < 0 || on > 1 || led_no < 0 || led_no > 3) {
    > fprintf(stderr, "Usage: leds led_no 0|1\n");
    > exit(1);
    > }
    > fd = open("/dev/leds0", 0);
    > if (fd < 0) {
    > fd = open("/dev/leds", 0);
    > }
    > if (fd < 0) {
    > perror("open device leds");
    > exit(1);
    > }
    > ioctl(fd, on, led_no);
    > close(fd);
    > return 0;
    > }
    >

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: