A40i使用笔记:加载驱动的几种方式(自动、手动、程序加载)
2023-09-27 14:29:08 时间
一、前言
今日收获颇多,抓紧机会写上调试心得,否则日后又忘记了
本编文章介绍加载驱动的方式,亲测可用,可能还有更好的方式,欢迎补充
二、环境
window10
全志A40i
linux3.10
三、正文
总共总结了3种方式加载驱动ko文件,编译进入内核的这里不介绍,只说明广义上的手动加载驱动的方式
将驱动放入到目标机器中,共有开机自动加载,开机手动加载,和执行某个程序在加载3种
1.开机自动加载(飞凌配套源码。全志A40i。)
在rcS文件中加入如下
#指向开发环境中需要在开发板中执行的驱动路径
TS_MODULE=`cat /etc/init.d/autorun_drv`
#加载驱动文件
insmod ${TS_MODULE}
然后在rcS同级放入文件auto_config_drv,文件内容为/system/vendor/modules/gt9xxnew_ts.ko
这种方式有个缺点就是每次不同的驱动需要修改rcS文件,而且一个命令只能加载一个驱动
改进如下
#指向开发环境中需要在开发板中执行的驱动路径
#TS_MODULE=`cat /etc/init.d/autorun_drv`
#加载驱动文件
#insmod ${TS_MODULE}
sh /etc/init.d/autorun_drv
注释掉原来改为使用脚本去加载,自动调用脚本名称仍为auto_config_drv
脚本内容为
#!/bin/sh
insmod /system/vendor/modules/gt9xxnew_ts.ko &
insmod /system/vendor/modules/gt9xxnew_ts1.ko &
insmod /system/vendor/modules/gt9xxnew_ts2.ko &
insmod /system/vendor/modules/gt9xxnew_ts3.ko &
这种方式的好处是每次不用修改rcS文件,只改脚本auto_config_drv内的驱动名称和数量即可。
2.通过应用程序加载(qt程序)
在已知目标机的驱动路径后,使用system("insmod /xxx/xxx/xxx.ko");函数去加载驱动
3.手动加载驱动
- modinfo linux_test.ko查看内核模块信息
- lsmod查看当前已经加载的内核模块
- insmod linux_test.ko加载内核模块到内核中
- rmmod linux_test.ko卸载内核模块
- dmesg查看日志信息
- dmesg -c清除日志信息
四、结语
相关文章
- DDD领域驱动设计实战-服务和数据在微服务各层协作的最佳实践
- 【ARM-Linux开发】Rico Board上编译USB WiFi RT3070驱动
- 【Linux开发】linux设备驱动归纳总结(四):4.单处理器下的竞态和并发
- 白宫人工智能报告:如何应对AI驱动下的自动化经济?
- linux设备驱动开发详解 笔记
- 人工智能将驱动“营销IT”野蛮生长
- 澳大利亚邮政以客户体验驱动的企业架构引领企业全面实现数字化转
- 无线驱动新业务模式 让零售体验阻击电商围剿
- DDD-领域驱动设计
- linux块设备驱动
- Mybatis驱动类加载这块是玩明白了~
- maven项目添加mysql的链接驱动
- 38.Linux驱动调试-根据系统时钟定位出错位置
- A40i使用笔记:第一个实物驱动HX711(传统方式,非设备树)
- A40i使用笔记:调用系统自带驱动GT911触摸屏