为NanoPi编译CH340驱动模块ch34x.ko,arm/x86通用_debian ch340驱动-程序员宅基地

技术标签: Ubuntu16.04  

以NanoPi S2运行Lubuntu系统为例

Lubuntu系统为2018年新的固件,以后友善电子放出的固件只有ubuntu core/Lubuntu/Android三种,就是将以前的debian desktop换成了ubuntu core。统一使用ubuntu,应该是方便管理。

如果使用的系统内没有支持ch340 USB转串口芯片的驱动,那么我们该如何将驱动加入到系统中呢?

材料准备:

1、准备驱动程序

去ch340芯片的官网下载linux驱动,下载下来后,里面有3个文件。


因为我们是要在电脑上编译板子使用的驱动模块,修改Makefile内容如下

obj-m := ch34x.o
KERNEL_PATH := 此处填写linux内核源码目录
PWD := $(shell pwd)
all:
	make -C $(KERNEL_PATH) M=$(PWD) modules
clean:
	make -C $(KERNEL_PATH) M=$(PWD) clean
load:
	modprobe usbserial
	insmod ch34x.ko
unload:
	rmmod ch34x

将这三个文件拷贝到电脑Ubuntu的某一个目录

2、准备内核源码

我使用的是NanoPi S2,安装的固件是Lubuntu,该固件系统使用的linux内核是4.4版本,从友善的GitHub中下载对应的源码

建议使用浏览器打开,点击Clone or Download,Download ZIP进行下载,大约175MB大小,解压到电脑Ubuntu的某一个目录。

3、安装交叉编译器
确认你的电脑使用的是64位Ubuntu,进入wiki,下载 64位系统中使用的交叉编译器,点击Download即可,大约53MB大小,解压到电脑Ubuntu的某一个目录。
接下来按照 友善wiki进行操作,验证成功即可。

安装mkimage工具

sudo apt-get install u-boot-tools

编译驱动模块:

确认ch340驱动源码的Makefile的linux内核源码目录是否填写正确;
确认交叉编译器安装好了;
哦,好了,开始编译吧。
进入到ch340驱动源码目录,执行以下命令;
make ARCH=arm
显示大致如图所示,在 ch340驱动源码的目录生成了ch34x.ko文件,编译完成。

安装ch340.ko模块:

ch340驱动源码的目录中的Makefile和ch34x.ko拷贝到NanoPi S2上,执行make load进行安装。

卸载ch340.ko模块:

执行make unload进行卸载。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tunqimai9331/article/details/79148771

智能推荐

Spring各注册bean注解对应模式及其生命周期存亡_spring用注解设置bean的生命周期注解是那个-程序员宅基地

文章浏览阅读652次。一、注解模式@Component注解默认实例化的对象是单例,如果想声明成多例对象可以使用@Scope(“prototype”)@Repository默认单例@Service默认单例@Controller默认多例二、Spring中的bean的生命周期singleton(全局的)是随着spring的存亡而存亡prototype 又叫多例模式,用的时候就new一下,用完就没有了。session 存在这一次会话 session 中,session过期后它就没了。request_spring用注解设置bean的生命周期注解是那个

【微信小程序开发与设计】垃圾智能分类小程序_垃圾分类微信小程序-程序员宅基地

文章浏览阅读7.3k次,点赞12次,收藏73次。垃圾分类是将来生活可持续发展的必需项。但是很多人由于缺乏垃圾分类知识,或是因为垃圾分类困难,费时费力,所以没有好好贯彻垃圾分类政策,此时设计一款方便于群众进行智能化垃圾识别分类的微信小程序就显得尤为必要。_垃圾分类微信小程序

Android Loader简单使用_onloaderapk-程序员宅基地

文章浏览阅读831次。Loader在Android3.0引进,它让异步加载数据变得容易。特征:1.在Activity、Fragment中都可以使用2.Loader可以提供异步加载数据3.监视数据源的变化,当数据源发生变化的时候,会传递新的数据4.当loader重建的时候,会自动链接到最后一个Loader的cursor数据上,而不去进行重新查找。在app中使用Loader的时候,可能使_onloaderapk

