Androidos portfóliók 4

Androidos portfóliók 4

Android ICS 4.0.3 a Texas Instruments a SomIQ-AM37 processzor modul

Ebben a disztribúcióban léteznek források 3 platformra:

Csak a Beagleboard és később az AM37EVM támogatására vagyunk kíváncsiak a WLAN hozzáadására.







Mik a célok:
1) Az Android elindul és megjeleníti a grafikát a HDMI monitoron
2) Az egér működik
3) Ethernet hálózat működik
4) A segédprogramok működnek, referenciaértékek a gyülekezésből

1. lépés: Portálja a Linux kernelt

A következőkben egy meglehetősen általános eljárás a Linux kernel egyik platformról egy másik platformra való adaptálásához, így az itt leírt szabályok nemcsak az Android ICS-re és a SomIQ-AM37-re, hanem más platformokra is alkalmazhatók.

A Linux kernel különböző rendszerszolgáltatások, például feladat ütemező, memóriakezelés, fájlrendszer stb. Összeszerelése. Ezek az alkatrészek minden platformon gyakoriak, és nem igényelnek (általában) az egyes platformokra vonatkozó módosításokat, mert hardver függetlenek. Mi a hardverfüggő Linux alatt:

  • kezdeti hardveres inicializálás
  • vezető készlet

A platform kezdeti inicializálása fájlban történik (csak az ARM architektúrát, a TI Cortex-A8 processzorokat) / arch / arm / mach-omap2 / board-<название платформы>.c. Például a Beagleboard esetében az inicializálás a "arch / arm / mach-omap2 / board-omap3beagle.c" fájlban történik. Mivel a SomIQ-AM37 rendszer a Beagleboard rendszeren alapul, ezért a Beagleboard BSP-t (Board Support Package) használjuk.

1.1 lépés: Adja hozzá a SOMIQ_AM37 architektúrát a Linux kernelhez

Lépés 1.2 Adja hozzá a táblakártyát a kernelhez

A következő lépés a kezdeti Beagleboard inicializáló fájl másolása az újakra és javítás. A "arch / arm / mach-omap2" könyvtárban másolja a board-omap3beagle.c fájlt a board-somiq_am37.c fájlra

Add új fájlt a Makefile-hez. Nyissa meg a Makefile-t a "arch / arm / mach-omap2" könyvtárban, és keresse meg a BEAGLE-hoz kapcsolódó sorokat:

Másolás ezeket a sorokat, és cserélje ki a CONFIG_MACH_OMAP3_BEAGLE példányban CONFIG_MACH_SOMIQ_AM37, és cserélje ki a nevét a board-fájl:

Ezen Makefile fájlban van egy fájl is, amely támogatja a kamerákat, de még nincs rá szükség.

Most hozzá kell adnia a SOMIQ_AM37 architektúrát a Kconfig konfigurációs fájlhoz. Nyissa meg a Kconfig fájlt a "arch / arm / mach-omap2" könyvtárban, és keresse meg a BEAGLE-hoz kapcsolódó részt:

Másolás ezeket a sorokat, és cserélje MACH_OMAP3_BEAGLE a MACH_SOMIQ_AM37 és OMAP_PACKAGE_CBB a OMAP_PACKAGE_CUS. Az utolsó csere szükséges, mert Beagleboard alkalmazásra CBB processzor házban, és használják SomIQ-AM37 processzorok CUS házban. Ez a beállítás szükséges a PIN MUX helyes konfigurálásához a rendszermagban. A PIN MUX az egyes processzorcsapokhoz tartozó hét funkció közül választhat. Ennek eredményeként a következő sorokat adja hozzá a fájlhoz:

1.3 Fájlfájl szerkesztése

Először is van egy blokk a fejléc fájl tartalmazza:

Ezután jön egy kód, amiért a készüléket USB-n keresztül csatlakoztatta (itt nem változtatunk semmit):

Ezután a Beagleboard platformra vonatkozó kód kezdődik:

mert A Beagleboard több éve fejlődik, majd a rendszer sokszor megváltozott, a processzorok, a memória, a GPIO vonalak elhelyezkedése stb. Megváltoztak. Ahhoz, hogy egy magja mindezen konfigurációkat kezelje, a Beagleboard fejlesztői 3 processzorvonalat osztottak meg, amelyeket a fórumon felülvizsgálták. Ezért az első dolog, amit a BSP Beagleboard határoz meg arról, hogy melyik fórumon működik. A SomIQ-AM37 modul egy konfigurációban működik (egyelőre), ezért a tábla felülvizsgálata nem szükséges. Ezért töröljük a következő kódot:

