RoBert
Guest
Sun Nov 16, 2008 8:46 pm
witam
który z kompilatorów jest łatwiejszy w obsłudze, przyjaźniejszy w
użytkowaniu i ma więcej przydatnych funkcji:
-Rowley
-Keil ARM
-Imagecraft
-IAR
Robert
tomny
Guest
Sun Nov 16, 2008 9:46 pm
Quote:
który z kompilatorów jest łatwiejszy w obsłudze, przyjaźniejszy w
użytkowaniu i ma więcej przydatnych funkcji:
-Rowley
-Keil ARM
-Imagecraft
-IAR
Keila używam do ARMow i musze powiedzieć, że jest ok. Keil jest dosyć
popularny, dzięki czemu jak kompilator wyrzuca jakiś dziwny error czy
warning to jest duża szansa, że na necie znajdziesz opis jak go się pozbyć.
Ma też zestaw przykładów dzięki czemu łatwo zacząć pisać programy.
IAR używałem do MSP430 i był raczej średni. Ma tą wadę, że symulator nie
symuluje pracy peryferiów (w keilu tak), ale jak się ma JTAGa to jest to
mniej istotne. Według mnie Keil jest łatwiejszy w obsłudze do IAR.
pozdrawiam
tn
Adam Dybkowski
Guest
Mon Nov 17, 2008 12:42 am
RoBert pisze:
Quote:
który z kompilatorów jest łatwiejszy w obsłudze, przyjaźniejszy w
użytkowaniu i ma więcej przydatnych funkcji:
-Rowley
-Keil ARM
-Imagecraft
-IAR
Jeżeli chodzi Ci o _kompilator_ to jakiej od niego wymagasz "łatwości w
obsłudze" (wszystko załatwiają wszakże pliki makefile) oraz "przydatnych
funkcji". Do ARMów polecam gcc, np. w postaci pakietu gnuarm.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Posraldescu
Guest
Mon Nov 17, 2008 4:46 pm
Adam Dybkowski <adybkows12@45wp.pl> napisał(a):
Quote:
RoBert pisze:
który z kompilatorów jest łatwiejszy w obsłudze, przyjaźniejszy w
użytkowaniu i ma więcej przydatnych funkcji:
-Rowley
-Keil ARM
-Imagecraft
-IAR
Jeżeli chodzi Ci o _kompilator_ to jakiej od niego wymagasz "łatwości w
obsłudze" (wszystko załatwiają wszakże pliki makefile) oraz "przydatnych
funkcji". Do ARMów polecam gcc, np. w postaci pakietu gnuarm.
Z tego samego gatunku (GNU) jest jeszcze pakiet WinARM. Wszystko w nim jest
skompilowane bezpośrednio pod Windows więc nie wymaga do pracy Cygwin. W
pakiecie stado przykładów na uC LPC Philipsa.
--
Wysłano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta.pl/usenet/
Adam Dybkowski
Guest
Tue Nov 18, 2008 12:39 am
Posraldescu pisze:
Quote:
Jeżeli chodzi Ci o _kompilator_ to jakiej od niego wymagasz "łatwości w
obsłudze" (wszystko załatwiają wszakże pliki makefile) oraz "przydatnych
funkcji". Do ARMów polecam gcc, np. w postaci pakietu gnuarm.
Z tego samego gatunku (GNU) jest jeszcze pakiet WinARM. Wszystko w nim jest
skompilowane bezpośrednio pod Windows więc nie wymaga do pracy Cygwin. W
pakiecie stado przykładów na uC LPC Philipsa.
Jeżeli sam dłubiesz pod Windozą to OK. Ale jeżeli nad projektem pracuje
równolegle kilka osób pod Win i Linuxem a potrzebują do tego w miarę
spójnego środowiska - to gnuarm jest jak znalazł. Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Posraldescu
Guest
Tue Nov 18, 2008 10:46 am
Adam Dybkowski <adybkows12@45wp.pl> napisał(a):
Quote:
Jeżeli sam dłubiesz pod Windozą to OK. Ale jeżeli nad projektem pracuje
równolegle kilka osób pod Win i Linuxem a potrzebują do tego w miarę
spójnego środowiska - to gnuarm jest jak znalazł. Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
Jesteś pewny, że za kompilacje odpowiada identyczna wersja make. Przecież
jest możliwa sytuacja, że make w obu przypadkach jest inne. U mnie za
sterowanie kompilacją firmowego środowiska pod RISC odpowiada make
zapożyczony z OpenWatcom.
--
Wysłano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta.pl/usenet/
Zbych
Guest
Tue Nov 18, 2008 8:06 pm
Posraldescu przemówił ludzkim głosem:
Quote:
funkcji". Do ARMów polecam gcc, np. w postaci pakietu gnuarm.
Z tego samego gatunku (GNU) jest jeszcze pakiet WinARM.
To ja dodam jeszcze pakiet od codesourcery. ARM płaci tej firmie za
rozwijanie portu gcc pod arm, więc w ich paczkach najwcześniej
znajdziesz poprawki, optymalizacje, czy obsługę nowych architektur (tak
było z corteksem).
Artur M. Piwko
Guest
Tue Nov 18, 2008 8:46 pm
In the darkest hour on Tue, 18 Nov 2008 00:39:59 +0100,
Adam Dybkowski <adybkows12@45wp.pl> screamed:
Quote:
Z tego samego gatunku (GNU) jest jeszcze pakiet WinARM. Wszystko w nim jest
skompilowane bezpośrednio pod Windows więc nie wymaga do pracy Cygwin. W
pakiecie stado przykładów na uC LPC Philipsa.
Jeżeli sam dłubiesz pod Windozą to OK. Ale jeżeli nad projektem pracuje
równolegle kilka osób pod Win i Linuxem a potrzebują do tego w miarę
spójnego środowiska - to gnuarm jest jak znalazł. Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
A na jakimś nowszym gcc? Tak samo?
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:220B ]
[ 20:20:26 user up 11895 days, 8:15, 1 user, load average: 0.94, 0.04, 0.64 ]
If it sells, it's art. -- Frank Lloyd
Adam Dybkowski
Guest
Wed Nov 19, 2008 11:33 pm
Posraldescu pisze:
Quote:
Jeżeli sam dłubiesz pod Windozą to OK. Ale jeżeli nad projektem pracuje
równolegle kilka osób pod Win i Linuxem a potrzebują do tego w miarę
spójnego środowiska - to gnuarm jest jak znalazł. Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
Jesteś pewny, że za kompilacje odpowiada identyczna wersja make. Przecież
jest możliwa sytuacja, że make w obu przypadkach jest inne.
Make chyba tu nie ma nic do rzeczy, bo tylko steruje wywołaniem innych
narzędzi. Porównywaliśmy w firmie wyniki kompilacji identyczną wersją
gcc (3.4.3) z pakietu gnuarm odpalonego pod WinXp i OpenSuse. Prawie
wszystko wychodzi identycznie, znaczące różnice są dopiero na etapie
linkowania. make -n pokazuje dokładnie te same parametry wywołania
linkera (w tym kolejność bibliotek, ścieżek itp) na obu platformach ale
w wynikowym pliku .elf (i widać to też w .map) funkcje wyciągane z
bibliotek są umieszczane w sekcji .text w różnej kolejności. Oczywiście
nie ma to wpływu na samo działanie skompilowanego programu (na
AT91SAM9261) ale daje inną jego postać binarną (co pociąga za sobą inny
skrót z binariów, co jest w naszym przypadku ważne).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Wed Nov 19, 2008 11:35 pm
Artur M. Piwko pisze:
Quote:
Jeżeli sam dłubiesz pod Windozą to OK. Ale jeżeli nad projektem pracuje
równolegle kilka osób pod Win i Linuxem a potrzebują do tego w miarę
spójnego środowiska - to gnuarm jest jak znalazł. Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
A na jakimś nowszym gcc? Tak samo?
Od pewnego czasu nie wychodzą nowsze pakiety gnuarm na stare procki x86
(nie 64-bitowe; o dziwo dla Windows są nowsze gnuarm'y) więc się
oficjalnie w firmie nie przesiadamy. Samodzielnie skompilować gcc nikomu
się nie chce / nie ma na to czasu.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
J.F.
Guest
Sat Nov 22, 2008 1:50 pm
On Tue, 18 Nov 2008 00:39:59 +0100, Adam Dybkowski wrote:
Quote:
Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
nie jest to kwestia sortowania katalogow plikow [directory] przez oba
systemy przy odczycie ich zawartosci, ewentualnie malych i duzych
liter w nazwach plikow ?
J.
Adam Dybkowski
Guest
Sat Nov 22, 2008 10:33 pm
J.F. pisze:
Quote:
Co nie zmienia faktu,
że niestety gnuarm (gcc 3.4.3) pod Linuxem daje inne wyniki kompilacji
niż pod Win - przy identycznym makefile jakoś linker w innej kolejności
dołącza biblioteki. Kaszana.
nie jest to kwestia sortowania katalogow plikow [directory] przez oba
systemy przy odczycie ich zawartosci, ewentualnie malych i duzych
liter w nazwach plikow ?
Wielkość liter jest ta sama, rzeczywiście może chodzić o sortowanie czy
wręcz kolejność umieszczenia plików w katalogu przy ich kreacji
(ściąganiu z repozytorium CVS). Sprawdziliśmy w każdym razie, że kilka
komputerów używających tej samej wersji Windows XP, cygwina oraz gnuarm,
daje dokładnie te same wyniki binarne po zlinkowaniu całości projektu. A
Linux niech spada na bambus. ;)
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
J.F.
Guest
Sat Nov 22, 2008 11:18 pm
On Sat, 22 Nov 2008 22:33:47 +0100, Adam Dybkowski wrote:
Quote:
J.F. pisze:
nie jest to kwestia sortowania katalogow plikow [directory] przez oba
systemy przy odczycie ich zawartosci, ewentualnie malych i duzych
liter w nazwach plikow ?
Wielkość liter jest ta sama,
Ale moze inaczej wplywac na sortowanie w roznych systemach.
J.
Adam Dybkowski
Guest
Sat Nov 22, 2008 11:56 pm
J.F. pisze:
Quote:
nie jest to kwestia sortowania katalogow plikow [directory] przez oba
systemy przy odczycie ich zawartosci, ewentualnie malych i duzych
liter w nazwach plikow ?
Wielkość liter jest ta sama,
Ale moze inaczej wplywac na sortowanie w roznych systemach.
AFAIK jeżeli robisz opendir/readdir/closedir to sortowania nie ma.
Funkcja readdir zwraca informacje o plikach w kolejności ich zapisania w
katalogu (czyli wg własnego widzimisię konkretnego systemu plików).
Sortowanie jest robione w samym programie ls / mc itp.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.