【量化】量化交易入门系列2:经典的量化交易策略(上)-程序员宅基地

文章浏览阅读7.6k次,点赞6次,收藏39次。作者:悠悠做神仙 来源: 恒生LIGHT云社区 ...

Effective C++学习笔记-程序员宅基地

Effective C++学习笔记 - 让自己习惯C++,构造/析构/赋值运算,命名习惯,template元编程,定制new和delete,了解new-handler的行为。

ios Static Dynamic Library Or Framework-程序员宅基地

文章浏览阅读372次。 First, some general definitions (specific to iOS):Static library - a unit of code linked at compile time, which does not change. However, iOS static libraries are not allowed to conta..._ios static dynamic

随便推点

Matlab通过mex调用CUDA的方法_mexcuda-程序员宅基地

文章浏览阅读1.9w次,点赞13次,收藏45次。最近有使用Matlab通过mex调用CUDA加速视频处理的需求,于是折腾了一下,网上的说法可谓千奇百怪众说纷纭,却没有能用的。经过六个多小时的反复搜索和尝试,本人终于成功编译运动了了matlab的mexCUDA例程:mexGPUExample.cu。1.软件环境这个过程涉及三个环境:Visual Studio、Cuda Toolkit和Matlab。其中Cuda依赖Visual Studio、Mat_mexcuda

删除ackplugin插件、卸载ackplugin插件、卸载ack、如何卸载电脑上ackplugin 登录插件、ackplugin卸载时需要密码怎么办-程序员宅基地

文章浏览阅读1.8k次。删除ackplugin插件、卸载ackplugin插件、卸载ack、如何卸载电脑上ackplugin 登录插件、ackplugin卸载时需要密码怎么办请用密码:123456,试试.我的卸载密码就是这个...._ackplugin

LDA模型中文文本主题提取丨可视化工具pyLDAvis的使用_pyldavis可视化的图怎么看-程序员宅基地

文章浏览阅读4.7w次,点赞148次,收藏880次。主题模型LDA的实现及其可视化pyLDAvis1. 无监督提取文档主题——LDA模型1.1 准备工作1.2 调用api实现模型2. LDA的可视化交互分析——pyLDAvis2.1 安装pyLDAvis2.2 结合gensim调用api实现可视化p.s. 保存结果为独立网页p.p.s. 加快prepare速度?2.3 如何分析pyLDAvis可视化结果2.3.1. **每个主题表示什么意义?**2.3.2 每个主题有多么普遍?2.3.3 主题之间有什么关联?1. 无监督提取文档主题——LDA模型这个模型_pyldavis可视化的图怎么看

springboot导入项目依赖报错_新建maven springboot项目遇到依赖jar包无法导入问题经验总结-Go语言中文社区...-程序员宅基地

文章浏览阅读738次。本人小白,跟着b站尚硅谷学springbootSpringBoot视频教程(idea版)_2018_Java视频_spring boot_springboot核心篇+…https://www.bilibili.com/video/av38657363/?p=5视频p05新建maven项目后,在导入maven的spring jar包依赖时报错1.一开始无法导入报错:Unable to import ..._org.springframework.boot:spring-boot-starter-parent:pom:1.5.9.release failed

imx6ull,从uboot到linux启动_imx6ull 启动 运行-程序员宅基地

文章浏览阅读246次。很久没搞嵌入式了,为了学习,买了正点的arm板子,芯片是Freescale的imx6ull。为了更好的学习,决定放弃正点官网的资料,一切都从原网下载。_imx6ull 启动 运行

22年蓝桥杯青蛙过河问题_青蛙过河lanqiaooj题号2097python解法-程序员宅基地

文章浏览阅读679次。个人思路,不保熟,供批判。n, x = 5, 1t = x << 1h = [None, 1, 0, 1, 0, None]l = 0r = ndef check(ability): # 任意长度为ability的区间,内部和要大于等于t次? if ability >= n: return True for i in range(1, n - ability + 1): if sum(h[i:i + ability]) _青蛙过河lanqiaooj题号2097python解法

推荐文章

热门文章

相关标签