5. 扩展开发举例和可能性探讨介绍完了 Intel Galileo 的实现细节以及各种使用后,我来向大家分享下基于 Intel Galileo 进行开发的心得。这里我主要围绕操作系统层次进行介绍。 5.1 参考资料一览 Intel 目前几乎提供了 Galileo 一切的资料,有了这些资料,只要能购买到 Quark SoC 芯片,自己 DIY 一块 Galileo 是完全没问题的。目前在 Intel Galileo 官方网站[1]中已经提供的资料有:
如果你打算基于 Galile o或者 Quark SoC X1000 进行开发,这些都是必读的内容。他们足以解释在对 Galileo 进行开发、系统定制、优化过程中出现的问题。 5.2 自定义 Linux 系统 Intel Galileo 中运行的 Linux 系统是由 Yocto Buildroot[14] 系统产生的。接触过路由器定制的朋友可能会对 OpenWRT 的系统定制有过研究,Yocto 与 Openwrt 的编译系统相比,显得更加的强大。它是一个高度可配置的嵌入式 Linux 的整合编译环境。开发人员可以比较方便的定制目标嵌入式设备所需要的 Linux kernel、各软件包。Yocto 将会自动将所需要的软件包进行代码下载、编译、打包动作,直接产生可以烧录进目标系统的镜像文件。 图:Yocto 编译系统的构架,图片来源[14] 在 Intel Galileo 软件下载页面[1]中提供了基于 Yocto 编译系统的 Galileo 的所有软件源代码。按照文档操作,即可自己编译出前面所提到 UEFI 固件、Grub、用于 SPI Flash 的 Linux 和在 SD 卡中运行的完整版本的 Linux 镜像。 那么为什么要去自己定制 Linux 呢?原因有很多,比如希望让 Galileo 支持更多的硬件设备,例如让它识别你的 3G 上网卡、连接 Kinect 等等,亦或你希望在 Linux 中增加更多的软件包,比如希望运行 Apache 服务器。这是,只需要按照 Yocto 的配置过程定制系统即可。 图:基于 Yocto 的 Intel Galileo BSP 代码目录结构 图:配置 Intel Galileo 所使用的 Linux Kernel |