• Android驱动开发第二章随想


    本章主要学的是传统嵌入式开发与Android系统之间的关系。
    首先介绍的是嵌入式系统,按照IEEE的定义,嵌入式系统是用来控制,监控活辅助操作机器,装置,工厂大规模系统的设备。一般的定义则是表示:嵌入式是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机。由于嵌入式系统具有以下一些特点:(1)专用、软硬件可剪裁配置。 (2)低功耗、高可靠性、高稳定性。 (3)软件代码短小精悍。 (4)代码可固化 (5)实时性 (6)弱交互性 (7)嵌入式系统软件开发通常需要专门的开发工具和开发环境。 (8)要求开发、设计人员有较高的技能。因此嵌入式系统最近几年的发展也是越来越迅速。

    嵌入式系统是由三部分组成,应用软件,嵌入式操作系统和硬件设备,这三部分又可以分为小得其他部分。

    通常基于linux系统的嵌入式开发步骤如下:

    1)、开发目标硬件系统:

        如选择微处理器、Flash及其它外设等

    2)、建立交叉开发环境:

    安装交叉编译工具链、配置串口通信工具、配置网络通信工具等

    3)、开发Bootloader: 移植Bootloader,如vivi

    4)、移植linux内核:  如linux2.4.18内核移植

    5)、开发根文件系统: 如CRAMFS文件系统的制作

    6)、开发相关硬件的驱动程序:如LCD、网卡、GPIO等

    7)、开发上层的应用程序:如网络、QT GUI开发

    5、交叉编译链介绍

    1)、本地编译:

    在当前平台编译,编译得到的程序也在本地执行,这时所使用的编译器称为本地编译器

    2)、交叉编译:

    在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在X86平台上编译出能运行于ARM平台上的程序,这时所使用的编译器称为交叉编译器

    3)、在编译Linux内核和应用程序之前,由于一般嵌入式开发系统存储大小有限,通常都要在性能优越的PC机上建立一个用于目标机的交叉编译工具链,用该交叉编译工具链在PC上编译出目标机上要运行的程序

    4)、交叉编译工具链主要由binutils、gcc、glibc 3个部分组成

    5)、编译交叉编译工具链是一个非常复杂的过程,但一般网上有已经编译好的工具链可以下载

    常用的交叉编译器版本如下:

    2.95.3、3.3.2、3.4.1、4.3.2等

  • 相关阅读:
    BZOJ4821 SDOI2017相关分析(线段树)
    BZOJ3167/BZOJ4824 HEOI2013SAO/CQOI2017老C的键盘(树形dp)
    BZOJ4820 SDOI2017硬币游戏(概率期望+高斯消元+kmp)
    BZOJ4811 Ynoi2017由乃的OJ(树链剖分+线段树)
    BZOJ4810 Ynoi2017由乃的玉米田(莫队+bitset)
    Codeforces Round #522 Div. 1 没打记
    BZOJ4784 ZJOI2017仙人掌(树形dp+dfs树)
    43. Multiply Strings
    2. Add Two Numbers
    150. Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/lzy402682881/p/5433744.html
Copyright © 2020-2023  润新知