总领及学习指引

一、前言

学习嵌入式要有一定的基础,那么这个基础就是单片机和 C 语言,不需要掌握的有多好,但一定要具备一定的 C 语言编程能力。像其他有些课程,比如计算机专业课程中的编译原理、数据结构,计算机系统体系结构,这些知识实际上还不太需要,了解一下就可以了。有了 C 语言编程基础,并且学过单片机,这个时候就可以学习一下嵌入式 Linux 的基本框架了,很简单,那就是首先要搞清楚什是 BootLoader、Linux 内核(kernel)、和文件系统。

1.1 BootLoader

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

常用的 bootloder 有很多种,比如 U-BOOT、REDBOOT、LILO 等等,我们开发板用的是 Uboot

1.2 Kernel

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

1.3 文件系统

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

搞清楚了这几个概念,实际我们就了解了 Linux 系统最基本的框架,然后根据开发板配套的料,去学习如何编译这几个文件,因为像 Uboot、Kernel、文件系统,最后编译生成出来分别是一个独立的文件,就是说会生成三个文件,最后我们要学会把这几个文件烧写到板子上。

Linux 驱动方面

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

现在我们总结一下,把学习嵌入式技术的路线图跟大家澄清一下,那就是:单片机 + C 语言 -----> 学习基础框架知识(包括 bootloader,Linux 内核、文件系统的编译和烧写 ----->再去学习 Linux 上层应用的编程,以及字符设备的驱动,学完以后就会觉得入门了,能做一些事情了-----> 最后深入学习计算机系统结构、数据结构、操作系统原理等等一些知识,通过分析 Linux 系统源码,直到熟练掌握嵌入式编程技术。
路线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值