WEB开发网
开发学院手机开发Android 开发 Android 移植之 WIFI 阅读

Android 移植之 WIFI

 2010-03-16 16:36:00 来源:WEB开发网   
核心提示:1、前言硬件平台:marvel 310,软件平台:maemo4,Android 移植之 WIFI,内核:2.6.28 (经过marvel的移植)2、移植思想(1)WIFI 模块本身和 cpu 之间的接口:我们的模块和cpu 之间的接口是 sdio 的,也就是说必须要先保证 SDIO 本身是工作的;(2)WIFI 模块本

1、前言

硬件平台:marvel 310,软件平台:maemo4,内核:2.6.28 (经过marvel的移植)

2、移植思想

(1)WIFI 模块本身和 cpu 之间的接口:我们的模块和cpu 之间的接口是 sdio 的,也就是说必须要先保证 SDIO 本身是工作的;

(2)WIFI 模块本身的上电时序:模块都有它自己的规律,所以必须要根据 spec 了解它本身的上电过程,严格遵守;

(3)以太网接口的创建:我们的WIFI模块本身是建立在SDIO口之上,而对上都是提供以太网接口,所以必须要保证这个接口以及创建;

(4)特殊处理:不同的模块都有它特别的地方,比如我们用的是 8686 和 compo 也就是说它和蓝牙共用天线,所以需要在初始化的时候做特殊的处理,发送特殊的命令,才能工作;

3.、移植过程

(1)sdio 本身是通过 gpio 口模拟的,所以需要对 gpio 口进行配置 ;

static mfp_cfg_t littleton_mmc3_pins[] = {

GPIO7_2_MMC3_DAT0,

GPIO8_2_MMC3_DAT1,

GPIO9_2_MMC3_DAT2,

GPIO10_2_MMC3_DAT3,

GPIO103_MMC3_CLK,

GPIO105_MMC3_CMD,

};

void pxa3xx_enable_mmc3_pins(void)

{

pxa3xx_mfp_config(ARRAY_AND_SIZE(littleton_mmc3_pins));

}

在 littleton_init ()函数里面添加下面这一行: pxa3xx_enable_mmc3_pins();

(2)wifi 模块本身的初始化 ;

#define MFP_WIFI_V18_ENABLE (GPIO26_GPIO)

#define MFP_WLAN_RESETN (GPIO99_GPIO)

#define WIFI_WAKEUP_HOST (GPIO104_GPIO) /*error must be changed*/

#define WLAN_ENABLE_PIN 26

#define WLAN_RESET_PIN 99

#define M200_B

#ifdef M200_B

#define BT_RESET_PIN EXT1_GPIO(1)

#define BT_RESET_GPIO (GPIO1_2_GPIO)

#else

#define BT_RESET_GPIO (GPIO6_2_GPIO)

#define BT_RESET_PIN EXT1_GPIO(6)

#endif

static mfp_cfg_t lin2008_wifibt_pins[] = {

MFP_WIFI_V18_ENABLE,

MFP_WLAN_RESETN,

WIFI_WAKEUP_HOST,/*wakeup host*/

};

1 2 3 4  下一页

Tags:Android 移植 WIFI

编辑录入:coldstar [复制链接] [打 印]
赞助商链接