嵌入式的一些概念

136 阅读2分钟

4月「掘金·日新计划」第14天

一、嵌入式是什么

  1. 应用为中心
  2. 软硬件皆可裁剪
  3. 对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统

二、ARM架构

  1. 特点是低功耗,高性能,低成本,可扩展性强
  2. 应用智能手机,平板电脑,智能手表,智能家居工业自动化领域

三、树莓派

  1. 实物图

image.png 0. 性能

image.png

  1. 针脚

image.png

四、库概念

  1. 分文件编程

    1. 功能责任划分
    2. 方便调试
    3. 主程序简洁
  2. 库是什么

    1. 功能函数整合成一个库,库包含了编译好的代码和数据,方便使用

    2. 程序函数库分为:静态库,动态库,共享库

    3. 静态库

      1. 程序执行前,就编译加入到目标程序里了
      2. 用gcc编译,在gcc后用-l来指定这个库函数
      3. 不想让人看到源代码,可以使用静态库
    4. 动态库

      1. 程序执行时,由目标程序去调用
      2. 跟window的.dll相似
  3. 库优缺点:运行,程序大小,更新

    1. 静态库

      1. 优点

        1. 运行
        2. 发布程序无需提供静态库,因为已经在程序中(app中),移植方便
      2. 缺点

        1. 程序
        2. 更新,部署,发表麻烦。因为要重新编译生成目标程序
    2. 动态库

      1. 优点

        1. 程序
        2. 更新升级简单,因为app中没有库源代码,升级库就可以升级app
      2. 缺点

        1. 运行,加载速度慢
        2. 发布程序需要提供动态库

五、串口概念

  1. 多机通信,全双工

    1. 全双工,同一时间都发,互骂
    2. 半双工,同一时间只能单方向,一个骂完另一个骂
  2. 数据格式,语言(数据位,停止位,奇偶校验位)

  3. 波特率,语速

六、交叉编译概念

  1. 什么是交叉编译(1点)

    1. 一个平台上生成另一个平台上的可执行代码
    2. 例如:window上用kell编译c51,生成的可执行代码xxx.hex在单片机上运行
  2. 为什么要用(2点:无法安装,未建立)

    1. 目标平台上无法安装编译器,例如c51(因为资源不足
    2. 目的平台未建立,要交叉编译生成bootloader(启动引导代码)以及操作系统核心
    3. 宿主机:编辑和编译程序的平台
    4. 目标机:用户开发的系统,比如ARM平台
  3. 交叉编译工具

    1. 交叉编译器,交叉编译工具链