基于Android系統(tǒng)的家庭體感娛樂平臺
uboot中修改支持LAN9220網(wǎng)卡:針對硬件原理圖修改初始化I/O口、IRQ口,根據(jù)OMAP3530手冊的寄存器描述調整配置,完成網(wǎng)卡ID號識別、網(wǎng)卡初始化和makefile修改。
內核中修改支持LAN9220網(wǎng)卡:從原理圖確認網(wǎng)卡訪問基址為0x18000000(gpmc_cs3的基址),這個是物理地址,總線位寬為16,中斷引腳為GPMC_IRQ(對應OMAP3530的GPIO65),增加LAN9220平臺設備,配置內核將LAN9220靜態(tài)編譯進內核。
1.4.2 HDMI驅動
HDMI驅動包括平臺設備注冊和中斷、熱插拔初始化、HDMI音頻設備注冊和初始化、視頻分辨率設置和初始化,參考AD9889B AD9389B Programmer’S Guide.pdf和EIA/CEA-861-B標準。
1.4.3 音頻驅動
uboot中對音頻的輸出設置:
函數(shù)int misc_init r(void)中*((uint*)0x4807402c)=0x1f10;
//0x1f10或0x1f07
根據(jù)芯片手冊設置為低位0x10對應的音頻采樣頻率fs為44.1 kHz,128fs;低位0x07對應的音頻采樣頻率fs為44.1 kHz,256fs。
計算方法為:
實際應用中兩者都可以,我們使用的是采樣頻率fs為44.1 kHz,128fs。
在內核中對HDMI音頻進行初始化,并修改音頻驅動。在函數(shù)static int omap_mcbsp_dai_set_dai_fmt(structsnd_soc_dai*cpu_dai,unsigned int fmt)中令:
計算方法為:
此處必須和uboot中配置一致,統(tǒng)一為44.1 kHz,128fs,或是44.1 kHz,256fs,這里使用的是采樣頻率fs為44.1 kHz,128fs。
1.4.4 顯示驅動
DSS顯示驅動原理:
FB0→GFX→LCD,F(xiàn)B1→VID1→LCD
復制GFX層到HDMI和TV,實現(xiàn)HDMI和TV的CVBS同時輸出相同視頻內容。
FB0→GFX→HDMI→HDMI→VID1→TV→TV
其中,F(xiàn)B為FrameBuffer,GFX為圖形顯示層,VID為視頻顯示層。
2 操控手柄識別和游戲內容
2.1 操控的手柄識別
Android系統(tǒng)識別體感手柄,需要確認內核配置:
Device Drivers--> Input device support
*> Event interface
*> Event debugging
Device Drivers-->HID Devices
*>Generic HID support
*>USB Human Interface Device(full HID)support
評論