linux - ch367驱动编译
cpu:x86操作系统:utuntu16.04驱动源代码ch367文件树结构如下所示└── CH36X_LINUX├── demo│ ├── ch36x_demo.c│ ├── ch36x_demo_CMD.c│ ├── ch36x_demo_GUI.c│ ├── ch36x_demo_INT.c│ ...
·
cpu:x86
操作系统:utuntu16.04
驱动源代码ch367
文件树结构如下所示
└── CH36X_LINUX
├── demo
│ ├── ch36x_demo.c
│ ├── ch36x_demo_CMD.c
│ ├── ch36x_demo_GUI.c
│ ├── ch36x_demo_INT.c
│ ├── ch36x_lib.c
│ ├── ch36x_lib.h
│ └── Makefile
├── drv
│ ├── ch36x.c
│ └── Makefile
├── lib
│ ├── ch36x_lib.c
│ ├── ch36x_lib.h
│ └── Makefile
└── Makefile
未安装驱动
首先,进入drv目录下
CH36X_LINUX/drv# make
出现报错,如下
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c: In function ‘ch36x_init’:
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c:1679:56: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
printk(KERN_INFO "-->WCH ch36x dirver init %s, %s\n", __DATE__,
^
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c:1680:9: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
__TIME__);
^
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c: In function ‘ch36x_exit’:
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c:1736:56: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
printk(KERN_INFO "-->WCH ch36x driver exit %s, %s\n", __DATE__,
^
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c:1737:9: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
__TIME__);
^
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c: At top level:
/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.c:778:1: warning: ‘ch365_interrupt_handler’ defined but not used [-Wunused-function]
ch365_interrupt_handler(int irq, void *dev_id)
^
cc1: some warnings being treated as errors
scripts/Makefile.build:339: recipe for target '/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.o' failed
make[2]: *** [/home/trust100/Downloads/CH36X_LINUX/drv/ch36x.o] Error 1
Makefile:1551: recipe for target '_module_/home/trust100/Downloads/CH36X_LINUX/drv' failed
make[1]: *** [_module_/home/trust100/Downloads/CH36X_LINUX/drv] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-45-generic'
Makefile:11: recipe for target 'modules' failed
make: *** [modules] Error 2
解决方法查看下面链接 第三点
https://blog.csdn.net/rong11417/article/details/102909453
重新 make,编译成功
.
├── demo
│ ├── ch36x_demo.c
│ ├── ch36x_demo_CMD.c
│ ├── ch36x_demo_CMD.o
│ ├── ch36x_demo_GUI.c
│ ├── ch36x_demo_INT.c
│ ├── ch36x_demo_INT.o
│ ├── ch36x_demo.o
│ ├── ch36x_lib.c
│ ├── ch36x_lib.h
│ ├── ch36x_lib.o
│ ├── DEMO
│ ├── DEMO_CMD
│ ├── DEMO_INT
│ └── Makefile
├── drv
│ ├── ch36x.c
│ ├── ch36x.ko
│ ├── ch36x.mod.c
│ ├── ch36x.mod.o
│ ├── ch36x.o
│ ├── Makefile
│ ├── modules.order
│ └── Module.symvers
├── lib
│ ├── ch36x_lib.c
│ ├── ch36x_lib.h
│ ├── ch36x_lib.o
│ └── Makefile
└── Makefile
3 directories, 27 files
insmod ch36x.ko
通过 lsmod查看
# lsmod
Module Size Used by
ch36x 24576 0
nls_iso8859_1 16384 1
snd_hda_codec_hdmi 49152 1
编译 demo源码
进入demo目录,ls查看文件
CH36X_LINUX/demo# ls
ch36x_demo.c ch36x_demo_GUI.c ch36x_lib.c Makefile
ch36x_demo_CMD.c ch36x_demo_INT.c ch36x_lib.h
make进行编译
使用demo程序,在pcie插槽插上c367板卡,会在/dev/目录下出现ch36xpc设备,看下是否可用,使用在编译好打demo目录里,运行下面三个命令看是否可用
./DEMO
./DEMO_CMD
./DEMO_GUI_GTK
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)