zoukankan      html  css  js  c++  java
  • 第一章

    第一章 Android系统与嵌入式开发

    从系统移植和驱动开发者的角度来讲,Android底层的开发移植和传统嵌入式系统开发保持了很多的一致,所以要从事Android系统的开发必须了解嵌入式开发的基础知识。本章就嵌入式和Android系统进行了简单的介绍。

    Android系统的架构分为四层:

    第一层,Linux内核:主要包括程序以及管理内存、进程、电源等资源的程序

    第二层,C/C++代码库:主要包括Linux.so文件以及嵌入到APK程序中的NDK代码

    第三层,Android SDK API:直接面向应用程序的JAVA API

    第四层,应用程序:直接面向用户的应用程序(APK程序)

    Android移植可分为两部分:应用移植和驱动移植(除了移植CPU架构外,最重要的就是移植Linux驱动);Android不能像其他Linux系统一样由应用程序直接访问驱动,而是中间隔了一层HAL,可以讲Linux驱动的业务逻辑放于其中。所以如果为了增加新的驱动或者修改原来的驱动代码,HAL需要有所调整,那么Android一致的主要工作有以下:移植Linux驱动;移植HAL

    查看Linux内核版本号有以下两种方法:uname -acat /proc/version

    为了降低软件与硬件之间的耦合度,需要把硬件抽象,驱动即为直接和硬件交互的一类程序,负责对硬件进行抽象。驱动针对的对象是存储器和外设,Linux将存储器和外设分为三大类:字符设备;块设备;网络设备。任何一个驱动程序都有一个装载函数和卸载函数,分别是通过module_initmodule_exit宏指定的。

  • 相关阅读:
    [iOS]UIDynamicAnimator动画
    [iOS]被忽略的main函数
    [iOS]app的生命周期
    vue 封装http请求时错误信息提示使用element-ui message,只提示一次
    angular8 Vue 导出excel文件
    python3 tornado api + angular8 + nginx 跨域问题
    ubutu tornado python3.7.5 nginx supervisor 部署web api
    angular cli 反向代理实现跨域
    angular8自定义管道、指令以及获取dom值
    angular cli 使用echarts
  • 原文地址:https://www.cnblogs.com/BJBLOG/p/5439096.html
Copyright © 2011-2022 走看看