FS2410移植SDIO-WIFI模块笔记

4星 · 超过85%的资源 需积分: 18 8 下载量 196 浏览量 更新于2024-09-15 收藏 3KB TXT 举报
"FS2410 SDIO-WIFI移植笔记" 在本文档中,讨论的是将SDIO接口的WiFi模块移植到基于FS2410芯片的硬件平台上的过程。FS2410是一款ARM架构的微处理器,通常用于嵌入式系统,而SDIO(Secure Digital Input/Output)接口则允许设备通过单个接口连接到主机系统,例如添加无线网络功能。 (1) SDIO设备初始化 移植SDIO-WiFi的第一步是配置FS2410微控制器(MCU)以支持SDIO设备。这涉及到修改`arch/arm/mach-s3c2410/mach-smdk2410.c`源代码文件。在这个文件中,添加了对SDIO的支持,包括包含必要的头文件如`<mach/gpio.h>`、`<linux/mmc/host.h>`和`<plat/mci.h>`。此外,定义了一个平台设备数组`smdk2410_devices`,其中包含了`s3c_device_sdi`,这是用于SDIO设备的条目。 为了设置SDIO设备的具体参数,创建了一个名为`smdk2410_mmc_cfg`的结构体,它包含了GPIO检测引脚配置(`gpio_detect = S3C2410_GPG(10)`)和其他相关配置,如电源设置和OCR(Operational Conditions Register)可用电压范围。 (2) 设备驱动配置与加载 在设备驱动部分,使用`S3c24xx_mci_set_platdata`函数设置平台数据,为即将添加的Marvel WiFi模块做准备。在Linux内核配置中,需要启用网络设备支持,特别是无线LAN支持,选择Marwell 8xxx系列Libertas SDIO 802.11b/g卡的驱动。同时,确保启用cfg80211无线配置API,以提供对802.11驱动的通用支持。 (3) 编译与加载驱动 移植过程中的关键步骤包括编译内核模块。使用`make`命令编译内核模块,然后将编译后的驱动模块(例如`libertas.ko`和`libertas_sdio.ko`)放置到系统的适当目录下,如 `/rootfs/filesystem/sdio`。 通过以上步骤,成功移植了SDIO-WiFi到FS2410平台上,使得设备具备了通过SDIO接口连接并使用无线网络的能力。在实际操作中,还需要进行驱动的加载、设备探测和网络连接的配置等后续工作,以确保WiFi功能的正常运行。