嵌入式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

相关推荐
日取其半万世不竭6 小时前
用 Portainer 可视化管理 Docker:容器再多也不用背命令了
运维·docker·容器
2023自学中7 小时前
Linux 图形系统
linux
kirs_ur7 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
mounter6259 小时前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
动恰客流统计9 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
名字还没想好☜10 小时前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
ziguo112212 小时前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
无垠的广袤12 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
会编程的土豆13 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
砍材农夫13 小时前
运维|devops|jenkins构建应用发布
运维·jenkins·devops