logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zbudować platformę ARM do uruchomienia Androida od podstaw?

webmortiz 16 Wrz 2012 22:29 1791 7
REKLAMA
  • #1 11318448
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    Witam,

    Chciałbym samemu od podstaw zbudować platformę ARM na której da się uruchomić Androida. Jedyny problem to taki że nigdy wcześniej nie budowałem nic na czym można odpalić system operacyjny. Nie do końca sobie też wyobrażam czym taki sprzęt powinien się charakteryzować, jaką powinien mieć architekturę, czy jest potrzebny jakiś bootloader i na jakiej zasadzie wrzuca się Androida na taką platformę.

    Jedyne co znalazłem szukając, to otwarte platformy typu Panda board czy beagle board, jednak proszę tutaj o wprowadzenie teoretyczne z czym to się je i jak to ugryźć, ewentualnie jakieś namiary na konkretne informacje

    pozdrawiam
  • REKLAMA
  • REKLAMA
  • REKLAMA
  • #4 11322632
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    Dzięki za sugestie. Jednak rozchodzi mi się tutaj bardzie o jakieś naprowadzenie jak się ma do siebie podłączenie do ARMa zewnętrznego ramu, karty pamięci(czy innego magazynu danych) czy chociażby nawet (jeśli oczywiście jest potrzebne) jakiegoś układu graficznego a wykrycie potem tego przez androida. Czy ARM ma dedykowane wyprowadzenia pod np. ram (niestety nie znam jeszcze ARMów). Jak następnie wygląda sprawa z bootowaniem systemu i wgrywaniem go. Co nie co już wyczytałem o rekompilowaniu kerneli linuxa i androida i mergowaniu ich, ale skąd potem taka platforma ma wiedzieć jak bootować system?
  • REKLAMA
  • #5 11323484
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Prostrze ARMY (7,9 Cortex-M3) raczej nie uciągną Androida. Poza tym musiałbyś mieć przygotowany port (obsługa wyświetlacza, peryferiów itp. itd.) Wydaje mi się, że zbudowanie takiego systemu we własnym zakresie byłoby bardzo czasochłonne, tym bardziej, że nie masz żadnego doświadczenia w programowaniu armów. To tak jak zaczynać pisać swój pierwszy program na PC od stworzenia gry ala "Quake".
    Proponuję poszukać jakiejś gotowej platformy rozwojowej dla Anrdoida.
  • #6 11325717
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    Ok, zakładając że rzeczywiście mija się to z celem, roboty będzie za dużo i że w w ogóle się to nie uda. Ale chciałbym zrozumieć podstawową ideę, bo nie daje mi to spokoju i od dłuższego czasu zastanawia. A najbardziej co i w jaki sposób inicjuje bootowanie systemu na takiej platformie.
  • Pomocny post
    #7 11325747
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    W zasadzie wygląda to tak jak na każdej innej platformie.
    Twoje pytania są czysto natury technicznej, żeby wyjaśnić nieco kilka rzeczy:

    - kompilujesz kernel systemu na daną platformę, kompilacja powinna uwzględnić wszystkie niskopoziomowe sterowniki systemowe (stąd urządzenie wie jak obsługiwać np wyświetlacz, jak gadać z pamięcią, jak obsłużyć klawiaturę itd). O ile kernel (jeśli nie napisałeś swojego) może być dostępny od ręki (ubuntu czy inny linux), to musisz dopisać do niego sterowniki, przetestować je i dodać do kompilacji
    - wgrywasz bootloader na samego ARMa. Jest to mały programik, którego zadaniem jest załadowanie obrazu systemu z np karty SD do RAMu i uruchomienie systemu

    Są to informacje bardzo ogólne, po szczegółowe musisz sięgnąć do internetu bo można na ten temat bardzo długo mówić. Pytałeś jak to jest, że system widzi sprzęt. Otóż nie widzi go. Żeby go obsłużyć trzeba napisać sterowniki. Dla kogoś, kto nigdy nie programował jest to prawie niemożliwe do zrealizowania :)

    http://free-electrons.com/doc/books/ldd3.pdf
  • #8 11325841
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    Dzięki za konkretną odpowiedź :) o to mi właśnie chodziło. Mam doświadczenie z AVRami, programować w kilku językach też umiem, jedynie co to muszę poznać architekturę ARMów i zbudować sobie jakiś programator. Nie będę ukrywał że chciałbym zacząć od czegoś ambitniejszego. Jak zaczynałem z AVRami zbudowałem sterownik silnika a potem od razu prototyp mini systemu a'la inteligentny dom i nie było jakoś ciężko a działało elegancko.

Podsumowanie tematu

✨ Użytkownik poszukuje informacji na temat budowy platformy ARM do uruchomienia systemu Android od podstaw, nie mając wcześniejszego doświadczenia w tej dziedzinie. W odpowiedziach poruszono kwestie związane z architekturą ARM, potrzebą bootloadera oraz sposobem wgrywania systemu. Zasugerowano, że prostsze procesory ARM, takie jak Cortex-M3, mogą nie być wystarczające do uruchomienia Androida, a budowa takiego systemu może być czasochłonna. Wskazano na konieczność kompilacji jądra systemu oraz napisania odpowiednich sterowników, aby system mógł rozpoznać sprzęt. Użytkownik z doświadczeniem w programowaniu AVR wyraził chęć do nauki architektury ARM i budowy programatora.
Wygenerowane przez model językowy.
REKLAMA