【嵌入式Linux(基础篇)】嵌入式Linux底层系统开发流程和应用开发流程

1.嵌入式Linux系统体系架构

一个完整的嵌入式Linux系统体系架构如图,大概可以分为三步:

  • 硬件PCB板设计
  • 底层系统开发
  • 应用开发

2.硬件PCB设计流程

  • ① 获取所用芯片芯片手册;
  • ② 建立原理图库;
  • ③ 绘制原理图;
  • ④ 建立PCB封装库;
  • 绘制PCB
  • ⑥ 样板焊接测试;
  • ⑦ 交付底层系统开发;

3.底层系统开发流程

Linux系统开发是基于之前的PCB板开发的,目的是移植Bootloader、移植内核、编写驱动,目的是为应用开发提供服务,基本流程如下:

  • ① 搭建开发环境(Linux环境、交叉编译工具链、宿主机和目标板之间的连接(JTAG下载器));
  • ② 编写裸机测试程序;
  • ③ 移植适合于该板的Bootloader;
  • ④ 裁剪移植Linux内核;
  • ⑤ 移植根文件系统;
  • 编写所需设备驱动程序
  • ⑦ 交付应用开发;

4.应用程序开发流程

Linux应用开发是基于之前的PCB+底层驱动开发的,因为嵌入式Linux应用开发可移植性非常强,所以为了方便起见应用开发都是基于现有开发板的二次开发,开发板厂商会为我们提供适合于开发板的BootLoader,移植好的内核,驱动程序。

基本流程如下:

  • ① 搭建开发环境(Linux环境、交叉编译工具链、宿主机和目标板之间的连接(NFS、串口、网口));
  • ② 编译烧写BootLoader;
  • ③ 编译烧写内核;
  • ④ 编译烧写根文件系统;
  • 开发应用程序
  • ⑥ 发布产品;