2010-02-05 21 views

Odpowiedz

23

Jeśli masz na myśli od zera: na pewno byłoby to możliwe. Ale wymaga to wielu zasobów ludzkich :-). Produkcje telefonów komórkowych mają często setki programistów, a mimo to SW często zawierał błędy :-).

uproszczeniu można powiedzieć, że tam często dwa moduły SW w telefonie komórkowym:

  • z „UI OS”, który obsługuje wejście wyświetlacza, dźwięku i obsługi.
  • "System Baseband OS", który obsługuje komunikację w kierunku sieci komórkowej.

Systemem UI może być na przykład Linux lub coś prostszego. Waniliowe jądro Linux może z łatwością działać na prawie każdym współczesnym telefonie komórkowym.

Druga część to system operacyjny w paśmie podstawowym. Ta część zwykle wymaga właściwości w czasie rzeczywistym, aby móc obsługiwać komunikację z siecią mobilną, ponieważ czas musi być dokładny przy wysyłaniu danych w określonych "przedziałach czasowych".

Jest tylko jeden haczyk: trzeba znaleźć "otwarty sprzętowy telefon komórkowy", na którym można umieścić system operacyjny. Operatorzy telekomunikacyjni często wymagają rygorystycznych środków bezpieczeństwa w dzisiejszych telefonach, dlatego bardzo trudno jest zaprogramować własny system operacyjny na telefonie dostępnym na rynku. Potrzebujesz również dostępu do schematów płytek drukowanych, detali układu i tak dalej, co nie będzie miało miejsca :-).

Jednym z pomysłów może być OpenMoko, czyli "projekt otwartego telefonu": http://wiki.openmoko.org/wiki/Main_Page lub projekt Google Android.

Również CPU: y stosowane w dzisiejszych telefonach, takich jak TI OMAP, są często dostępne za pośrednictwem płyt rozwoju, takich jak http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55

Chodzi tutaj jest to, że płyta nie zawiera procesor pasma do obsługi komunikacji w kierunku sieci komórkowej.

Edytuj: Informacje o tworzeniu i uruchamianiu oprogramowania dla telefonów komórkowych. Co dzieje się w starcie z telefonu komórkowego zależy od platformy sprzętowej oczywiście, ale coś takiego może się zdarzyć (jest to również prawdziwe dla większości systemów wbudowanych):

  1. ASIC (który zawiera CPU) rozpoczyna się, resetuje się i rozpoczyna wykonywanie tzw. paska startowego (zakodowanego na stałe w ASIC).
  2. Pasek startowy próbuje skonfigurować układy flash podłączone do ASIC.
  3. Pasek startowy ładuje SW z lampy błyskowej do SRAM układu (Zintegrowana pamięć RAM na układzie ASIC).
  4. SW w SRAM ustawia SDRAM (timing et c) i ładuje "OS" (lub jakkolwiek SW chcesz) do SDRAM z lampy błyskowej.
  5. SW w SRAM ustawia wewnętrzny wskaźnik instrukcji w CPU na SDRAM, a zatem rdzeń procesora ASIC rozpoczyna wykonywanie w SDRAM.
  6. SW w SDRAM ("OS") ustawia timery, przerwań, zarządzanie pamięcią lub cokolwiek jest potrzebne.
  7. SW może być czymkolwiek, pętlą bez ograniczeń, pełnym systemem operacyjnym lub tylko SW, które pobiera trochę hi lub low LED.

Jeśli układ ASIC miałby lampę błyskową NOR, mógł wykonać ją bezpośrednio, bez uprzedniego wczytania SW do pamięci SDRAM.

System operacyjny SDRAM może być jądrem Linuxa. Jedyne, czego potrzebuje jądro Linuksa, to kilka bloków informacyjnych, takich jak rozmiar pamięci, fizyczna lokalizacja tej pamięci i tak dalej (jednym ze sposobów jest użycie listy ATAG). Oczywiście musiałby również znać niektóre z wewnętrznych elementów ASIC, to zostanie dodane do jądra Linux. Ale większość układów dostępnych obecnie na rynku istnieje już w jądrze Linuksa. Nokia wniosła na przykład dużą część kodu do adaptacji TI OMAP3430, co widać w samym kodzie źródłowym jądra (arch/katalog lub podobne). Nie mam pewności, które telefony firmy Nokia używają tego układu, ale prawdopodobnie są to wysokiej klasy telefony z systemem Linux i Symbian.

Udzielenie bardziej szczegółowej odpowiedzi niż powyżej wymagałoby kilku stron, więc najlepiej byłoby skorzystać z odpowiedzi, które otrzymałeś na SO i spróbować użyć go, aby uzyskać więcej informacji z innych źródeł.

Powodzenia :-)

4

Myślę, że byłoby to trudne samemu, bez szczegółowych informacji na temat urządzeń, na których spodziewasz się go uruchomić. Ale jeśli nadal chcesz spróbować ...

Symbian have just open sourced ich cały mobilny system operacyjny. To może być dobre miejsce na rozpoczęcie.

4

Android to także oprogramowanie open source, jeśli nie chcesz zaczynać od zera. W przeciwnym razie musisz znaleźć dokumentację architektury swojego telefonu. Czy masz na myśli konkretny telefon?

1

Mam nadzieję, że jest to bardziej i mniej Phantom Phantom Menace (badoom-Tish), ale ta osoba pisze swój własny system operacyjny i mobilnych można znaleźć na stronie internetowej ciekawe.

Powiązane problemy