A következő a flash NAND szakaszainak leírása, ha a táblán van (nem változik):

Ekkor kezdődik a kód a kártyán lévő különféle perifériás eszközökhöz közvetlenül kapcsolódó kód. Itt hozzáadhat funkciókat a DSS processzorvezérlőhöz, amely a célkészülék grafikus megjelenítéséért felelős. A Beagleboard közvetlenül az S-Video vagy a HDMI / DVI kijelzőn keresztül működtetheti a TV-készüléket, így mindegyikre hangolt:







  • beagle_enable_dvi / beagle_disable_dvi funkció - illetve be- és kikapcsolja a monitort (vezérelt GPIO vonal, amely csatlakozik a chip TFP410, bemenő teljesítmény Down Ie transzfer chip Power Down mód letiltja a kimenet a monitor ;.
  • omap_dss_device struktúrák létrehozása és objektumok képviselik a fizikai eszközök: beagle_tv_device (TV) és beagle_dvi_device (DVI monitor);
  • csatlakoztassa a feszültségszabályzókat a TV és DVI kimenetekhez: beagle_vdac_supply és beagle_vdvi_supply. Erre azért van szükség, hogy az energiafogyasztást a lehető legnagyobb mértékben csökkentse, és kapcsolja ki a megfelelő szabályozót, ha nem használja;
  • a beagle_display_init () függvény hozzáfér a GPIO vonalhoz a DVI megjelenítés engedélyezéséhez / letiltásához. A GPIO-szám a beagle_dvi_device.reset_gpio szerkezeti mezőben kerül tárolásra

A DSS készen áll és beállítja az MMC kártyát, ez SD:

Felhívjuk figyelmét, hogy a létrehozott struktúra van jelen gpio_wp mező (Write Protect kártyák SD), de Somiqboard hordozó fedélzetén van szerelve microSD kártyahely, amely nem rendelkezik vezeték Write Protect. Tehát ahelyett, hogy Számok GPIO 29. sor, írunk „-EINVAL”, és ezáltal arról tájékoztatja a vezetőt MMC, hogy van egy ilyen jel van jelen. Emellett eltávolíthatja az MMC_CAP_8_BIT_DATA zászlót is, mert van egy 4 bites kártya. Javítások után:

Most csatlakoztassa a fizikai feszültségszabályozókat a meghajtókhoz:

beagle_vmmc1_supply park és beagle_vsim_supply, beagle_vaux3_supply, beagle_vaux4_supply biztonságosan hagyni, mivel VSIM, VAUX3, VAUX4 csak TPS65950 teljesítmény szabályozó, és az általunk használt TPS65920 fizikailag nincs jelen. Azonban a szabályozók ezen meghatározásai lehetnek például. nem zavarják a munkát, de semmi értelme sem.

Most konfigurálja a GPIO-t, amely a TPS65920 tápfeszültség chiphez van kötve (számos funkciója van a tápellátás mellett). A beagle_twl_gpio_setup () függvényben törölje a következő sorokat:

Ebben a szakaszban állítsa be a Write Protect sort, amelyet nem használunk

Mióta töröljük a VSIM vezérlő említését nincs fizikailag:

Ezután vegye le az USB tápfeszültség-vezérlőt, mert a Somiqboardon nem:

Ugyanezen okból is törölje a következőket:

Most ez a funkció hozzárendeli a TFP410 leállítási vezérlő vonalat, bár ez a vonal a processzorhoz kapcsolódik, nem pedig a TPS65920:

Folytatni fogjuk a folytonosságot, de egy újabb sort adunk hozzá (a Somiqboard + SomIQ-AM37 linken GPIO_10 sor), és a többiet töröljük, így:

Teljesen törölje a következő blokkot:

Elhagyjuk a LED-vezérlő vonalakat a SomIQ-AM37 modulon, RDY jelzéssel. Ez magában foglalja az u-boot-ot, és kialszik, amikor a rendszermag elindul.

A következő blokk teljesen törölve van:

A beagle_twl_gpio_setup függvény be van állítva, és a beagle_gpio_data struktúrája változatlan marad.

Most a feszültségszabályozók hangolják és kapcsolódnak bizonyos eszközökhöz:

  • beagle_vmmc1 - változatlan maradjon
  • beagle_vsim - törölje az egész struktúrát, mert nincs szabályozónk
  • beagle_vdac - változatlan maradjon
  • beagle_vpll2 - változatlan maradjon
  • beagle_vaux3 - törlés
  • beagle_vaux4 - törlés

Most állítsd be a TPS65950 audiokodekjét, de a SomIQ-AM37 a TPS65920, amely nem rendelkezik audiokodekkel, ezért töröljük:

Végül a leírásban a TPS65920 (TWL) szerkezetében töröljük azokat a sorokat, amelyeket korábban már töröltünk és kapunk:

Továbbá a beagle_i2c_boardinfo, a beagle_i2c_eeprom és az omap3_beagle_i2c_init függvények változatlanok maradnak. A gpio_leds struktúrában törölje a usr0 és usr1 LED-eket leíró sorokat, mert nem a Somiqboardig.

A következő a GPIO vonal hozzárendelése, amelyhez a Beagleboard és a Somiqboard USER gombja csatlakozik - nem változik:

Menj az omap3_beagle_init_irq () függvényre, és távolítsd el az omap3_beagle_version bejegyzést:

Ebben a struktúrában a Beagleboard számára GPIO_147 vonal van hozzárendelve az USB PHY visszaállításához. A SomIQ-AM37 modullal a 186 vonalat használják erre a célra, így helyes 147 a 186-ra.

Most menj a fő funkcióhoz, amelyet a rendszermag felhívja a board inicializálásakor: omap3_beagle_init (). Az omap3_beagle_init_rev () függvényhívást eltávolítjuk - meghatározza a Beagleboard revízióját. Ezután cserélje ki a 170-es számot 10-tel, mert ez a 10 vonal, amely szabályozza a TFP410 (HDMI) felvételét:

Most módosítania kell a gép azonosítóját ebben a fájlban, hogy az ebből a fájlból származó funkciókat az u-bootból történő átvitel során hívja le. Nézd meg a fájl legfrissebb blokkját:

A MACHINE_START makró megadja a gépazonosítót - OMAP3_BEAGLE és a kernel által kinyomtatott szövegkódot bootoláskor. Helyezzük át a következőkkel:

Ebben a szakaszban szinte teljesen befejeztük a SomicQ-AM37 modullal kapcsolatos BSP létrehozásának munkáját. Azonban még nem realizált Ethernet hálózati funkcióval rendelkezünk. A SomIQ-AM37 modult az SPI1 processzorhoz csatlakoztatott Micrel KSZ8851SNLI Ethernet vezérlő telepíti. Ezért az omap3_beagle_init () függvény meghívása előtt adja hozzá a következő sorokat:

Szintén fel kell venni az irq.h fejlécfájlt, hogy megszakításokkal dolgozhasson. Adja hozzá a következő sort a fájl elején, ahol az összes kizárás "#include". "

Most hozzá kell adnia az Ethernet-vezérlő inicializálását az omap3_beagle_init () függvényhez. Hívja a somiq_ks8851_init () szót a beagle_display_init () karakterlánc előtt:

Nos, végre kijavíthatja a "beagle" szót a "somiq" -hoz, hogy később ne keveredjen.

Lépés 1.4 Konfigurációs fájl létrehozása

Az utolsó lépés egy konfigurációs fájl létrehozása. Ehhez a Beagleboard készenléti konfigurációját használjuk fel és javítjuk ki. A rendszermagforrások gyökerén futtatja a parancsot:

Megjelenik egy .config fájl, amely tartalmazza a teljes rendszermag konfigurációt. Kézzel ez a fájl nem helyes, de a parancsot végre kell hajtania:

Megjelenik egy teljesen strukturált menü, amely tartalmazza a rendszermag konfigurációját. Menj a Rendszertípus-> TI OMAP 2/3/4 Különleges funkciókhoz -> és távolítsd el a szóközt a Beagleboard-ból, és fordítsd el a csillagot a SomIQ-AM37-szel szemben. A menüben ugorjon a gyökérbe, és válassza az Eszközvezérlők-> Hálózati eszköz támogatása -> Ethernet (10 vagy 100Mbit) opciót. Itt a "Micrel KS8851 SPI" elemet csillaggal jelöljük.

Ez minden. Most nyomjuk meg többször az EXIT gombot, amíg a "Változások mentése a konfigurációban" kérdés jelenik meg. Megjelenik - válasszuk a YES lehetőséget. Most összeállíthatja a rendszermagot.




Kapcsolódó cikkek