A31S ,感觉性能挺好,而且老板还给了很多的资料,而且还带学习的视频,下面是我在学习完第一期之后的一个经验,希望能跟大家分享一下,也希望各位大神能多多的帮助小弟,小弟在此谢过了。大家可以去芯灵思官方网站看一下


安卓开发我们要学习的包括四个部分:

[size=10.5000pt]1.安卓开发环境的搭建(需要一块安卓开发板,和源代码,我用的是芯灵思开发板 SINA31S )


[size=10.5000pt]2.安卓的编译方式


[size=10.5000pt]3.安卓的启动分析


[size=10.5000pt]4.安卓的传感器模块


Framework  层和 Hal 层,下面我们说一下我们开发所需要的环境

[size=10.5000pt]1.软件开发环境:必须要有开发板源码、配置 java JDK 版本、需要 adb 调试工具


[size=10.5000pt]2.硬件开发环境:需要准备开发板及相关原理图,和相关芯片的 datasheet 、需要 USB 线、串口线调试工具


[size=10.5000pt]3.开发人员要对 Linux 有一定的了解,最好有 C 、 C++ 、基础,如果从事 Framework 层要对 java 有一定的了解


下面我来简单介绍一下我们所使用的开发板的核心配置


CPU


GPU



DDR



EMMC



Video



Display



A31S  四核 Cortex-A7



L1 cache 256



L2 cache 1M



PowerVR SGX544MP2



Opengles 2.0



1G



16G



Encoder:



H264 720p



、 H.263 、 H.264 、 decoder



LAD: RGB/LVDS,1280X800



HDMI 1.4 :1920x1080@60fps


的主要外围接口:


LED 灯, SD 卡、一个 CAM 接口、一个 WIFI 接口、一组 IO 接口,一个有线网口、一个 OTG 接口、两个 USB 接口、一个 LCD 接口、一个 HDMI 接口、音频接口


另外我们的开发板还增加了一个电源管理芯片,使芯片的功耗降低了很多。


安卓的整个架构与分层:整个安卓系统应该是有软件和硬件组成的


CPU 、和他的一些外围接口,如: Camera 、 LCD\ 、 Sensor 等


U-boot 、内核和我们安卓的 OS


主要就是引导内核的启动,我们的主 CPU 内部有一段程序是来引导我们的 U-boot 启动的


启动, SD 卡启动和 Flash 启动,我们选择的启动方式主要是根据几个固定 GPIO 的电平来决定的。


内核是整个系统的核心,它主要负责进程的管理、内存的管理、网络的管理,可以直接控制我们的硬件


我们的安卓系统主要分为下面几个层:


[size=10.5000pt]1. Hal 层


[size=10.5000pt]2. Framework(C++) 层


[size=10.5000pt]3. 第三方的一些库文件


[size=10.5000pt]4. Dalvik (虚拟机系统)


[size=10.5000pt]5. Framework(java) 层


[size=10.5000pt]6. App (应用层)



层的主要作用是:把一些外设想象成一套接口供 Framework(C++) 层调用


层主要是承上启下的作用,对上可以为 Framework(java) 层提供服务,对下能够挂接我们 Hal 层的外设,还可以对外设提供保护,保证同一时刻只有一个应用程序对外设进行访问


第三方库文件主要是为系统提供一些处理


虚拟机系统主要是连接上层应用、底层的服务、和对第三方库文件提供一个自动化管理


层为我们提供了一些服务和进程之间的通讯方式,这些可以让我们快速的构建自己应用,也可以定制自己需要的控件或者服务


层基于 java 来实现的,运行在虚拟机之上



Camera 从上到下的调用顺序:


Camera 服务(从 java 层调到 Framework java 层) Framework java 层会通过虚拟机直接获取 Camera 服务,如果有人在占用 Camera 服务,那么会断开当前的链接,同时会和新的应用建立一个链接,这样应用就会获取到 Camera 访问权限和 Camera 所支持的属性,当我们点击拍照命令时,这个命令从上层一直到 Framework


Hal 层, Hal 层会调用我们的驱动去控制硬件抓拍一张照片,照片的数据会经过 ISB 的一些处理,然后返回 Hal 层,再从 Hal 层返回 Framework 层,再通过 Dalvik 传递到上层,上层拿到图片后就可以进行一些处理了。