嵌入式 Linux 开发的基本概念和学习新路线
1.嵌入式 Linux 开发的基本概念
1.1嵌入式 Linux 的组成
嵌入式 Linux 系统,就相当于一套完整的 PC 软件系统,如下图所示:
1.2嵌入式 Linux 的日常开发流程
Bootloader、Linux 内核、APP 等等软件,需要在 Ubuntu 中编译;但是阅读、修改这些源码时,在 Windows
下会比较方便。所以,我们需要在 Windows、Ubuntu 上都存有源码。
① 在 Windows 上阅读、研究、修改(使用 Source insight 会很方便),修改后上传到 Ubuntu(使用 Filezilla)
② 在 Ubuntu 上编译、制作(使用 MobaXterm 远程登录 Ubuntu 会很方便)
③ 把制作好的可执行程序下载到开发板上运行、测试(使用 MobaXterm 连接开发板的串口)。
在整个开发过程中,我们会用到 Windows、Ubuntu、开发板,如下图所示:
1.3搭建开发环境需要做哪些事情
(1). 安装 VMware、下载 Ubuntu 映象
(2). 安装 Windows 上各个 APP
这些 APP 有:SouceInsight、FileZilla、MobaXterm、Notepad++
(3). 下载源码和工具链
工具链:必须下载或上传到 Ubuntu,并设置好 PATH 环境变量。(简单地说,工具链就是编译器)
源码:u-boot、Linux 内核,学习到时再下载也行,Windows 和 Ubuntu 各存一份。
注意:根文件系统是使用 buildroot 制作的,它无需放在 Windows 上。
(4). 连接开发板
① 连接电源线到开发板。
② 开发板的串口线,接到 Windows 电脑;并用 MobaXterm 连接串口。
③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做)。
2.嵌入式 Linux的学习新路线
以往的学习路线通常是:裸机--->u-boot--->内核移植--->驱动开发--->根文件系统--->APP 开发。 这样的学习路线一开始就耗费大量时间来学习各种复杂琐碎的细节知识,效率低下,所以应该跳过裸机和u-boot,直接从应用开发入门,自顶向下学习,先快速掌握嵌入式 Linux开发的大致方法和过程,等有需要了再深入学习。
初学路线:搭建开发环境->APP 基础->驱动基础->项目
入门之后按需学习,可以学习更多的、更贴合自己需要的项目,也可以深入钻研驱动程序,或是研究其他专题。