嵌入式Linux | 什么是 BootLoader、Linux 内核(kernel)、和文件系统?

01

什么是BootLoader呢?

它是个引导程序 ,也就是硬件复位 以后第一个要执行的程序,它主要工作就是初始化操作系统运行的环境,比如说内存、定时器、缓冲器 等,当这个工作做完以后,再++把操作系统的代码加载到内存++,然后操作系统就可以启动并执行,到此为止,bootloader 的任务就完成了。

bootloder 类型,比如 U-BOOT、REDBOOT、LILO 等等,俺的开发板用的是 Uboot。

02

什么是Kernel呢?

Kernel就是 Linux 的内核,也就是说 Linux 操作系统本身的代码。那么 U-BOOT 启动到最后,把++Linux内核加载到内存,并且跳转到++++Kernel++来执行。

03

什么是文件系统呢?

Linux 内核启动到最后一定要挂载一个文件系统。这个是 Linux 的一个特点,它不像其他操作系统。像QT系统、Android系统、以及Ubuntu系统它们的底层都是 Linux 内核,不同的是它们的文件系统不一样。

Uboot****、Kernel、文件系统,最后编译生成出来分别是一个独立的文件,

就是说会生成三个文件,最后我们要学会把这几个文件烧写到板子上。

04

什么是应用程序呢?

它是运行在操作系统上面,通过调用操作系统的资源去工作,是最终的业务逻辑,比如我们 Windows 上面有很多的应用程序,像 QQ、WPS、WORD、EXEL 等,各种各样应用程序有很多。

05

Linux****驱动

Linux 的驱动包括有三种:字符设备、块设备以及网络设备

06

嵌入式大佬

  1. ++基本数字电路+++++ C++++语言+++++++++基础框架知识++++----->++++嵌入式驱动工程师++

  2. ++数据结构+++++++++编译原理++++------>++++高级嵌入式驱动工程师++

  3. ++计算机系统体系结构+++++++++操作系统(从抽象到具体)++++------->++++系统架构工程师++

07

学习路线

08

环境搭建

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 虚拟机安装和Linux操作系统教程 |
| Linux | Linux 磁盘管理 |
| Qt | ubuntu20.04安装Qt6.5.3并创建一个app完整教程(涉及诸多开发细节,商用慎重) |
| ubuntu+MobaXterm+ssh+运行Qt |

ubuntu下载地址为:

https://www.ubuntu.com/download/desktop

Ubuntu 的安装位置一定要选择一个比较大的盘符,

如果大家的电脑内存只有 8 GB ,那么大家也设置成一半,也就是 4GB 就可以了.

然后设置处理器,因为作者的电脑是四核的,所以我直接把这儿设置成 4,每个处理器内核数量我们这里一般都设置成 1.

09

桥接模式、NAT 模式、仅主机模式,这三个模式都是什么呢。

  • 桥接模式 就好比,把虚拟机和电脑主机都连接到了同一个局域网下,在这个局域网下,所有的电脑主机都可以访问虚拟机(SSH可以多连接),同样虚拟机也可以访问在这个局域网下的所有电脑主机。后面我们在用 nfs功能的时候,一定要用桥接模式,用别的模式都是不行的,这里直接选桥接模式是没有问题的。

  • NAT****模式它好比于把虚拟机和电脑主机放到了同一个局域网下,

    但是在这个局域网下的另外的主机是不能访问我们的虚拟机的。

  • 仅主机模式就好比我们的虚拟机是一台独立的机器,和我们这个局域网下的任何机器都没有关系,当然和我们的主机也没有关系,这个我们一般不用。

USB 控制器,兼容性这里我们把它设置为 3.0。最后一个就是显示器,取消勾选"加速 3D 图形"。设置好了之后点击"确定",这样虚拟机的硬件设置就已经完成了。

设置分辨率Displays

相关推荐
23级二本计科7 分钟前
TCP 全连接队列 内核层理解socket
服务器·网络·tcp/ip
好好学习O(∩_∩)O1 小时前
[网络][tcp协议]:tcp报头
服务器·网络·tcp/ip
zhonguncle1 小时前
如何在Ubuntu上构建编译LLVM和ISPC,以及Ubuntu上ISPC的使用方法
linux·ubuntu·ispc
Wizard7972 小时前
在linux 系统下的qt 安装mqtt库
linux·运维·qt
无名之逆2 小时前
Hyperlane:Rust 生态中的轻量级高性能 HTTP 服务器库,助力现代 Web 开发
服务器·开发语言·前端·后端·http·面试·rust
Python破壁人手记3 小时前
《我的Python觉醒之路》之转型Python(十五)——控制流
java·服务器·开发语言·网络·python
Michaelwubo3 小时前
jenkins 配置邮件问题整理
java·运维·jenkins
Ares-Wang3 小时前
Linux》Ubuntu》Docker >>安装中文版GitLab compose
linux·ubuntu·docker
无名之逆4 小时前
轻量级、高性能的 Rust HTTP 服务器库 —— Hyperlane
服务器·开发语言·前端·后端·http·rust