在幽兰上学习 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操作,结果如下图所示。
echo hot | sudo tee -a /proc/llaolao,表示进行hot测试操作。输入dmesg可以看到进行了hot操作,结果如下图所示。
- 输入命令 sudo rmmod llaolao,这是移除驱动模块命令。输入dmesg可以看到进行了移除llaolao驱动。
注意!!
进行nullp操作后,会导致移除不了llaolao模块,这时重新启动就好了。
有时某些原因会导致重启启动的时候卡住,按电源不放直到屏幕变黑,再重新启动就行了
作者:沈根成 创建时间:2023-07-12 10:20
最后编辑:Zhang Yinkui 更新时间:2024-12-20 17:01
最后编辑:Zhang Yinkui 更新时间:2024-12-20 17:01