基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)

news2025/1/20 4:52:58

目录

前  言

1 SDIO WIFI模块测试

1.1 STA模式测试

1.2 AP模式测试

1.3 SDIO WIFI驱动编译

前言

本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.1.0

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0

无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。

创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

 评估板正面图

SDIO WIFI模块测试

本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。

SDIO WIFI模块支持STA和AP模式,具体说明如下:

(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。

(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。

本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。

表 1

bin

测试脚本、程序配置文件

driver

SDIO WIFI模块驱动

src

SDIO WIFI模块驱动源码

请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。

1.1 STA模式测试

进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。

Target# insmod 8189fs.ko

执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。

Target#ifconfig eth0 down

Target#ifconfig eth1 down

Target#killall -9 wpa_supplicant

Target#ifconfig wlan0 up

Target#ifconfig

在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。

Target#./wifi_setup.sh -i Tronlong-test -p omapl138

执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。

Target#ifconfig

Target#ping 192.168.1.100

在评估板文件系统执行如下命令,查看评估板IP地址,使用Iperf3工具测试评估板与PC机的网络通信带宽。

Target#ifconfig

Target#iperf3 -s

在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。

Host#iperf3 -c 192.168.1.103 -i 1

1.2 AP模式测试

请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。

Target# insmod 8189fs.ko

执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。

Target#ifconfig eth0 down

Target#ifconfig eth1 down

Target#killall -9 wpa_supplicant

Target#ifconfig wlan0 up

Target#ifconfig

在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。

Target#./ap_setup.sh

如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。

Target# mv /dev/random /dev/random_ori

Target# ln -s /dev/urandom /dev/random

程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。

将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。

执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。

Target#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址

在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。

Target#ifconfig

Target#iperf3 -s

在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。

Host#iperf3 -c 192.168.0.1 -i 1

测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。

1.3 SDIO WIFI驱动编译

请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。

Host#tar -xf rtl8189FS.tar.gz

执行如下命令,进入驱动源码目录,修改顶层Makefile文件

Host#cd rtl8189FS/

Host#vim Makefile

Makefile文件内容请按如下说明进行修改。

KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径

在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。

Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi

Host#make

编译完成后,即可在当前路径下生成驱动镜像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/925675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF怎么批量加密?掌握这招事半功倍

PDF文件是一种广泛使用的文档格式,而加密可以有效地保护PDF文件的安全性。当需要批量加密PDF文件时,以下是一些方法及注意事项。 PDF批量加密的方法 相信很多小伙伴平时都是直接在PDF阅读器中对文档进行加密,但是这样只能每次对当前打开的文…

当你在浏览器中输入了网址访问时产生了哪些技术步骤

当你在浏览器中输入了网址访问时产生了哪些技术步骤 前段时间在知乎上了看一些网络方面的知识,刚好小编自己也是从事这一块的相关工作由对网络方面有一定的了解。今天我们来讲讲,当你在浏览器中输入本站域名并回车后,这背后到底发生来什么事…

yolov3加上迁移学习和适度的数据增强形成的网络应用在输电线异物检测

Neural Detection of Foreign Objects for Transmission Lines in Power Systems Abstract. 输电线路为电能从一个地方输送到另一个地方提供了一条路径,确保输电线路的正常运行是向城市和企业供电的先决条件。主要威胁来自外来物,可能导致电力传输中断。…

【高阶数据结构】二叉树搜索树 {概念;实现:核心结构,增删查,默认成员函数;应用:K模型和KV模型;性能分析;相关练习}

二叉搜索树 一、二叉搜索树的概念 二叉搜索树又称二叉排序树,它可以是一棵空树,若果不为空则满足以下性质: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点…

Cadence软件屏幕显示问题

问题 就是今天打开Cadence软件想导出网表看一下,发现没有显示确定按钮什么的,那个窗口也是无语,不能移动,缩放也只能左右缩放,还不能缩小什么的,真的醉了,后面就是调整窗口的分辨率。 因为我最…

windwos系统如何创建typecho个人博客并通过内网穿透实现无公网IP访问

文章目录 前言1. 环境安装2.安装Typecho3.安装cpolar内网穿透4. 固定公网地址5.配置Typecho 前言 Typecho是一款PHP语言编写的开源博客程序,它是一个轻量级的内容管理系统,专注于博客领域。支持多用户、多站点、多语言等功能,可以满足不同用…

Win10怎么关闭自动更新?简单4招为你解决烦恼!

“买了一部win10的电脑,每次电脑自动更新都会导致我一些文件丢失或者系统错误。怎么才能关闭win10自动更新的功能呢?” Win10自动更新有时候会很影响我们使用电脑。在目前电脑用户中,使用win10系统的用户占大多数。因此很多朋友都会反映win10…

LLM(大语言模型)解码时是怎么生成文本的?

Part1配置及参数 transformers4.28.1 源码地址:transformers/configuration_utils.py at v4.28.1 huggingface/transformers (github.com) 文档地址:Generation (huggingface.co) 对于生成任务而言:text-decoder, text-to-text, speech-…

华为质量管理:从产品质量到用户体验,Kano模型成为新方向

目录 前言 华为质量管理的四个阶段 基于 IPD 如何做质量管理呢? CSDN相关课程 作者简介 前言 今天继续来谈谈华为流程体系中的质量管理过程。 通常来说质量具体是指产品的质量,也就是产品的使用价值及其属性。 产品再细分的话可以分为三个层次&a…

沃尔玛、亚马逊、ozon卖家必看:如何为旺季做准备?

近二十年来,得益于国家外贸政策的大力扶持,再加上近几年国家对跨境电商行业发展的高度重视,国货出海机会明显增多。 在政策利好的情况下,生产制造业的蓬勃发展等各种有利的局面,可谓是天时地利人和,那么在…

JetBrains 2023.2全新发布!IDEA、PyCharm等支持AI辅助

日前JetBrains官方正式宣布旗下IDE系列今年第二个重要版本——v2023.2全新发布,涵盖了 IntelliJ IDEA、PyCharm、WebStorm等一众知名产品,接下来我们一起详细了解一下他们的更新重点吧~ IntelliJ IDEA v2023.2——引入AI辅助开发 IntelliJ IDEA 2023.2…

java-CyclicBarrier、CountDownLatch、Semaphore 的用法以及 volatile 关键字的作用

CyclicBarrier、CountDownLatch、Semaphore 的用法 1. CountDownLatch(线程计数器 ) CountDownLatch 类位于 java.util.concurrent 包下,利用它可以实现类似计数器的功能。比如有一个任务 A,它要等待其他 4 个任务执行完毕之后才…

powerJob报错以及解决办法集锦

1. 本地测试成功新建任务并运行成功,但是部署到服务器时新建任务只要 “参数”有中文就无法报错 前台报错信息: ERROR:JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException…

MySQL 小数类型介绍

文章目录 前言1. 浮点类型1.1 数值精度说明1.2 整数超出范围1.3 小数超出范围1.4 精度误差说明 2. 定点类型2.1 数值精度说明2.2 整数超出范围2.3 小数超出范围 总结 前言 对于保证精度的数字,MySQL 也有对应的小数类型,下图是 MySQL 中小数类型概览。 …

Unity 之利用 localEulerAngle与EulerAngle 控制物体旋转

文章目录 概念讲解localEulerAngle与EulerAngle的区别 概念讲解 欧拉角(Euler Angles)是一种常用于描述物体在三维空间中旋转的方法。它使用三个角度来表示旋转,分别绕物体的三个坐标轴(通常是X、Y和Z轴)进行旋转。这…

cvat 安装部署

官网地址: https://github.com/opencv/cvat/tree/masterhttps://github.com/opencv/cvat/tree/master 1.从官网上下载源码地址。 2.配置环境变量 vim /etc/profile 或者执行: export CVAT_HOSTyour-ip-address 3.执行命令 docker-compose up -d …

视频中的声音怎么提取出来?这样做提取出来很简单

提取视频中的声音可以有多种用途。例如,我们可能希望从视频中提取音乐或音效,以在其他项目中使用。或者,可能需要将视频中的对话转录为文本,以便更轻松地编辑和共享内容。无论目的是什么,提取视频中的声音都可以帮助我…

Dwg如何转dxf格式?分享三种转换小技巧

DWG格式是CAD的原生格式,但是DXF文件格式是CAD支持的通用格式。将DWG文件转换为DXF文件可以使其他软件能够读取和编辑这些文件,因为大多数CAD软件都支持DXF格式。此外,DXF文件比DWG文件更小,在传输和存储时更方便。因此&#xff0…

“摧毁我们的文明”?推特博主马斯克批评TikTok:我决定不再使用

根据8月25日的消息,推特博主DogeDesigner发表了关于TikTok的批评言论,声称这个应用正在“摧毁我们的文明”。 他在配图中展示了两种形象,左边的形象代表着各方面的专家知识,如天文学、数学、物理学、哲学和生活等,但似…

从LeakCanary看内存快照生成

前面我们已经完成了生命周期监控并且可以通过ReferenceQueue和WeakHashMap的比较确定哪些对象发生泄漏了,那么接下来需要考虑的就是如何确定这个对象是被谁持有导致泄漏的呢? 从内存泄漏一文中可知,当我们使用Android Studio或MAT分析内存泄…