实验题目:实现嵌入式Linux系统下的字符设备驱动程序 实验目的:了解Linux系统下的字符设备驱动的结构理解交叉编译的相关知识理解驱动和应用程序的通信方式
实验要求:要求动态生成设备号,并在测试程序中,通过超级终端分行显示数0-39,上述过程需在板子端进行,执行动态加载驱动,并通过超级终端监视测试程序运行结果。
实验步骤:1.编写驱动程序,应用程序的代码和MakeFile文件2.启动虚拟机中的Linux系统,超级终端和板子3.将步骤2中三个设备的网址设置在同一个段内4.在Linux系统中设置NFS服务器,将up-techpxa270设置为读写5.将板子挂载到Linux系统中6.然后,将步骤1中的代码编译成可执行文件,并将其拷贝到up-techpxa270/exp/drivers/01-modriver/目录下7.在超级终端处cd进入up-techpxa270/e
xp/drivers/01-modriver/目录8.输入insmod demo.ko和 ./test_demo9.观察效果
实验过程:1.当编写好驱动程序,应用层程序,MakeFile文件以及配置好相关设备后,执行挂载操作如下:
2.挂载成功以后,将编译好的相关的demo.ko和test_demo3.两个可执行文件拷贝到up-techpxa270/exp/drivers/01-modriver/目录下
4.在超级终端下执行动态的加载驱动的操作如下:
5../test_demo执行应用程序,查看相关信息如下:6.我们观察发现,我们逆序写入了0-39,然后顺序的读出了0-39
实验总结: 通过本次实验使我对嵌入式Linux系统的字符设备有了更深入的认识,为今后的学习打下了坚实的基础。