目录

嵌入式-Linux-开发基本概念

嵌入式 Linux 开发基本概念

在线课堂: (课程观看)

论  坛: (学术答疑)

开 发 板: (淘宝)

(天猫)

交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)

交流群二:QQ群:536785813(单片机-嵌入式)

公 众 号:百问科技


版本日期作者说明
V12020韦东山技术文档

嵌入式 Linux 系统,就相当于一套完整的 PC 软件系统。

https://i-blog.csdnimg.cn/blog_migrate/17a6869e259e3c357112edc390925b84.png#pic_center

Windows 为例:

① 电脑一开机,那些界面是谁显示的?

是 BIOS,它做什么?一些自检,然后从硬盘上读入 windows,并启动它。

类似的,这个 BIOS 对应于嵌入式 Linux 里的 bootloader。

Bootloader 的作用就是去 Flash、SD 卡等设备上读入 Linux 内核,并启动它。

② Windows 系统必需的软件,比如 IE、文件浏览器等保存在哪里?

在 C 盘上,里面有各种系统软件。

对应的,系统运行必需的文件在 Linux 下我们称之为根文件系统。

③ windows 能识别出 C 盘、D 盘,那么肯定有读写硬盘的能力。

这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB 等等其他硬件。

嵌入式 Linux 能从 Flash 上读出并执行应用程序,肯定也得有 Flash 的驱动程序啊,当然也不仅仅是Flash。

④ Windows 启动之后,我们就是聊 QQ、玩游戏了,这些就是 APP,它们存在磁盘上。

同样的,嵌入式 Linux 系统中我们也有各种 APP,它们位于根文件系统上。

简单地说,嵌入式 LINUX 系统里含有:

① bootloader:用于启动 Linux 内核

② Linux 内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等

③ 根文件系统:系统运行必需的文件、程序

④ APP:保存于根文件系统上

Bootloader、Linux 内核、APP 等等软件,需要在 Ubuntu 中编译;但是阅读、修改这些源码时,在 Windows下会比较方便。

所以,我们需要在 Windows、Ubuntu 上都存有源码。

① 在 Windows 上阅读、研究、修改(使用 Source insight 会很方便),修改后上传到 Ubuntu(使用 Filezilla)

② 在 Ubuntu 上编译、制作(使用 MobaXterm 远程登录 Ubuntu 会很方便)

③ 把制作好的可执行程序下载到开发板上运行、测试(使用 MobaXterm 连接开发板的串口)。

在整个开发过程中,我们会用到 Windows、Ubuntu、开发板,如下图所示:

https://i-blog.csdnimg.cn/blog_migrate/441eecc53e07034776a75d72f0f65356.png#pic_center

这里只是列出要做的事情,后面会一一讲到。

  1. 安装 VMware、下载 Ubuntu 映象

  2. 安装 Windows 上各个 APP

    这些 APP 有:SouceInsight、FileZilla、MobaXterm、Notepad++

  3. 下载源码和工具链

    工具链:必须下载或上传到 Ubuntu,并设置好 PATH 环境变量。(简单地说,工具链就是编译器)

    源码:u-boot、Linux 内核,学习到时再下载也行,Windows 和 Ubuntu 各存一份。

    注意:根文件系统是使用 buildroot 制作的,它无需放在 Windows 上。

  4. 连接开发板

    ① 连接电源线到开发板,

    ② 开发板的串口线,接到 Windows 电脑;并用 MobaXterm 连接串口。

    ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做):

  5. 烧写系统

    如果开发板系统崩溃,或是新到手的板子上没有系统,请根据后面的开发板使用手册手册来烧写系统。