博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《android深入探索》第一章心得
阅读量:6450 次
发布时间:2019-06-23

本文共 830 字,大约阅读时间需要 2 分钟。

看了本书第一章后,我学到了以下基本知识点:

1.移植:

因为android原生代码支持的设备不多,移植的作用是为了在各种设备(手机、MP4、平板、车载系统)上完美运行android。而学习移植就要学习驱动开发,两者相辅相成。

Android系统移植的主要工作是应用移植和系统移植。系统移植是指让android操作系统在某一个特定硬件平台上运行。系统移植主要涉及驱动和HAL库,系统移植除了移植CPU架构还要移植linux驱动。

综上,移植的主要工作:①移植linux驱动(linux内核移植);②移植HAL(找到并修改源码)。

2.Android系统架构包括:①linux内核②C/C++代码库③android SDK API④应用程序

3.抽象硬件HAL层:HAL位于系统架构第二层——Linux程序库,android sdk通过HAL直接访问linux驱动。

4.内核:linux内核版本主要维护三个版本:linux2.4、linux2.6、linux3.x。其中2.6版本最为广泛。

查看内核版本的方式:

① Android——“设备 ”——“关于手机”

② 虚拟机终端输入命令:#uname –a 或者#cat /proc/version   

“/proc”是系统内核映像

5.驱动:直接和硬件交互,对硬件进行抽象,提供对外连接接口,实现软硬件协作

Linux驱动只与linux内核有关,与linux系统无关。

Linux内核版本号用于判断内核是否相同,只要使用同样的内核,驱动就能够通用。

 6.设备:字符设备、块设备、网络设备

7.安卓驱动开发只比linux驱动开发多了一层安卓特有的HAL。

8.学习驱动开发需要我们做到:

① 熟悉linux操作系统环境用于开发和测试

② 学习相关硬件知识

③ 准备一块开发板并熟练操控

④ 学习GNUC 不断的实践

转载于:https://www.cnblogs.com/cqj0818/p/5430985.html

你可能感兴趣的文章
JMeter IP欺骗压测
查看>>
Serializers 序列化组件
查看>>
最简单的RPC框架实现
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
CountDownLatch与thread-join()的区别
查看>>
linux下MySQL安装登录及操作
查看>>
centos 7 部署LDAP服务
查看>>
揭秘马云帝国内幕:马云的野心有多大
查看>>
topcoder srm 680 div1
查看>>
算法专题(1)-信息学基本解题流程!
查看>>
模拟文件系统
查看>>
使用SSH连接Windows10 Ubuntu (WSL),Pycharm
查看>>
poj2155
查看>>
CSS动画之转换模块
查看>>
swift - UITextField 的用法
查看>>
检索和关闭游标+检索游标+关闭游标
查看>>
[开源]KJFramework.Message 智能二进制消息框架 -- 性能提升
查看>>
iOS项目分层
查看>>
CocosCreator 小知识
查看>>