• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

应用开发笔记 |MYD-YA157C-V2开发板WIFI&BT 模块的移植

2021/01/15
77
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本次开发笔记主要内容是 WIFI&BT 模块、SDIO WIFI 模块的移植和测试。

1. 硬件资源

SDIO WIFI 模块

USB-TTL 模块

2. 软件资源 Linux 5.4.31 

3. 环境准备

Linux 虚拟环境

安装好 SDK

4. 操作步骤 

4.1. 移植 AP6212 

这个移植一般分两步,设备树配置硬件信息和拷贝 wifi 固件到系统。 1) 设备树配置 wifi 硬件信息

351 /* Wifi */

352 &sdmmc3 {

353    arm,primecell-periphid = <0x10153180>;

354 pinctrl-names = "default", "opendrain", "sleep";

355    pinctrl-0 = <&sdmmc3_b4_pins_a>;

356    pinctrl-1 = <&sdmmc3_b4_od_pins_a>;

357    pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;

358    non-removable;

359    st,neg-edge;

360    bus-width = <4>;

361    vmmc-supply = <&v3v3>;

362    mmc-pwrseq = <&wifi_pwrseq>;

363    #address-cells = <1>;

364    #size-cells = <0>;

365    keep-power-in-suspend;

366    status = "okay";

367

368 brcmf: bcrmf@1 {

369 reg = <1>;

370 compatible = "brcm,bcm4329-fmac";

371 };

372 };

这里分别对几个关键设备树语法进行说明 .

  • non-removable:表示不能进行热插拔,设备一直连接(比如 eMMC),因为板载的 AP6212 一直连接,所以需要此属性,假如是 SDIO WIFI 模块则不需要配置。bus-width = <4>:数据总线位 vmmc-supply:指向 regulator 设备树节点 mmc-pwrseq:指定电源上电顺序 keep-power-in-suspend:表示待机时不掉电 mmc 控制器存在子节点时,必须指定下面两个选项 #address-cells 值必须是 1 #size-cells 值必须是 0 其中 MMC 子节点属性 reg 该值必须是 0~7,其中 0 表示 SD 卡,1~7 表示 SDIO 设 备比如 SDIO 接口的 WIFI 芯片

2)配置内核 在内核目录运行 make menuconfig(先确认对应的 ARCH 是否是 arm),检查对应的配 置选项。Networking support->Wireless->cfg80211 - wireless configuration API 配置为

 

图 4-1. 无线设备管理配置

Device Drivers->Network device support->Wireless LAN->Broadcom FullMAC WLAN driver

图 4-2. 无线网络硬件 MAC 配置

3)编译并更新编译内核模块和设备树(详情请参考 UDG 手册),然后更新到开发板上面,在终端中 输入命令检查 brcmfmac 驱动模块有没有加载。root@myir:/# lsmod | grep brcm brcmfmac 258048 0 cfg80211 585728 1 brcmfmac brcmutil 16384 1 brcmfmac

4)驱动加载 当加载完成后,还需要加载固件,一般是驱动中断方式向系统文件申请固件,然后系 统文件把固件拷贝到内核 firmware buf,然后内核读取 wifi 固件并通过 SDIO 写入芯片内 部,这个固件路径一般是在内核定义好,也可以直接通过传入参数修改固件路径。默认固 件路径是 /lib/firmware/brcm。

图 4-3.WIFI 固件路径

AP6212 模组 wifi 需要加载的固件为:brcmfmac43430-sdio.bin /brcmfmac43430- sdio.myir,stm32mp157c-ya157c-v2.txt/brcmfmac43430-sdio.clm_blob 蓝牙需要加载的固件:BCM43430A1.hcd5)wifi 测试过程 Wifi 测试详情请参考《MYD-YA157C_Linux 软件评估指南》。4.2.SDIO WIFI 移植和测试 SDIO WIFI 模块移植一般也是分两步,设备树配置硬件信息,因为这个 SDIO WIF 用 的 TF 卡接口,所以 SDMMC1 设备树不需要配置什么,默认就可以。然后拷贝 SDIO WIFI 对应的固件到 /lib/firmware/brcm。1) 内核驱动配置 在内核目录运行 make menuconfig 确认对应的 SDIO WIFI 配置信息。Networking support->Wireless->cfg80211 - wireless configuration API->[*] enable powersave by default

