在幽兰上学习LINUX内核驱动开发

  1. 首先启动我们的幽兰笔记本,打开terminal。

  2. 输入命令cd /home/geduer/gelabs/llaolao2,进入llaolao2目录下,在输入ls命令查看目录下的文件。结果如图所示。

  1. 输入make命令会调用当前目录下的Makefile脚本来编译文件,在输入ls查看,结果如图所示。

  1. 输入命令 sudo insmod llaolao2.ko 加载lliaolao2驱动,这里需要管理员权限,所以需要用sudo,输入命令回车后需要输入用户密码确认。

  2. 上述步骤操作完成后,llaolao2.ko驱动就已经加载成功了。

  3. 使用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操作。

  1. 输入命令 sudo rmmod llaolao,这是移除驱动模块命令。输入dmesg可以看到进行了移除llaolao驱动。
作者:JsonL  创建时间:2023-05-02 09:03
最后编辑:廖郁强  更新时间:2024-12-30 16:09