IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 嵌入式linux开发板USB功能测试,内核配置USB虚拟串口功能 -> 正文阅读

[开发测试]嵌入式linux开发板USB功能测试,内核配置USB虚拟串口功能

一、内核配置

首先需要配置内核,进入kernel文件夹,执行指令make menuconfig
进入图形化界面

Devices Drivers--->
	[*]USB supprot---->
			[M]USB Gadget Support ---->
				[M] USB Gadget Drivers 
				   [M] Serial Gadget (with CDC ACM and CDC OBEX support) 

保存到.config文件,我用的是sigmarstar的222D板子,内核装载的时候,先默认保存到.config文件,需要手动将该文件的内容复制到对应的规格的配置文件,我的是pioneer3_ssc020a_s01a_spinand_demo_qfn128_dualSensor_usbcamera_defconfig
进入到kernel文件夹
执行modules编译指令
make modules
编译完胜以后,会在kernel/modules生成对应的ko文件;
g_serial.ko
libcomposite.ko
usb_f_acm.ko
usb_f_obex.ko
usb_f_serial.ko
u_serial.ko

二、内核加载驱动文件

有两种加载方式:

1.手动加载

将生成的ko文件下载进开发板,使用命令
insmod _serial.ko
insmod _libcomposite.ko
insmod usb_f_serial.ko
insmod usb_f_obex.ko
insmod _usb_f_acm.ko
insmod g_serial.ko
注意加载顺序不能错!
使用lsmod 可以查看已经加载的modules
加载成功,对于sigmarsar的板子来说,会提示:
<<usb<>[GADGET] UDC start
<<usb<>[GADGET] PULL (on)

2.自动加载

Sigmarstar的ko加载有自动的脚本,可以直接放在project/kbuild/customize/4.9.84/p3/dispcam/kernel_mod_list_late
添加进去,该文件会将加载内容写入到开发板customer目录下的demo.sh内,用脚本自动加载,,
也可以直接在demo.sh将第一种加载的命令写入,实现自动加载。

3.修改设备名(modules)

开发板的/dev/下会出现/dev/ttyGS0这个设备,
使用命令cat /proc/devices,
找到251 ttyGS
表示tty设备和对应的id号;
使用命令
mknod /dev/usb_serial c 254 0
将ttyGS0改名为usb_serial

4.USB虚拟串口测试

加载完成以后,用USB线连接到PC,会出现一个虚拟串口;

①接收数据

开发板端,使用命令,监测串口数据
cat /dev/usb_serial
PC端,打开串口工具,发送字符串,注意发送的时候需要添加回车换行,否则数据会阻塞在串口缓冲区!
在开发板端会收到对应的数据;

②发送数据

PC端,打开串口工具,以及对应的串口;
开发板端,使用命令
echo 12345 > /dev/usb_serial
PC端串口工具就会收到12345;
参考连接

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 12:01:59  更:2022-02-26 12:03:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:32:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码