图 4-4. 无线网络管理

Device Drivers->Network device support ->Wireless LAN-> [*] SDIO bus interface support for FullMAC driver

图 4-5.SDIO bus 接口支持

2) 查看接口 编译内核模块和设备树,然后更新到开发板上面,ifconfig -a 查看网络。

图 4-6.wlan1 网络

3) wifi 测试过程

root@myir:~# wpa_passphrase "TP-LINK_D87A" > wifi.conf

wangsuna123

root@myir:~# wpa_supplicant -B -c wifi.conf -i wlan1

Successfully initialized wpa_supplicantroot@myir:~# [ 241.197380] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready

root@myir:~#

root@myir:~# udhcpc -i wlan1

udhcpc: started, v1.29.3

udhcpc: sending discover

udhcpc: sending select for 192.168.0.102udhcpc: lease of 192.168.0.102 obtained, lease time 7200

/etc/udhcpc.d/50default: Adding DNS 192.168.1.1

/etc/udhcpc.d/50default: Adding DNS 192.168.0.1

root@myir:~# echo "nameserver 114.114.114.114" > /etc/resolv.conf

root@myir:~# ping www.baidu.com

PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.

64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=53 time=28.5 ms

64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=53 time=36.6 ms

64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=53 time=34.8 ms

获取完整 MYD-YA157-V2 开发板 WIFI&BT 模块的移植笔记

http://www.myir-tech.com/soft.asp?id=1200

了解 MYD-YA157-V2 开发板信息,请访问:

http://www.myir-tech.com/product/myd-ya157c.htm

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TCAN1042VDRBRQ1 1 Texas Instruments Automotive fault-protected CAN transceiver with I/O level shifting and flexible data-rate 8-SON -55 to 125

ECAD模型

下载ECAD模型
$7.05 查看
KSZ8895MQXI 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER
$6.88 查看
ATA663254-GBQW 1 Microchip Technology Inc Interface Circuit
暂无数据 查看
米尔科技

米尔科技

米尔电子,是一家专注于嵌入式处理器模组设计、研发、生产和销售于一体的国家级高新技术企业,也被评为专精特新企业。米尔电子深耕嵌入式领域10多年,致力于为企业级客户提供基于ARM、FPGA、RISC-V和AI等各种架构,稳定可靠的处理器模组,满足客户大批量产品应用部署的需求,同时为客户提供产品定制设计、行业应用解决方案和OEM的一站式服务。

米尔电子,是一家专注于嵌入式处理器模组设计、研发、生产和销售于一体的国家级高新技术企业,也被评为专精特新企业。米尔电子深耕嵌入式领域10多年,致力于为企业级客户提供基于ARM、FPGA、RISC-V和AI等各种架构,稳定可靠的处理器模组,满足客户大批量产品应用部署的需求,同时为客户提供产品定制设计、行业应用解决方案和OEM的一站式服务。收起

查看更多

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

米尔电子,是一家专注于嵌入式处理器模组设计、研发、生产和销售于一体的国家级高新技术企业,也被评为专精特新企业。米尔电子深耕嵌入式领域10多年,致力于为企业级客户提供基于ARM、FPGA、RISC-V和AI等各种架构,稳定可靠的处理器模组,满足客户大批量产品应用部署的需求,同时为客户提供产品定制设计、行业应用解决方案和OEM的一站式服务。 米尔英文简称“MYIR”,是“Make Your Idea Real”第一个大写字母的缩写。我们的理念是“专业服务助力客户成功”,目前米尔已通过专业高效的服务,帮助全球数万家企业的产品成功上市。