# 前言
嵌入式linux也有些是支持网口的,比如RGMII,嵌入式系统资源支持以太网和其他基本接口的硬件平台(板上或片上系统),有充足的NOR或NAND Flash闪存,用于容纳OS、lib库、fileSystem文件系统、APP应用程序、Bootloader引导程序等。嵌入式Linux是开源的、可修改的,并且是用C编写的,可以根据需要额外根据添加的硬件芯片设备而对应增加驱动程序以供上层应用层应用程序使用。
因为嵌入式Linux是为特定的应用程序设计的,所以在开始进行需要开源OS的系统设计时,必须拥有一些特定的开发工具,一个好的起点是使用正确的库、强大的交叉编译器和高效的引导加载程序来与Linux内核配对。比如交叉编译器,它是一种编译器,执行为在编译器所在的机器之外的其他机器上运行而编写的代码。例如,在desktop桌面机或PC笔记本电脑上运行的交叉编译器能够生成为安卓智能手机等嵌入式系统编写的代码。
C库提供了内核和应用程序之间的接口,因此必须是交叉编译过程的一部分,嵌入式Linux系统中的任何程序,无论是用python、java还是其他语言编写的,都必须在运行时调用C库,才能通过Linux内核访问硬件资源。如