在幽兰上学习LINUX内核驱动开发
首先启动我们的幽兰笔记本,打开terminal。
输入命令cd /home/geduer/gelabs/llaolao2,进入llaolao2目录下,在输入ls命令查看目录下的文件。结果如图所示。
- 输入make命令会调用当前目录下的Makefile脚本来编译文件,在输入ls查看,结果如图所示。
输入命令 sudo insmod llaolao2.ko 加载lliaolao2驱动,这里需要管理员权限,所以需要用sudo,输入命令回车后需要输入用户密码确认。
上述步骤操作完成后,llaolao2.ko驱动就已经加载成功了。
使用llaolao2.ko,可以通过如下命令
echo div0 | sudo tee -a /proc/llaolao,表示进行除0操作。输入dmesg可以看到进行了div0操作。
echo nullp | sudo tee -a /proc/llaolao,表示进行测试空地址操作。输入dmesg可以看到进行了nullp操作。这里会出现core dumped错误,这正是我们想看到的。结果如下图所示。
echo timer0 | sudo tee -a /proc/llaolao,表示进行了时间操作。输入dmesg可以看到进行了timer0的结果
echo percpu | sudo tee -a /proc/llaolao,表示进行了查看每一个cpu信息的操作。输入dmesg可以看到进行percpu操作后的结果
echo sysreg | sudo tee -a /proc/llaolao,表示进行了查看系统寄存器信息操作。输入dmesg可以看到进行sysreg操作后的结果。
echo ulan | sudo tee -a /proc/llaolao,表示进行控制幽兰设备的JTAG开关操作。输入dmesg可以看到进行了ulan操作。
echo iram | sudo tee -a /proc/llaolao,表示进行iram读写测试操作。输入dmesg可以看到进行了iram操作。
- 输入命令 sudo rmmod llaolao,这是移除驱动模块命令。输入dmesg可以看到进行了移除llaolao驱动。
作者:JsonL 创建时间:2023-05-02 09:03
最后编辑:廖郁强 更新时间:2024-12-30 16:09
最后编辑:廖郁强 更新时间:2024-12-30 16:09