-
X-Received: by 10.49.4.136 with SMTP id k8mr695929qek.19.1372177229722; Tue, 25 Jun
2013 09:20:29 -0700 (PDT)
X-Received: by 10.49.4.136 with SMTP id k8mr695929qek.19.1372177229722; Tue, 25 Jun
2013 09:20:29 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!j2no1841323qak.0!news-out.go
ogle.com!fv2ni168qab.0!nntp.google.com!j2no1841310qak.0!postnews.google.com!gle
groupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.misc.elektronika
Date: Tue, 25 Jun 2013 09:20:29 -0700 (PDT)
In-Reply-To: <4...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=157.158.182.53;
posting-account=I-P_YQoAAAA5OYA-ULbU61NLL7UHiy4J
NNTP-Posting-Host: 157.158.182.53
References: <kq05t1$s7h$1@news.task.gda.pl> <kq1rj7$ro$1@news.dialog.net.pl>
<kq1v7d$7j4$1@news.task.gda.pl>
<9...@g...com>
<c...@g...com>
<a...@g...com>
<4...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: Decyzja zapadła...(mikrokontrolery ST)
From: shg <s...@g...com>
Injection-Date: Tue, 25 Jun 2013 16:20:29 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.misc.elektronika:649114
[ ukryj 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.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
Najnowsze wątki
- 2025-03-01 zatrzymanie zbyszka maja
- 2025-03-01 Warszawa => Expert Recruiter 360 <=
- 2025-03-01 Chrzanów => NodeJS Developer <=
- 2025-03-01 Warszawa => Gen AI Engineer <=
- 2025-03-01 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-01 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-03-01 Zrobił TV OLED z TV LCD
- 2025-03-01 Gdynia => Sales Executive / KAM <=
- 2025-03-01 Błonie => Sales Specialist <=
- 2025-03-01 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-01 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-01 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-01 Wróblewo => Analityk finansowy <=
- 2025-03-01 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-28 Chrzanów => Regionalny Kierownik Sprzedaży (OZE) <=