[RFC] Założenia projektu

Tomasz Jadowski jadowski w post.pl
Sob, 3 Lip 2004, 19:38:33 CEST


Witam,

W załączniku przesyłam moje propozycje założeń projektu.

Na chwilę obecną nie jestem w stanie wystawić cvs/svn na
zewnątrz tak więc proszę o przesyłanie propozycji/poprawek
na listę (ew. na priv).

Pozdrawiam
Tomek

-- 
[ Tomasz Jadowski   jadowski w post.pl  PGP ID: 0x13AB0663
[ 3252 FE7F 703C 7A13 A2A0  021A A7B2 74A5 13AB 0663
-------------- następna część ---------
PLD-embedded
===============================================

I. Cel projektu.

Celem projektu jest zbudowanie środowiska developerskiego
który pozwoli na przeportowanie systemu PLD na systemy
embedded i pochodne. Inaczej mówiąc pozwoli na stworzenie
PLD-embedded.


II. Charakterystyka sprzętu.

Do systemów embedded i pochodnych możemy zaliczyć:

1) Specjalizowane systemy przemysłowe

Jest to np. popularna platforma PC 104/104+ wykorzystywana głównie
 w automatyce do budowy przeróżnej maści sterowników, kontrolerów
itp. urządzeń. Cechą charakterystyczną jest przystosowanie do pracy
w warunkach przemysłowych oraz bogactwo różnego rodzaju interfejsów
zewnętrznych, takich jak: przetworniki AC/DC, moduły GSM/GPS,
kontrolery CAN, Modbus itp.

2) Różnego rodzaju palmtopy, notatniki elektroniczne, organizery.

Stanowią one dość bogatą i różnorodną rodzinę, są oparte na różnego
rodzaju rozwiązaniach sprzętowych. Przeważnie wyposażone są w czytniki
CF/MultimediaCard, interfejsy komunikacyjne. Posiadają wyświetlacze
dotykowe, klawiaturę i/lub rysik do nanoszenia danych. Większość niestety
nie pozwala na instalację alternatywnego systemu lecz jest kilka wyjątków.

3) Komputery starszej generacji.

Doskonale sprawdzające się jako routery dostępowe, mosty (bridge), serwery
logów, usług, cienkie klienty itp. Większość dystrybucji zarzuca powoli
wsparcie takiego sprzętu, gdyż jest on na wymarciu a i zachowanie
kompatybilności jest coraz trudniejsze (narzuca on mocne ograniczenia
lub nawet uniemożliwia implementacje najnowszych rowiązań)
Często pracujące bez HDD (bootowane z FDD), wyposażone w minimalne ilości
RAM.

4) Systemy do budowy rozwiązań multimedialnych.

Jest to coraz popularniejsza gałąź platformy x86 (np. popularna
platforma VIA Epia). Charakteryzują się niestandardowymi rozwiązaniami
(specjalne wersje procesorów, chipsetów), maksymalną integracją elementów
na małej powierzchni, minimalnymi możliwościami rozbudowy (często jedno
gniazdo RAM, jeden slot PCI) i są ukierunkowane na zastosowania audio/video
(wbudowane sprzętowe akceleratory MPEG, wyjścia TV-out, 6-kanałowy dźwięk). 


III. Podstawowe założenia.

Środowisko developerskie powinno w łatwy sposób pozwalać na wybór poszczególnych
składników systemu (jądro, sterowniki, pakiety itp.) jak również na łatwe
dołączanie własnych rozwiązań/rozszerzeń. W tym celu najwłaściwsze wydaje się
stworzenie kreatora/buildera który po zdefiniowaniu parametrów wygeneruje
z dostępnych zasobów gotowy obraz systemu.

Wygenerowany systemu pod względem obsługi od strony administracyjnej nie
pownienien zawierać żadnych różnic w stosunku do PLD. Dopuszczalne są jedynie
ograniczenie funkcjonalne usług występujących w PLD oraz rozszerzenia
specyficzne tylko dla PLD-embedded. 

PLD-embedded powinien w maksymalny sposób korzystać z zasobów PLD, tj. pakietów,
założeń, speców, łatek itp. Pożądane jest wprowadzanie modyfikacji w zasobach
dotyczących PLD o ile nie są to modyfikacje kolidujące. W takich przypadkach
należy wydzielić osobne zasoby (z przyrostkiem *-embedded np. kernel24-embedded.spec)
które będą rozwijane niezależnie od PLD.

Główny nacisk jest położony na maksymalne wsparcie specyfiki rozwiązań stosowanych
w systemach embedded nawet kosztem utraty kompatybilności z zasobami PLD.

Kreator/builder powinien pozwalać na zastosowanie zasobów tworzonych dla PLD
wymiennie z pakietami dla PLD-embedded (np. wybór biblioteki *libc, wersji
jądra). Pozwoli to na generowanie np. indywidulanych wersji LiveCD, RescureCD
czy samego systemu PLD.

Pożądane jest aby kreator miał predefiniowane schematy do wygenerowania typowych
zastosowań PLD-embedded czyli:

- routera, mostu, serwera logów dla typowych zastosowań (maskarada, filtrowanie,
  podział pasma itp.) o rozmiarze typowej dyskietki FDD (coś na wzór floppyfw
  czy fresco)

- typowego systemu PVR (Personal Video Recorder) pozwalającego stworzyć
  multimedialny system audio/video (nie różniący się pod względem obsługi
  od rozwiązań komercyjnych) dla konkretnych platform sprzętowych

- systemu dla konkretnych modeli palmów wraz z listą typowych aplikacji/usług

Kreator powinien pozwalać na zapis/odczyt/modyfikację schematów.


IV. Lista oprogramowania/pakietów

* TODO *


V. Lista wspieranego sprzętu

* TODO - tym czym dysponujemy do testów/chcemy wspierać *


VI. Przydatne linki

Alternatywne projekty, oprogramowanie, inspiracje itp.:
- http://openembedded.org/
- http://web.tvnetwork.hu/~krichy/cfdev/
- http://fedip.7thguard.net
- http://www.zelow.no/floppyfw

Sprzęt, opracowania itp.:
- http://www.mini-itx.com


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