Android驱动开发读书笔记

                                                             第五章

S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案。它集成了ARM CORTEX-A8核心。实现了ARM架构V7且支持外围设备。他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2v。

基于s5pv210处理器,控制寄存器,大多数引脚是有多用途的,每一个引脚要求定义一个功能,控制定义每一个引脚的功能。

数据寄存器,如果引脚配置为输出,输出可以被写到引脚在数据寄存器对应的位中,如果引脚配置为输入,可以从数据寄存器对应的位中读出数据。

Gpio接口应用举例:通过gpio接口的gpa0(4)-gpa0(7)控制发光二极管led1~led4的gpio接口编程实例,控制逻辑输出低电平时对应的led点亮。

初始化gpio:

Viod led_init(void){

Iowrite32(((ioread32(s5pv210_gpaocon)&0x000ffff)|0x1111<<16),s3c64xx_gpkcon);

Iowrite32(((ioread32(s5pv210_gpaodat) |0xf0),s5pv210_gpaodat);

实现led驱动:

Long GPIO_LED_ioctl (struct file *file,unsigned int cmd,unsigned long arg)

{if (_ioc_TYPE(cmd) !=LED_IOC-MAGIC)

return –EINVAL;

if (_IOC-NR(cmd)>LED_IOC-MAXNR)

return –EINVAL;

switch(cmd)//辩识控制命令

{

Case led_off:

Iowrite16((ioread16(s5pv210_gpaodat |0x00f0),s5pv210_gpaodat);

Break;

Case led-on:

Iowrite16((ioread16(s5pv210_gpaodat |0x00f0),s5pv210_gpaodat);

Break;

}

第六章接口驱动程序开发

1led接口驱动程序:

DMA-210xp平台上配置有两个led指示灯,分别由gpio接口GPIO3_0和GPIO3_1控制。

Led驱动电路,led就是发光二极管。是嵌入式系统中常用的输出设备。单个led通常用作警示。

驱动结构:

Static struct file_operations led_fops =

{

Ower :THIS_MODULE,

Read:led_read

Write:led_ioctl,

Ioctl;led_ioct,

Open:led_open,

Release:led_release,

};

Makefile文件的编写:

cc =   //+交叉编译器位置

KERNELDIA =   //内核源码位置

Ifneq($(KERNELRELEASE))

Obj-m :=led.0

Pwd :=$(shell pwd)

然后就是测试了

2背光驱动程序设计分析

在beiguang 驱动程序中,要实现lcd背光亮度的调节。主要完成3个操作。

(1) 注册驱动设备并开启时间控制器timer()

(2) 驱动pwm,完成对pwm的初始化配置

第七章 安卓嵌入式组态软件

1界面设计

1)创建一个java工程,名称为droiddraw

2 )在目录org\droiddraw下会有一个main函数作为人口函数,接下来进行实现系统界面初始化,加载表示组建的图片。为菜单栏各项添加监听等工作。

定义窗口和加载窗口变量

进行界面变量初始化操作

加载界面内容操作

3)界面添加内容

将窗口进行分块显示,分为组件信息显示区,构建表结构区,功能区,辅助区,辅助功能区,界面程序画布。

4)android嵌入式软件:菜单栏模块组件详细信息显示模块,功能选择模块,辅助功能模块,程序设计区域模块

5)界面设计:布局类,按钮类,文本类,时间类,属性

6)io设计:这是很重要的一部分,是终端和底层硬件设备的连接。

7)数据库设计:组态软件数据库设计包括表名,列名。类型,大小,判断是否为主键。

自己总结:

(1)强大的界面显示组态功能。可视化的风格界面、丰富的工具栏,操作人员可以直接进人开发状态,节省时间。丰富的图形控仵和工况图库,既提供所需的组件,又是界面制作向导。提供给用户丰富的作图工具,丰富的动画连接方式,如隐含、闪烁、移动等等,使界面生动、直观。可随心所欲地绘制出各种工业界面,并可任意编辑,从而将开发人员从繁重的界面设计中解放出来。
(2)良好的开放性。指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。组态软件向下应能与低层的数据采集设备通信,向上能与管理层通信,实现上位机与下位机的双向通信。
(3) 丰富的功能模块。提供丰富的控件功能库,满足用户的测控要求和现场需求。利用各种功能模块,完成实时监控 产生功能报表 显示历史曲线、实时曲线、提示报警等功能,使系统具有良好的人机界面,易于操作,系统既叫适用于单机集中式控制、DCS分布式控制,也可以是带远程遇信能力的远程测控系统。
(4)强大的数据库。配有实时数据库,可存储各种数据,如模拟量、离散量、字符型等,实现与外部设备的数据交换。
(5)可编程的命令语言。有可编程的命令语言,使用户可根据自己的需要编鸾程序,蹭强图形界面
(6)周密的系统安全防范,对不同的操作者,赋予不同的操作权眼,保证整个系统的安全可靠运行。
(7)支持离线和在线模拟,快速验证您的设计效果,方便设计和调试,大大减轻软件开发人员在人机界面开发的负担和提高开发效率,专心于专业产品的开发,避免重复性劳动。为您大大地短了产品的开发周期。

 

                                              第八章gps google map定位系统

 

手册上的东西没看太明白,自己总结了一些:

全球定位系统(英语:Global
Positioning System,通常简称GPS),又称全球卫星定位系统,是一个中距离圆型轨道卫星导航系统。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的时间标准。开启定位服务:getSystemService()开启。代码略

GPS除了用于导航、定位、测量外,由于GPS系统的空间卫星上载有的精确时钟可以发布时间和频率信息,因此,以空间卫星上的精确时钟为基础,在地面监测站的监控下,传送精确时间和频率是GPS的另一重要应用,应用该功能可进行精确时间或频率的控制,可为许多工程实验服务。此外,据国外资料显示,还可利用GPS获得气象数据,为某些实验和工程应用。

Android驱动开发5-8章读书笔记的更多相关文章

  1. Android深度探索--HAL与驱动开发----第五章读书笔记

    第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...

  2. Android深度探索--HAL与驱动开发----第四章读书笔记

    1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device ...

  3. Android深度探索--HAL与驱动开发----第六章读书笔记

    Linux驱动程序与其他类型的Linux程序一样拥有自己的规则,下面给出一个编写基本的Linux驱动的一般步骤: (1)建立Linux驱动的骨架(装载和卸载Linux驱动): (2)注册和注销设备文件 ...

  4. Android深度探索--HAL与驱动开发----第七章读书笔记

    首先创建led驱动的设备文件,可以使用cdev_init,register_chrdev_region,cdev_add等建立主设备号的设备文件.步骤如下: 1使用cdev_init初始化cdev 2 ...

  5. Android深度探索--HAL与驱动开发----第三章读书笔记

    1. 什么是Git? Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开 ...

  6. 《Android开发艺术探索》读书笔记 (13) 第13章 综合技术、第14章 JNI和NDK编程、第15章 Android性能优化

    第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的set ...

  7. 《android开发艺术探索》读书笔记(二)--IPC机制

    接上篇<android开发艺术探索>读书笔记(一) No1: 在android中使用多进程只有一种方法,那就是给四大组件在AndroidMenifest中指定android:process ...

  8. 《android开发艺术探索》读书笔记(十五)--Android性能优化

    接上篇<android开发艺术探索>读书笔记(十四)--JNI和NDK编程 No1: 如果<include>制定了这个id属性,同时被包含的布局文件的根元素也制定了id属性,那 ...

  9. 《android开发艺术探索》读书笔记(十四)--JNI和NDK编程

    接上篇<android开发艺术探索>读书笔记(十三)--综合技术 No1: Java JNI--Java Native Interface(java本地接口),它是为了方便java调用C. ...

随机推荐

  1. 【BZOJ-1898】Swamp 沼泽鳄鱼 矩阵乘法

    1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1012  Solved: 566[Submit][S ...

  2. MongoDB系列二

    简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql ...

  3. jquery生成元素注册事件无效,及事件委托的使用

    在页面加载完成之后,我们在页面操作用js生成html代码到页面,动态的添加元素带页面上 但是,这里可能很多人就必须碰到的一个问题就出现了,当你之后动态添加了元素到页面上,发现这个元素的绑定事件无效,如 ...

  4. ubuntu下升级R版本

    ubuntu下升级R版本   在测试<机器学习 实用案例解析>一书的邮件分类代码时,windows系统下rstudio中无法读取特殊字符,在ubuntu下可以.在ubuntu虚拟机下安装t ...

  5. WebView与JS的几种交互

    http://www.jianshu.com/p/0042d8eb67c0 最近整理了一下原生与H5之间的交互方式,简单的做个总结.OC端与JS的交互,大致有这几种:拦截协议.JavaScriptCo ...

  6. 【原】理解javascript中的this

    最近的文章基本都是总结javascript基础内容的,因为我觉得这些东西很重要.而且很多时候你觉得你理解了,其实并没有你自认为的那么理解.十月份没怎么写文章,因为国庆出去玩的比较久,心变野了,现在是时 ...

  7. Win7如何删除需要管理员权限才能删除的文件夹

    在Windows 7系统运行中.往往会遇到想要删除某个文件夹时,系统提示:文件夹访问被拒绝 你需要权限来执行此操作,如何才能删除此类文件夹呢? ------------------ --------- ...

  8. 深入了解C#系列:谈谈C#中垃圾回收与内存管理机制

    今天抽空来讨论一下.Net的垃圾回收与内存管理机制,也算是完成上个<WCF分布式开发必备知识>系列后的一次休息吧.以前被别人面试的时候问过我GC工作原理的问题,我现在面试新人的时候偶尔也会 ...

  9. Hbase过滤器Filter的使用心得(爬坑经验)

    Hbase 的过滤器是个好东西.. 给这种非关系型数据库本来不能复杂查询的情况得到了很好的扩展..提供了很多的帮助.. 但是Filter的种类何其之多..让人眼花缭乱.. 譬如..分页类型的PageF ...

  10. ThinkPhp 验证码不显示图片

    验证码不显示原因分析: 1.先确保是否开启了 gd库 2.页面是否存在bom头 3.导入的ORG.Util.Image是否存在 4.入口文件中是否有define('APP_DEBUG', TRUE); ...