一、内核配置

首先需要配置内核,进入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;
参考连接

嵌入式linux开发板USB功能测试 Sigmstar星辰科技SD222D相关推荐

  1. 嵌入式Linux开发板_WIFI无线网卡驱动移植

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  2. 嵌入式Linux开发板上NFS文件系统的使用【ZT】

    本文转载于http://www.dz863.com/RTOS/Embedded-linux/Linux-NFS.htm 本文描述了在开发嵌入式linux系统时调试程序的一个方法,本文以深圳远峰的YF2 ...

  3. linux开发板usb摄像头,ARM9+Linux下USB摄像头图像采集

    终于实现了在Micro2440+Linux2.6.29环境下通过NFS文件系统实现USB摄像头图像采集.在此,做一个总结,以备后续参考. 实验条件:RedHat9.0(内核版本2.4.18),Micr ...

  4. 嵌入式linux开发板使用pulseaudio连接蓝牙耳机播放音频文件

    pulseaudio基于a2dp音频架构,其使用流程如下: 首先需要一直bluez5及pulseaudio,此处关于一直pulseaudio详见其他博客. 配置使用流程: 1.开启蓝牙设备 //此处与 ...

  5. 嵌入式linux系统连接USB热敏打印机

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.开发环境 二.Linux内核环境配置 1. 配置Linux内核 2. 内核编译 三.将编译好的内核下载到板子中 四 ...

  6. ubuntu20.04.1 64位搭建嵌入式linux开发环境

    目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...

  7. 嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)

    前言: 最近在学习正点原子嵌入式Linux开发板uboot的移植实验,移植完之后想测试网络部分的驱动能否工作正常.最后经过测试发现tftp可以正常下载,nfs却一直报错无法下载文件,最后也是折磨了两天 ...

  8. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  9. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

最新文章

  1. Win2003 防木马、权限设置、IIS服务器安全配置整理
  2. 2、EXPLAIN和DESCRIBE(查询分析器)
  3. php7-internal 7.7 zval的操作
  4. php用go做跳转翻页,go.php跳转不输出权重的跳转方式真的有用么?
  5. HBase集群环境部署
  6. The path C:\Oracle\Middleware\wlserver_10.3 contains the wrong version of WebLogic Server. Expect
  7. 【TWVRP】基于matlab人工鱼群算法求解带时间窗的车辆路径规划问题【含Matlab源码 161期】
  8. unity xlua 在vs2019下断点调试(babelua)
  9. linux下安装oracle客户端
  10. ArcCatalog导出数据
  11. PS Adobe软件使用 快捷键
  12. Win7下面更改屏幕旋转快捷键的方法
  13. css margin 塌陷 经典bug
  14. 第二届春回燕归 浙籍精英峰会见闻
  15. 跨境电商属于外贸吗,Starday跨境电商靠谱吗?
  16. php每30分钟计算一次收益,PHP 计算用户的累计收益
  17. 最新UE下载地址和可使用注册码(公布)
  18. kali Linux单用户模式的退出方法
  19. fest556_FEST-Swing 1.2发布
  20. 神经网络U-net性能分析,为什么u-net性能可以这么好

热门文章

  1. 深入理解Java虚拟机读书笔记十二
  2. 人形机器人火出圈!OpenAI领投挪威人形机器人公司“1X”
  3. 银行业务知识之票据(深入浅出版)
  4. js去掉html标签
  5. MAXPLUS教程 -第3章 MAXPLUS软件的使用(第1节)
  6. Java之猜数字与机动车实验
  7. ctfshow---sql注入(214-253)
  8. 一篇文章搞定《Android布局优化》
  9. 亲身经历——下载Scrapy
  10. tomcat下载解压包