zoukankan      html  css  js  c++  java
  • Android驱动开发5-8章读书笔记

    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 )在目录orgdroiddraw下会有一个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获得气象数据,为某些实验和工程应用。

  • 相关阅读:
    菜鸟刷题路:剑指 Offer 09. 用两个栈实现队列
    python 全栈开发,Day40(进程间通信(队列和管道),进程间的数据共享Manager,进程池Pool)
    python 全栈开发,Day39(进程同步控制(锁,信号量,事件),进程间通信(队列,生产者消费者模型))
    python 全栈开发,Day38(在python程序中的进程操作,multiprocess.Process模块)
    python 全栈开发,Day37(操作系统的发展史)
    python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)
    python 全栈开发,Day35(TCP协议 粘包现象 和解决方案)
    python 全栈开发,Day34(基于UDP协议的socket)
    python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)
    python 全栈开发,Day32(知识回顾,网络编程基础)
  • 原文地址:https://www.cnblogs.com/jfyl1573/p/5561215.html
Copyright © 2011-2022 走看看