eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDecyzja zapadła...(mikrokontrolery ST)Re: Decyzja zapadła...(mikrokontrolery ST)
  • Data: 2013-06-25 18:20:29
    Temat: Re: Decyzja zapadła...(mikrokontrolery ST)
    Od: shg <s...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu wtorek, 25 czerwca 2013 16:13:49 UTC+2 użytkownik brak napisał:

    > > Ale co ma system operacyjny do standardowej biblioteki C?
    > To iz zwykle jest w jakis sposob dostarczona/zintegrowana oraz przetestowana
    > i nie ma potrzeby jej "dotykania". Biblioteka C jest jednym z komponetow
    > systemu i od jej jakosci zalezy jakosc systemu.

    Zwykle albo nie jest dostarczana a jeżeli jest, to kompilowana z domyślnymi
    ustawieniami. Integracja polega na tym, że OS używa tej biblioteki.

    > > printf() to akurat najmniejszy problem. Potrzebuję małe funkcje standardowe
    (string.h, stdlib.h itd.). Te nie są w tych OS-ach zrobione na nowo, ani w tych,
    które proponuje Mario. Wszędzie sugerują linkowanie z newlib.
    >
    > Niekoniecznie, np. eCos:
    >
    > "eCos provides compatibility with the ISO 9899:1990 specification for the standard
    C library, which is essentially the same as the better-known ANSI C3.159-1989
    specification (C-89)."

    To znaczy tylko tyle, że jest kompatybilny ze standardem, a nie że ma wbudowane
    wszystkie potrzebne funkcje. Można go skompilować korzystając ze standardowej
    biblioteki zgodnej z powyższym.


    > > Całej biblioteki się nigdy nie linkuje (to ma chyba ze 2 MB).
    > Yyy. Przeciez od dawna juz linker usuwa nie uzywane obj-ty. Tak wiec nie uzywajac
    "namietnie" biblioteki, likner nie dolaczy jej w calosci.

    W porzedniej wiadomości napisałeś, że "nie trzeba linkować całej biblioteki", rzecz
    oczywista, ale zabrzmiało to jakby w innych przypadkach trzeba było.

    > > OS niczego w tej kwestii nie rozwiązuje.
    > W przypadku eCos biblioteka C jest jednym z jego komponentow, ktory jest
    konfigurowalny aby zmniejszyc rozmiar kodu ponad to co jest wstanie zrobic linker -
    co rozwiazuje problemy z biblioteka C.

    Podłubałem trochę. eCos używa newlib jako standardowej biblioteki, ona jest częścią
    środowiska, nie samego systemu. Na upartego można skompilować z inną (tekst wyżej o
    kompatybilności), ale trzeba by gmerać w skryptach. Nigdzie w nich nie znalazłem
    kompilacji newlib z innymi flagami niż domyślne. Domyślne flagi newlib generują kod
    taki, jak pisałem wcześniej. Żeby uzyskać pożądany efekt, musiałbym ustawić
    odpowiednie flagi do kompilacji newlib przy budowaniu eCosa, a właściwie toolchaina,
    a to bez sensu, bo równie dobrze mogę sobie zrobić samą newlib.
    Na wszelki wypadek przedstawię to na obrazku:
    http://wstaw.org/m/2013/06/25/strcpy.png
    Po lewej domyślne flagi, po prawej -Os bez dodatkowych "optymalizacji" i tu leży
    istota mojego problemu.
    Toolchain stąd:
    https://launchpad.net/gcc-arm-embedded
    Dostępna jest tam libc kompilowana w dwóch wersjach. Zmienny przecinek niestety tylko
    w jednej wersji.
    OS do niczego mi nie potrzebny.

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: