完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 芯灵思FAE 于 2015-10-12 10:02 编辑
www.sinlinx.com 我们学习安卓开发主要包括以下四个部分: 1.安卓开发环境的搭建(需要一块安卓开发板,和源代码,我用的是芯灵思开发板SINA31S) 2.安卓的编译方式 3.安卓的启动分析 4.安卓的传感器模块 我们所学习的底层开发是Framework 层和Hal层,下面我们说一下我们开发所需要的环境 1.软件开发环境:必须要有开发板源码、配置java JDK版本、需要adb调试工具 2.硬件开发环境:需要准备开发板及相关原理图,和相关芯片的datasheet、需要USB线、串口线调试工具 3.开发人员要对Linux有一定的了解,最好有C、C++、基础,如果从事Framework层要对java有一定的了解 下面我来简单介绍一下我们所使用的开发板的核心配置
SINA31S 的主要外围接口: 一个串口、一个LED灯,SD卡、一个CAM接口、一个WIFI接口、一组IO接口,一个有线网口、一个OTG接口、两个USB接口、一个LCD接口、一个HDMI接口、音频接口 另外我们的开发板还增加了一个电源管理芯片,使芯片的功耗降低了很多。 安卓的整个架构与分层:整个安卓系统应该是有软件和硬件组成的 我们所说的硬件通常指主CPU、和他的一些外围接口,如:Camera、LCD、Sensor等 软件从底层到上层可以分为U-boot、内核和我们安卓的OS U-boot主要就是引导内核的启动,我们的主CPU内部有一段程序是来引导我们的U-boot启动的 主芯片的启动模式主要有:USB启动,SD卡启动和Flash启动,我们选择的启动方式主要是根据几个固定GPIO的电平来决定的。 内核是整个系统的核心,它主要负责进程的管理、内存的管理、网络的管理,可以直接控制我们的硬件 我们的安卓系统主要分为下面几个层: 1. Hal层 2. Framework(C++)层 3. 第三方的一些库文件 4. Dalvik(虚拟机系统) 5. Framework(java)层 6. App(应用层) Hal层的主要作用是:把一些外设想象成一套接口供Framework(C++)层调用 Framework(C++)层主要是承上启下的作用,对上可以为Framework(java)层提供服务,对下能够挂接我们Hal层的外设,还可以对外设提供保护,保证同一时刻只有一个应用程序对外设进行访问 第三方库文件主要是为系统提供一些处理 虚拟机系统主要是连接上层应用、底层的服务、和对第三方库文件提供一个自动化管理 Framework(java)层为我们提供了一些服务和进程之间的通讯方式,这些可以让我们快速的构建自己应用,也可以定制自己需要的控件或者服务 App层基于java来实现的,运行在虚拟机之上 我们来分析一下Camera从上到下的调用顺序: 当我们想要拍一张照片时首先他会获取我们的Camera服务(从java层调到Framework java层)Framework java层会通过虚拟机直接获取Camera服务,如果有人在占用Camera服务,那么会断开当前的链接,同时会和新的应用建立一个链接,这样应用就会获取到Camera访问权限和Camera所支持的属性,当我们点击拍照命令时,这个命令从上层一直到Framework 层,再告诉Hal层,Hal层会调用我们的驱动去控制硬件抓拍一张照片,照片的数据会经过ISB的一些处理,然后返回Hal层,再从Hal层返回Framework层,再通过Dalvik传递到上层,上层拿到图片后就可以进行一些处理了。 www.sinlinx.com |
|||||
相关推荐
1 个讨论
|
|||||
只有小组成员才能发言,加入小组>>
芯灵思SinlinxA33开发板Linux内核workqueue(附实测代码)
11840 浏览 0 评论
芯灵思SinlinxA33开发板Linux内核 tasklet 机制(附实测代码)
12502 浏览 0 评论
芯灵思Sinlinx A33开发板 Linux内核等待队列poll ---阻塞与非阻塞
34770 浏览 0 评论
芯灵思Sinlinx A33开发板Linux中断编程 3-应用程序
34707 浏览 0 评论
38794 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:54 , Processed in 0.512271 second(s), Total 39, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号