应用开发笔记 |myd-凯发app
文章来源:米尔科技 发布日期:2021.1.18 浏览次数:35 次 |
本次开发笔记主要内容是 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-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
本文来自凯发app-凯发k8官网科技,原文地址:
http://www.myir-tech.com/resource/553.asp,转载请注明出处。