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

 

 

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