摘要: 一、打印内核调试信息:printk printk 函数的用法与printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间。 二、防止printk函数降低Linux驱动性能 1. 可变参数的宏 2. do{ ... }while(O) 三、通过虚拟文件系统( /pr 阅读全文
posted @ 2016-07-07 20:10 穆小木木木木木 阅读(82) 评论(0) 推荐(0)
摘要: 一、 Linux驱动的代码重用 1.编译是由多个文件组成的 Linux 驱动 2. Linux 驱动模块的依赖(导出符号) 代码重用分为静态和动态两种。在上一节介绍的方式是代码的静态重用,这种方式是代码级的重用,也就是将需要重用的代码和使用这些代码的使用者放在一起进行编译,最终生成一个可执行文件或程 阅读全文
posted @ 2016-07-07 20:08 穆小木木木木木 阅读(406) 评论(0) 推荐(0)
摘要: HAL ( Hardware Abstraction Layer,硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux 内核, 而是属于 Linux 内核层之上的应用层。 一、Google什么要在Android中加入HAL? 1.统一硬件的调用接口。 2.解决了GPL版权 阅读全文
posted @ 2016-07-07 20:08 穆小木木木木木 阅读(73) 评论(0) 推荐(0)
摘要: 1.LED驱动的实现原理 Linux内核提供了多个与I/O内存交互的函数,如ioread16、ioread32、iowrite16、iowrite32等;Linux内核的内存管理模块负责同步I/O内存与硬件中的数据。 2.编写LED驱动 (1)创建LED驱动的设备文件 使用cdev_init、reg 阅读全文
posted @ 2016-05-30 09:37 穆小木木木木木 阅读(71) 评论(0) 推荐(0)
摘要: 1.S3C6410开发板简介 由三星公司推出的低功耗、高性价比的RISC处理器,基于ARM11内核,其为2.5G和3G通信服务提供了优化的硬件性能。 OK6410开发板基于三星公司最新的ARM11处理器S3C6410,其采用“核心板+底板”结构,核心板与底板之间采用4组高质量进口连接器,共计320个 阅读全文
posted @ 2016-05-30 09:34 穆小木木木木木 阅读(65) 评论(0) 推荐(0)
摘要: 1.Linux驱动 Linux系统将每一个驱动都映射成一个文件,被称为设备文件或驱动文件,都保存在/dev目录中。 2.编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动) 第二步:注册和注销设备文件 第三步:指定与驱动相关的信息 第四步:指定回调函数 第五步:编 阅读全文
posted @ 2016-05-30 09:34 穆小木木木木木 阅读(78) 评论(0) 推荐(0)
摘要: 使用Git下载两套源代码,一套是Android源代码,一套是Linux内核源代码。 下载、编译及测试Android源代码,必须先配置Android源代码的下载环境,第一步是创建用于存放下载脚本的文件目录;第二步是下载repo脚本文件;第三步是创建用于存放Android源代码的目录;第四步是初始化;第 阅读全文
posted @ 2016-04-29 23:32 穆小木木木木木 阅读(115) 评论(0) 推荐(0)
摘要: Git是Linux之父Linus编写的,用于进行Linux内核代码及很多著名项目的源代码管理。Git拥有非凡的性能和最优化的存储能力。 安装Ubuntu Linux10.10或者更新版本的Git,可以使用# apt-get install git或者#apt-get install git-svn 阅读全文
posted @ 2016-04-29 23:29 穆小木木木木木 阅读(98) 评论(0) 推荐(0)
摘要: Android底层开发环境包括Android应用程序开发环境、Android NDK开发环境和交叉编译环境,Android的底层开发需要JDK6、Eclipse3.4、ADT、CDT、Android SDK、Android NDK、交叉编译环境、Linux内核源代码、Android源代码、minic 阅读全文
posted @ 2016-04-29 23:26 穆小木木木木木 阅读(72) 评论(0) 推荐(0)
摘要: Android系统是一个很常见的嵌入式系统,最开始应用在手机中,后来发展到应用在现在电视、电脑中,与人们的生活息息相关。 Android系统架构分四个层次,第一层是Linux内核,主要包括Linux的驱动程序以及内存管理、进程管理、电源管理等程序;第二层是C/C++代码库,当然必不可少的包含了用C/ 阅读全文
posted @ 2016-04-29 23:25 穆小木木木木木 阅读(108) 评论(0) 推荐(0)