《Android深度探索》第一章心得体会

由于Android系统现在的火爆,关于Android系统的应用开发不断出现,Android系统不一定只满足在手机这一种 平台上运行想要在不同的设备上运行Android,第一章十分详细的讲述了Android的系统移植的相关问题。首先简述了Android的四层架构,然后从Android的四层架构中选择我们需要主攻的第一层linux内核。

作者用wifi模块的例子告诉我们要是Android在不同硬件平台上正常运行,必需要使驱动程序正常交互。可见驱动开发在系统移植中的重要作用。

另外重要的一点是HAL硬件抽象层。由于驱动厂商并不想让驱动程序开源,所以编写了一个HAL直接访问驱动。这也为驱动开发带来巨大的麻烦,同时也对这门学问带来价值。

学习linux内核,不得不注意的就是内核版本号。使用了相同版本号的内核内核就可通用。学习版本号中所蕴含的不同信息并加以掌握。对了解linux内核很有帮助。设备内核驱动的编写,把设备抽象化有十分重大的意义——编程人员可以大量节省因为硬件与软件耦合度高而不断修改程序所消耗的时间和精力在现在互联网加的时代,我们身边很多的东西都开始讲求智能化。使硬件抽象化,是使这个世界“智能化”关键的一项重要技术。

转载于:https://www.cnblogs.com/maam/p/5457552.html

《Android深度探索》第一章心得体会相关推荐

  1. Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术

    Android深度探索(卷1)HAL与驱动开发 心得体会 第十章  嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...

  2. Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记

    Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记     本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.A ...

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

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

  4. 《Android深度探索(卷2):系统应用源代码分析与ROM定制》——第6章,第6.4节分析第一个Android系统应用:计算器...

    本节书摘来自异步社区<Android深度探索(卷2):系统应用源代码分析与ROM定制>一书中的第6章,第6.4节分析第一个Android系统应用:计算器,作者 李宁,更多章节内容可以访问云 ...

  5. Android深度探索第五章

    开发板是开发和学习嵌入式技术的主要硬件设备,开发板拥有许多扩展的端口,可以很容易开发定制的硬件,并与开发板链接.目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410ARM11架构的 ...

  6. 新书出版:《Android深度探索(卷1):HAL与驱动开发》

    <Android深度探索(卷1):HAL与驱动开发> [1]亚马逊 [2]当当网 [3]京东商城 [4]互动网 [5]淘宝网 [6]豆瓣网 < Android深度探索(卷1):HAL ...

  7. 《Android深度探索(卷1):HAL与驱动开发》新书发布

    < Android深度探索(卷1):HAL与驱动开发>分为4篇,分别从搭建开发环境,Linux驱动和Android HAL的基础知识,开发Linux驱动的高级技术和分析典型的Linux驱动 ...

  8. 《Android深度探索(卷1):HAL与驱动开发》——1.6节 Linux设备驱动

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第1章,第1.6节 Linux设备驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区" ...

  9. 《Android深度探索(卷1):HAL与驱动开发》——6.4节使用多种方式测试Linux驱动...

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第6章,第6.4节使用多种方式测试Linux驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区 ...

最新文章

  1. sed及awk显示指定行内容
  2. 在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE
  3. 文件处理_月隐学python第21课
  4. HDOJ1166 敌兵布阵【线段树】
  5. 手机号归属地查询实例
  6. CANoe 13 demo 下载和激活-转载
  7. 硬盘测试软件得分数据怎么看,SSD硬盘测试结果分析怎么看的
  8. android 投屏 版本号,安卓设备投屏画质模糊及投屏延迟的调整方法
  9. go 变量与json相互转换
  10. Maven项目集成cxf框架发布WebService
  11. 最常见的开源游戏引擎
  12. L2-039 清点代码库 (25 分)(哈希)
  13. Allegro中如何进行尺寸标注
  14. 百度LBS服务我们自己上传数据,我们客户端获取数据然后进行小黄车和膜拜单车定位描点等骚操作
  15. 软件设计师知识体系归纳总结
  16. ArcGIS 栅格计算器 Con用法
  17. 区块链基于WebSocket 构建P2P网络
  18. 最佳二次逼近多项式MATLAB代码,数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序).doc...
  19. 基于R语言SVD的图像压缩方法
  20. 世界杯梦幻阵容HTML5代码,FIFA足球世界世界杯模式阵容搭配推荐

热门文章

  1. Qt_共享内存(QSharedMemory)未完成
  2. 一步一步带你安装Node.js并创建第一个Vue项目
  3. HDU-2553N皇后问题(dfs)
  4. NYOJ-找点(贪心)
  5. eBPF学习记录(二)使用bpftrace开发eBPF程序
  6. 决策树ID3、C4.5、CART、随机森林、bagging、boosting、Adaboost、GBDT、xgboost
  7. 卷积神经网络(CNN)中,卷积层、激活函数、池化层、全链接层术语解析
  8. 毕设日志——查看系统基本信息的linux命令
  9. 吴恩达深度学习5.3笔记_Sequence Models_序列模型和注意力机制
  10. 20061008: IntelliJ Idea 6