摘要: 10.1 打印内核调试信息:printk printk位函数运行在内核空间, printf函数运行在用户空间。也就是说,像Linux 驱动这样的Linux内核程序只能使用printk函数输出调试信息。 printk 函数的原型 asmlinkage int printk(const char * fmt, ... ) printk 函数至少要有1个参数(格式字符串),如果格式字符串中包含有占位... 阅读全文
posted @ 2016-07-08 11:36 追鑫少年 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,... 阅读全文
posted @ 2016-07-05 07:24 追鑫少年 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Linux驱动的代码重用 Linux 驱动的代码重用有很多种方法。可以采用标准C 程序的方式。将要重用的代码放在其他的文件(在头文件中声明〉中。如果要使用某些功能, include 相应的头文件即可(这种方式称为静态重用)。也可以使用另外一种动态重用的方式,也就是一个Linux 驱动可以使用另外←个 阅读全文
posted @ 2016-06-05 16:20 追鑫少年 阅读(1387) 评论(0) 推荐(0) 编辑
摘要: LED驱动开发实验 如图所示,LED1~LED2 分别与GPC0_3、GPC0_4 相连,通过GPC0_3、GPC0_4 引脚的高低电平来控制三极管的导通性,从而控制LED 的亮灭。 根据三极管的特性,当这几个引脚输出高电平时,集电极和发射极导通,发光二极管点亮;反之,发光二极管熄灭。通过控制GPC0CON 和GPC0DAT 来控制GPC0_3 和GPC0_4 对应的LE... 阅读全文
posted @ 2016-06-05 15:51 追鑫少年 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 一、编写Linux驱动程序的步骤 第1 步:建立Linux 驱动骨架(装载和卸载Linux 驱动) 骨架部分主要是Linux驱动的初始化和退出函数,代码如下: #include #include #include #include #include #include // 初始化Linux 驱动static int word_count_init(void) { //输出日志信息 printk(“... 阅读全文
posted @ 2016-06-05 15:31 追鑫少年 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、安装串口调试工具:minicom 开发板带了一个串口。可以通过串口线与PC 连接。 Linux 驱动在输出调试信息的同时会通过串口线将调试信息发送到PC 上,这样Linux 驱动程序员就可以直接在PC 上查看调试信息了。 注意:由于目前很多新的PC 和笔记本电脑并没有串口,因此建议读者购买根US 阅读全文
posted @ 2016-06-05 14:50 追鑫少年 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别。 通过文件设置 Linux 环境变量 首先是设置全局环境变量,对所有用户都会生效: etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设... 阅读全文
posted @ 2016-05-23 22:34 追鑫少年 阅读(261) 评论(0) 推荐(0) 编辑
摘要: Shell是Linux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。 Linux/Unix提供了很多种Shell,为毛要这么多Shell?难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了... 阅读全文
posted @ 2016-05-21 09:16 追鑫少年 阅读(2610) 评论(0) 推荐(0) 编辑
摘要: 系统:Ubuntu16.04.02(优麒麟) 安装库文件和JDK 使用cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件 “install-sun-java6.sh”。 进入解压出来的文件夹“Android_JDK”中运行脚本“install-devel-p 阅读全文
posted @ 2016-05-19 15:14 追鑫少年 阅读(3224) 评论(2) 推荐(0) 编辑
摘要: 使用环境 1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit 安装Rope 1.打开终端输入 $ makdir ~/bin $ PATH=~/bin:$PATH 2.完成后输入以下命令 $ curl https://storage.googleapis.com/git-rep 阅读全文
posted @ 2016-04-24 10:05 追鑫少年 阅读(419) 评论(0) 推荐(0) 编辑