pld embedded - port pld dla arm9

Pawel Sikora pluto w agmk.net
Pon, 8 Sie 2005, 22:12:18 CEST


On Monday 08 of August 2005 11:40, Radosław Kintzi wrote:

> Wydaje mi się, że najlepszym rozwiazaniem byłoby stworzenie miniportu
> PLD dla ARMa. Coś takiego jak [5]. Oto oprogramowanie jakie potrzebuję
> (chciałbym w tym widzieć):
> (...)
>  - gcc-3.3.5

seria 3.3.x sie nie nadaje dla ARM-a, bo ma skoszona obsluge
__attribute__ ((interrupt ("IRQ/FIQ/etc."))) i jeszcze kilki
innych rzeczy. jesli chcesz uzywac gcc na armie, to w wersji
min. 3.4.latest. generalnie polecam doglebna lekture
http://www.inf.u-szeged.hu/gcc-arm/index.php

>  - newlib lub uClibc (nie wiem czy to pierwsze się nadaje)

to pierwsze sie nadaje, ale jest dosyc duze jak na systemy
micro-embbeded (z 32/64kB ram-u). dla takowych najlepsze jest
chyba dietlibc+wlasna implementacja (badz zaslepienie) syscall-i linuxa.
jesli zas masz juz te kilka MB zewnetrznej pamieci ram podpietej
do arm-a + flash dysk, to spokojnie uzywaj newliba.

> Mam teraz kilka pytań na temat cross-kompilacji i towrzenia portów
> embedded (zaznaczam, że moje doswiadczenie w tym temacie jest raczej
> żadne, a wiedza to kilka dni googlowania):
>
> 1. Jak wygląda proces tworzenia cross-kompilatora?

crossarm-gcc.spec jest do wgladu. aktualnie wspiera tyko c/c++,
albo mozna spokojnie wlaczyc jave i wykorzystac sprzetowy
akcelerator jazelle.

> 2. Czy newlib nadaje się jako biblioteka libc dla Linuksa embedded?
> To pytanie ma związek z tym co napisałem w poprzednim akapicie.

newlib nadaje sie nawet dla systemow bez OS-a, ale jest z reguly
wtedy duzo wiekszy niz sama aplikacja.

> 3. Crt0/Startup code. Czy to jest potrzebne również w przypadku kiedy
> używamy Linuksa na docelowej maszynie, czy tylko w sytuacji, kiedy
> uruchamiamy program bez systemu operacyjnego?

startup-code jest zawsze potrzebny. jesli nie masz OS-a, to musisz go sam
napisac/wygooglac i zadbac o to, zeby programik ustawil sam sprzet, stos
i inne cuda. jesli masz juz OS-a na pokladzie, to zwykle jakas implementacja
biblioteki standardowej C dostarcza odpowiedni loader.

> 4. Co jest jeszcze potrzebne, żeby przygotować builder pod taki port
> PLD? Ile czasu może to zająć (osobie, która nie ma doświadczenia) i czy
> mogę liczyć na Waszą pomoc (głównie chodzi o konsultacje niż o pracę
> przy poprawianiu specy). Myślę, że uda mi się wyciągnąć od firmy maszynę
> na taki builder, pod warunkiem, że takie przedsięwzięcie będzie miało
> szansę realizacji (w rozsądnym czasie)

ja cos moge podpowiedziec, ale fizycznie juz sie od arm-a odcialem
(czyt. zlozylem wypowiedznie w firmie dla ktorej robilem arma 7-ke).

> Linki (proszę uzupełnić):

[1] www.arm.com
[2] http://www.montereylinux.com/datasheets/arm_inj-ds-20040109.pdf
[3] http://www.iar.com/

ps).
IAR ma swietny kompilator i bardzo dobra implementacje embedded c++
ale niestety kosztuje sporo (u polskiego przedstawiciela >= 10'000pln).

-- 
The only thing necessary for the triumph of evil
  is for good men to do nothing.
                                           - Edmund Burke



Więcej informacji o liście dyskusyjnej pld-devel-pl