CH34X linux驱动安装,参考代码例程

 想用USB转I2C工具调试个I2C接口芯片未果。

 驱动安装参考下面内容:

1. 使用的系统环境

本文使用Ubuntu 20.04 LTS版本Linux系统为测试环境。

 

2. 使用到的工具软件介绍

Linux系统下编译CH365/CH367的驱动使用到的工具主要有gcc和make,版本如下所示:

3. 下载CH365/CH367驱动的源代码CH36X_LINUX.ZIP,解压后文件结构如下:

4. 编译CH365/CH367驱动

执行cd指令进入drv目录下,执行make指令编译驱动程序。

执行make指令会遇到警告和错误,不重要的警告可以忽略,错误却不能忽略。

/home/ubuntu/CH36X_LINUX/drv/ch36x.c: In function ‘ch36x_init’:

/home/ubuntu/CH36X_LINUX/drv/ch36x.c:1679:56: error: macro "__DATE__" might prevent repr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Linux硬件I2C驱动代码的示例: ```c #include <linux/module.h> #include <linux/init.h> #include <linux/i2c.h> static struct i2c_client *my_i2c_client; static int my_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { // 初始化I2C设备 my_i2c_client = client; // 进行设备初始化和配置 return 0; } static int my_i2c_remove(struct i2c_client *client) { // 进行设备的移除操作 return 0; } static const struct i2c_device_id my_i2c_id[] = { { "my_i2c_device", 0 }, { } }; MODULE_DEVICE_TABLE(i2c, my_i2c_id); static struct i2c_driver my_i2c_driver = { .driver = { .name = "my_i2c_driver", .owner = THIS_MODULE, }, .probe = my_i2c_probe, .remove = my_i2c_remove, .id_table = my_i2c_id, }; static int __init my_i2c_init(void) { // 注册I2C驱动程序 return i2c_add_driver(&my_i2c_driver); } static void __exit my_i2c_exit(void) { // 移除I2C驱动程序 i2c_del_driver(&my_i2c_driver); } module_init(my_i2c_init); module_exit(my_i2c_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("My I2C Driver"); ``` 上述代码是一个简单的Linux硬件I2C驱动程序的例程。在`my_i2c_probe`函数中,你可以进行设备的初始化和配置操作。在`my_i2c_remove`函数中,你可以进行设备的移除操作。你还需要根据实际需求在代码中进行适当的修改。 在模块初始化函数`my_i2c_init`中,我们使用`i2c_add_driver`函数来注册I2C驱动程序。在模块退出函数`my_i2c_exit`中,我们使用`i2c_del_driver`函数来移除I2C驱动程序。 请注意,以上代码仅为示例,你需要根据实际硬件和需求进行相应的修改和配置。确保你已经正确配置了内核选项和设备树以支持硬件I2C,并将驱动程序编译为内核模块或静态链接到内核中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值