摘要: 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行测试。如设置断点,逐步跟踪代码,输出调试信息等。本章主要讲述了如何利用开发板、Android模拟器以及一些函数、工具调试嵌入式Linux内核模块、可执行程序和共享库。 1.打印内核调试信息:printk 该函数的用法和printf函 阅读全文
posted @ 2016-07-07 09:25 1305李泽斌 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 本章主要讲硬件抽象层:HAL.HAL 是建立在linux 驱动之上的一套程序库,Google为Android加入HAL主要如下的目的。 1.统一硬件的调用接口 2.解决了GPI版权的问题 3.针对一些特殊的要求 在LED的驱动中,我们加入HAL使用程序不需要关心Linux驱动和设备文件的交互方式。编 阅读全文
posted @ 2016-07-07 09:24 1305李泽斌 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 通过蜂鸣器的实现原理,实现一个完整的蜂呜器驱动,可以打开和关闭蜂鸣器. PWM驱动的实现方式不同于LED驱动, PWM 驱动将由多个文件组成。这也是大多数 Linux 驱动的标准实现方式. 刚开始是LED驱动的代码重用,Linux 驱动的代码重用有很多种方法。可以采用标准 C程序的方式。将要重用的代 阅读全文
posted @ 2016-07-07 09:23 1305李泽斌 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 创建LED驱动的设备文件 第1步:使用cdev_init函数初始化cdev 第2步:指定设备号。直接在代码指定或动态分配 第3步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中 第4步:使用class_create宏创建struct class 第5步:使用device_create 阅读全文
posted @ 2016-06-05 20:38 1305李泽斌 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 编写Linux驱动程序的步骤 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 第2步:注册和注销设备文件 第3步:指定于驱动相关的信息 第4步:指定回调函数 第5步:编写业务逻辑 第6步:编写Makefile文件 第7步:编译Linux驱动程序 第8步:安装和卸载Linux驱动 安装Li 阅读全文
posted @ 2016-06-05 20:32 1305李泽斌 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 第五章主要学习了搭建S3C6410开发板的测试环境。首先要了解到S3C6410是一款低功耗、高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域。 开发板从技术上说与我们经常用的手机类似, 也包含显示屏、 键盘、 Wi-Fi、 蓝牙等模块(可 能有的是选配〉。但与手机不 阅读全文
posted @ 2016-06-05 20:30 1305李泽斌 阅读(131) 评论(0) 推荐(0) 编辑
摘要: l 配置Android源代码下载环境步骤 #mkdir ~/bin #PATH=~/bin/repo #curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >~bin/repo #chmod a+x~/bin/repo #mkdi 阅读全文
posted @ 2016-04-29 18:45 1305李泽斌 阅读(130) 评论(0) 推荐(0) 编辑
摘要: l Git的基本用法 分为本地版本库和远程版本库,使用Git管理源代码版本时可以不连接Internet,Git直接与本地版本库通信;连接Internet后则与远程版本库通信。 首先要建立一个开源项目的工作目录,并进入 #mkdir –p /demo/helloworld-git #cd /demo/ 阅读全文
posted @ 2016-04-29 18:44 1305李泽斌 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 搭建Android底层开发环境的步骤 l 安装JDK: 1.下载JDK,解压,打开profile设置PATH环境变量 2.#gedit /etc/profile Export PATH= .:/developer/jdk6/bin:$PATH 3.#source /etc/profile # . / 阅读全文
posted @ 2016-04-29 18:42 1305李泽斌 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Android系统架构是由四层构成,第一层为Linux内核,主要包括Linux驱动程序以及内存管理、进程管理、电源管理的等程序。并且不同的Android的版本的驱动可能并不通用。第二层为C/C++代码库,主要包括使用C/C++编写的代码库(Linux下的.so文件),也包括.Dalivak虚拟机的运 阅读全文
posted @ 2016-04-29 18:40 1305李泽斌 阅读(172) 评论(0) 推荐(0) 编辑