《Android深度探索》第六章心得体会

第六章讲述了一个简单的驱动程序:统计单词个数

本章的重点在于了解到linux将每一个驱动都映射到一个文件当中,保存在/dev中。目的在与使与linux驱动的交互变得简单。另外很重要的一点就是需要指定回调函数,回调函数可以处理设备文件交换的数据。

第一步、建立linux驱动骨架

目的是给linux程序创建一个基本结构。Linux驱动中一般使用moudle_inie和moudle_exit来宏指定。因为这是linux驱动中比较重要的两个函数。所以包含这两个函数的文件也可以看作是linux驱动的骨架

第二步、注册和注销设备文件

设备文件作用与使应用程序与驱动交互,通常使用misc_register和misc_deregister两个函数操作设备文件

第三步、制定与驱动相关的信息

类似与作者姓名,开源协议等一系列信息都需要在源代码中指定

第四步、制定回调函数

回调函数可以处理与设备文件交换的数据。通过相关几只进行注册

第五步、编写业务逻辑

即编写所要实现的功能的相关代码,是linux驱动开发的核心

第六步、编写Makefile文件

用makefile定义编译规定

第七步、编译linux驱动程序

第八步、安装和卸载linux驱动

时间: 2024-10-12 09:25:09

《Android深度探索》第六章心得体会的相关文章

安卓移植和驱动开发第六章心得体会

第六章 第一个LINUX驱动程序:统计单词个数 统计单词数的word_count 驱动是本书实现的第一个完整的Linux 驱动.虽然word_count 驱动的功能并不复杂,但足以让以前从来接触过Linux 驱动的开发人员了解Linux 驱动的完整开发过程.本章不仅仅是介绍一个示例,还介绍了如何使用不同的方法测试Linux 驱动.这些方法主要以平台来区分.当然,要编写 Linux 驱动程序还需要更高级的功能. 如向打印机驱动写入数据时, 对于打印机 驱动来说,需要接收这些被写入的数据,并将它们通

第六章心得体会

第六章主要学习到了安卓底层开发的相关知识,这章主要介绍了第一个linux驱动程序:统计单词个数.Linux驱动的工作和访问方式是Linux的亮点之一. Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.这种 设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易.当然,也比访问LinuxAPI 更容易. 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据.例如,向Linux打印机

第六章 心得体会

通过第六章的学习,使自己对Linux驱动程序的理解更加深刻,通过一个简单的单词统计驱动程序,使自己学到了很多. 学到的知识: 一.编写Linux驱动程序的步骤 第1步:建立Linux驱动骨架 第2步:注册和注销设备文件 misc_register 创建设备文件 misc_deregister 移除设备文件 第3步:指定与驱动相关的信息 通过MODULE_AUTHOP.MODULE_LICENSE.MODULE_ALIAS.MODULE_DESCRIPTION等宏指定与驱动相关的信息. 第4步:指

Android深度探索-卷1第六章心得体会

这章主要介绍了第一个linux驱动程序:统计单词个数.Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与文件交换数据,也就是文件操作. 编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动) 第二步:注册和注销设备文件 第三步:指定于驱动相关的信息 第四步:指定回调函数 第五步:编写业务逻辑 第六步:编写Makefile文件 第七步

阅读《软件工程—理论方法与实践》第六章心得体会

面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统

《Android深度探索》(卷1)HAL与驱动开发 第六章心得体会

编写Linux驱动程序的步骤: 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 任何类型的程序都有一个基本的结构,例如,C语言需要有一个入口函数main.Linux驱动程序也不例外.Linux内核在使用驱动时首先需要装载驱 动. 在装载过程中需要进行一些初始化工作,例如,建立设备文件,分配内存地址空间等.当Linux系统退出时需要卸载Linux驱动,在卸载的过程中需要释放 由Linux驱动占用的资源,例如,删除设备文件.释放内存地址空间等.在Linux驱动程序中需要提供两个函数来分别

阅读《软件工程—理论方法与实践》第四章心得体会

阅读第四章所得体会.软件需求是决定软件开发是否成功的一个关键因素.开发人员应当学会正确地理解软件需求,实行开非完善但是高质量的需求开发和管理,最大限度地降低软件需求风险.软件需求可以划分为业务需求(定义了项目的远景和范围).用户需求(使用该系统需要完成的任务).系统需求.功能需求(说明了需要开发实现的功能)和非功能需求(功能需求的补充)等型.需求工程是应用已证实有效的原理和方法,并通过合适的工具和符号,系统地描述出待开发系统及其行为特征和相关约束,其过程包括需求获取.需求分析.需求规格说明.需求

《android深入探索》第六章心得

看了本书第六章,我学到了: linux系统下每个驱动都映射成一个文件(设备文件/驱动文件),都保存在/dev目录下.回掉函数的功能是使linux驱动能响应应用程序,使设备文件和应用程序交互的接口. 编写linux驱动程序(大体框架): ①   装载驱动:module_init()   卸载驱动:module_exit() ②   注册设备文件:misc_register()  注销设备文件:misc_deregister() ③   指定与驱动相关信息:MODULE_AUTHOR.MODULE_

大道至简第一章心得体会

大道至简——编程的精义  心得体会      谨以此用于苦恼编程序不得入门的人,不对之处敬请指出 “虽我之死,有子存焉:子又生孙,孙又生子:子又有子,子又有孙.子子孙孙,无穷匮也.而山不加增,何苦而不平?” ——<愚公移山>,<列子-汤问篇> 编程究其本身对大数人而言是一件很苦恼而又无法避免的事情,但是有点可笑的是编程本身实在是一件简单的事,因为“程序=算法+结构”,所谓的编程就是把一件事情交给计算机去做,然后把你的想法“告诉”计算机就行了.但是编程又是一件很“无语”的事情——因为