• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie systemu na smartfona

VPS Starter Arubacloud
+1 głos
3,459 wizyt
pytanie zadane 4 lipca 2015 w C i C++ przez eluwingo Użytkownik (590 p.)
Witam :) Mam kilka pytań dotyczących tworzenia systemu na smartphon'a. Mam nadzieję że są osoby na forum które się choć ciut znają na ten temat :) 1. W jakim języku programowania najłatwiej tworzyć taki system??? 2. Czy są programy komputerowe aby takie systemy tworzyć??? 3. Jeśli są takie programy, jak by mogło wyglądać wgrywanie??? 4. Czy da się wgrać taki system przez USB??? Z góry dziękuje za wszelkie odpowiedzi :)

2 odpowiedzi

+5 głosów
odpowiedź 4 lipca 2015 przez MrWeb Stary wyjadacz (10,200 p.)
wybrane 4 lipca 2015 przez eluwingo
 
Najlepsza
Najnowsze smartfony z androidem to tak naprawdę procesory arm, linux i virtualna maszyna javy z "nakładką" androida która robi za GUI dla systemu operacyjnego.

Kernel/linux jest napisany w C. Jeśli chcesz napisać własny system (zakładając, że użyjesz gotowego kernela linux) to tak naprawdę musisz napisać wszystko co komunikuje się z ekranem i peryferiami telefonu czyli obsługa panelu dotykowego, ekranu, dźwięku, mikrofonu kamerki itd.

To jest duużo trudniejsze niż na to wygląda. Załóżmy, że jesteś na etapie pisania driverów do kamerki... Po pierwsze sama dokumentacja jest problemem bo trzeba ją umieć czytać i przerobić na kod biblioteki. Po drugie taki driver będzie współpracował tylko z tym jednym modelem kamerki lub tylko z tym jednym producentem kamerek.

To jest niesamowicie duży nakład pracy. Nie pomylę się mówiąc, że napisanie systemu dorównującego wydajnością i funkcjonalnością androidowi zajęło by Ci całe życie, a pod jego koniec i tak nie stworzyłbyś 50% tego co ma android.

Sorry za negowanie pomysłu, ale taka jest prawda.

 

A teraz trochę o pytaniach...

2. Programy komputerowe? Masz na myśli IDE, kompilator i programator? IDE wybierasz tak naprawdę jakie tylko chcesz, kompilator bierzesz ze strony producenta procesora czyli w tym przypadku GCC dla ARM a programator możesz zrobić sam albo użyć wygodnej opcji i kupić od producenta procesora.

3. Wgrywanie to podpięcie zasilania dla płyty głównej z prockiem, połączenie jej z PC przez USB i wysłanie komendy PC'towi żeby przesłał wsad (skompilowany program) przez kabel do procka.

4. Tak, możesz wrzucić przez USB. ARM mają sprzętową obsługę protokołu USB i wspierają wgrywanie wsadu z jego użyciem. Problem w tym, że takiemu procesorowi należy dostarczyć odpowiednich warunków żeby to działało, czyli potrzebna Ci płyta główna która rozprowadzi zasilanie dla procesora.

 

Jeśli chcesz choć trochę zbliżyć się do tego bardzo ambitnego pomysłu możesz spróbować z zestawem uruchomieniowym

https://sklep.atnel.pl/pl/p/Zestaw-uruchomieniowy-AVR-LIBRA/2 - taka fajna płytka do której można podpiąć wiele urządzeń jak na przykład...

https://sklep.atnel.pl/pl/p/Wyswietlacz-OLED/100 - taki fajny wyświetlacz

https://sklep.atnel.pl/pl/p/Wyswietlacz-TFT-LCD-kolor-4%2C3/73 albo coś większego ;)

 

W tym przypadku używałbyś 8 bitowych procesorów AVR a jeśli chcesz 32 bitowe ARM (czyli takie jak na telefonach) możesz rzucić się na to http://www.cubietruck.com/products/cubieboard2-allwinner-a20-arm-cortex-a7-dual-core-development-board. Wgrywasz do niego linuxa, podpinasz ekran (napewno są już jakieś gotowe biblioteki) i możesz zacząć pisać swój "system operacyjny" czyli jakiś system okienek, menadżer zadań czy coś innego. Ale jak już mówiłem nawet ciężka praca nie zbliży cię za bardzo do tego co mamy teraz dostępne na wyciągnięcie telefonu.
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
Dzięki wielkie! :D W końcu satysfakcjonująca mnie odpowiedź!
+2 głosów
odpowiedź 4 lipca 2015 przez Grzesiek Eleryk Mądrala (6,820 p.)
Zacznij od procesorów AVR.
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
Co masz na myśli???
komentarz 4 lipca 2015 przez SebastianGomularz Dyskutant (9,370 p.)
Czyli na razie takiego systemu nie zrobisz
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
Chodzi wam o to żebym najpierw zaczął programować na mikrokontrolerach???
komentarz 4 lipca 2015 przez Grzesiek Eleryk Mądrala (6,820 p.)
Proces tworzenia systemu operacyjnego jest bardzo skomplikowany. Począwszy od wybrania platformy po pisanie jądra. Ciekawsze jest pisanie programów na procesory avr. Pracujesz wtedy tak jakby nad jądrem.
komentarz 4 lipca 2015 przez SebastianGomularz Dyskutant (9,370 p.)
Poczytaj w internecie tam jest więcej o tym. PS. lepiej nie bierz się za pisanie nowego systemu tylko rób np. modyfikacjie androida
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
Póki co to jedynie programowałem mikrokontrolery AVR typu ATMega328 w C++ :D Ale skoro to takie skomplikowane - czas zacząć już się uczyć tego :) Jeśli chce żeby mi coś z tego wyszło :D
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
Akurat nad modyfikacją Androida sie nie zastanawiałem :) Tak więc mam już zajęcie na te wakacje :D I pytanie dodatkowe: Czy stary smartphone (Xperia x8) z androidem 2.1-2.2 podda sie modyfikacji???
komentarz 4 lipca 2015 przez SebastianGomularz Dyskutant (9,370 p.)
Jak każdy ale wiesz to nie takie hopsiup zapewne będziesz musiał pisać lub uzyjesz juz istniejacego kernela oraz bootloader
komentarz 4 lipca 2015 przez eluwingo Użytkownik (590 p.)
To akurat jest pewne na 100%
komentarz 6 lipca 2015 przez eluwingo Użytkownik (590 p.)
Nie chcę robić własnego androida. Ja chcę zrobić system który obsługuje np. podłączenie czegoś przez port USB i kontrolowanie tego

Podobne pytania

+1 głos
4 odpowiedzi 527 wizyt
0 głosów
1 odpowiedź 192 wizyt
pytanie zadane 29 grudnia 2020 w Sprzęt komputerowy przez Pomocnik01 Nowicjusz (150 p.)
+1 głos
1 odpowiedź 1,169 wizyt

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...