2.1.1. 按照是否有操作系统

按照是否有操作系统,可分为:

  • 无OS的嵌入式系统

    其中,无OS的,相对比较简单:一个大循环,

    http://www.segger.com/admin/uploads/productDocs/UM01001_embOS_Generic.pdf

    提到的那个Super Loop

  • 有OS的嵌入式系统

    有OS的,往往架构都和OS有关:

    • 应用程序
      • 应用程序
      • 库函数
    • 操作系统内核
      • 各个功能模块:网络,文件系统,进程通信,进程管理,存储管理
      • 硬件抽象层HAL
    • 硬件

    典型的嵌入式Linux软件系统,根据不同的阶段和模块分,又可以分为:

    • Bootloader:最常见的就是Uboot了
    • Rootfs:根文件系统
    • Kernel:嵌入式Linux内核

    更多详细的解释,请参见:嵌入式Linux软件开发详解