北京电子科技学院(BESTI)

             

课程:信息安全设计基础                         班级:1353

姓名:郭皓 李海空

学号:20135327  20135329

成绩:             指导教师:娄嘉鹏        实验日期:2015.11.17

实验密级:         预习程度:         实验时间:15:30~18:00

仪器组次:          必修/选修:            实验序号:4

实验名称:            实验四:外社驱动程序设计

实验目的与要求:学习在Linux下进行驱动设计的原理

掌握使用模块方式进行驱动开发调试的过程

实验仪器:

名称

型号

数量

ARM实验箱

1

PC

1

实验内容、步骤与体会:

  1. 导入并编译驱动模块及测试代码

2、测试驱动程序

  1. 实验过程的理解,实验指导书中知识点的理解。

(1)         为什么需要交叉编译?如何安装交叉编译环境?

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。

简言之,因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。

(2)         Linux 的驱动开发调试有两种方法

一种是直接编译到内核,再运行新的内核来测试;二是编译为模块的形式,单独加载运行调试。第一种方法效率较低,但在某些场合是唯一的方法。模块方式调试效率很高,它使用 insmod 工具将编译的模块直接插入内核,如果出现故障,可以使用 rmmod 从内核中卸载模块。不需要重新启动内核,这使驱动调试效率大大提高。

(3)         驱动程序与应用程序的区别

应用程序一般有一个 main 函数, 从头到尾执行一个任务; 驱动程序却不同,它没有 main 函数,通过使用宏 module_init(初始化函数名); 将初始化函数加入内核全局初始化函数列表中,在内核初始化时执行驱动的初始化函数,从而完成驱动的初始化和注册,之后驱动便停止等待被应用软件调用。驱动程序中有一个宏 moudule_exit(退出处理函数名)注册退 出处理函数。它在驱动退出时被调用。

应用程序可以和 GLIBC 库连接,因此可以包含标准的头文件,比如<stdio.h> <stdlib.h>,在驱动程序中是不能使用标准 C 库的,因此不能调用所有的 C 库函数,比如输出打印函数只能使用内核的 printk 函数,包含的头文件只能是内核的头文件,比如 <linux/module.h>。

  1. 实验过程中遇到的问题以及解决方案。

(1)         无法make编译代码问题。

解决:用Vi在Makefile中重新设置路径,因为给的代码路径和实际路径有冲突,导致编译不成功,具体如图:

转载于:https://www.cnblogs.com/haikong/p/4986882.html

信息安全系统设计基础 实验四:外社驱动程序设计 20135327郭皓 20135329 李海空...相关推荐

  1. 信息安全系统设计基础实验四:外设驱动程序设计 20145222黄亚奇 20145213祁玮

    北京电子科技学院(BESTI) 实 验 报 告 封 面 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号: 20145222 20145213 成绩: 指导教师:娄嘉鹏 实验日期 ...

  2. 信息安全系统设计基础实验四—20135215黄伟业20135222胡御风

    http://www.cnblogs.com/huyufeng/p/5004797.html 转载于:https://www.cnblogs.com/1551127024hwy/p/5010833.h ...

  3. 2019-2020-1 20175227张雪莹《信息安全系统设计基础》实验四 《外设驱动程序设计》

    2019-2020-1 20175227张雪莹<信息安全系统设计基础> 实验四 <外设驱动程序设计> 实验报告封面 课程:信息安全系统设计基础 班级:1752班 姓名:张雪莹 ...

  4. 信息安全系统设计基础实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础              班级:1352 姓名:马悦   学号:20135235 成绩:        ...

  5. 信息安全系统设计基础实验三—20135222胡御风20135215黄伟业

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                         班级: 1352 姓名:胡御风      黄伟业    ...

  6. 20135201李辰希20135219洪韶武——信息安全系统设计基础实验五报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础          班级:   1352 姓名:李辰希,洪韶武 学号:20135201,20135219 ...

  7. 信息安全系统设计基础实验回顾

    实验一 实验内容 1.连接arm开发板 将arm开发板电源线接好,保持开发板开关处于闭合状态.再分别将串口线.并口线和网线与pc机连接好. 2.建立超级终端 运行windows XP系统下" ...

  8. 信息安全系统设计基础实验一—20135222胡御风20135215黄伟业

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                         班级: 1352 姓名:胡御风      黄伟业    ...

  9. 信息安全系统设计基础实验五—20135222胡御风20135215黄伟业

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                         班级: 1352 姓名:胡御风      黄伟业    ...

最新文章

  1. DNA Consensus String
  2. android material 颜色值,Android Material Colors 谷歌 Material Design 标准颜色
  3. PotPlayer:最强播放器,无边框
  4. R语言回归分析及相关分析
  5. 手动测试是进入测试自动化之前的重要阶段
  6. Linux启动tomcat带控制台
  7. redies成神之路
  8. 在腾讯待了 9 年还离了职
  9. 学excel还是学python_以Excel处理为目的学习python还是VBA?
  10. 汉语语法研究参考文献
  11. 《哈利·波特与混血王子》(Harry Potter and the Half-Blood Prince)[DVDRip]
  12. nginx配置+redis使用以及同步
  13. [YYOJ]攻城掠地
  14. 【机器学习】阿里云天池竞赛——工业蒸汽量预测(4)
  15. 服务器故障英文邮件,全球邮
  16. ILSpy反编译工具
  17. 网易互娱2017在线笔试——题目一:电子数字
  18. 科视Christie HS系列激光投影机为江苏园博园的夜晚增添亮丽风景线
  19. 华大单片机HC32L136笔段式段码LCD显示
  20. 声网在线K歌房解决方案:一站式接入版权曲库与K歌组件

热门文章

  1. mysql 查询语句 参数,mysql参数化查询语句有关问题
  2. fedora java 开发环境_Linux(Fedora 14)下 java开发环境配置 ——jdk的安装与配置
  3. 插件制作教程 php,typecho插件编写教程(二):写一个新插件
  4. Docker运行sonarqube (代码质量检测平台)
  5. sqlite3 多线程 c语言,sqlite3 c语言编程 之 三个基本函数
  6. [k8s] 第十章 DashBoard
  7. 在CentOS8下安装docker遇到的containerd.io >= 1.4.1解决方法
  8. iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
  9. IIS APPPOOL\DefaultAppPool 登录失败的解决方法
  10. python多项式回归_Python 多项式回归 - 树懒学堂