想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。今天主要讨论下嵌入式技术学习方法,主要是针对嵌入式软件。
因为 嵌入式技术是一门交叉科学,涉及的 知识 内容非常广泛, 导致 很多人在学习嵌入式技术的时候 无从下手 ,因为知识体系非常庞杂,如果没有指 出重点 ,学 起来 效率会 非常的差 。
很多人都想知道 ,学习有没有捷径 。 我认为 速成 识可以达到的,因为这是一个相对的概念。至于 几天就可以学会, 这种说法我不认同,因为嵌入式涉及那么广泛,就算你有过目不忘的本事 那 也 是不可能的事情。
正确的学习 方法很重要 可以让我们事半功倍。 如果没有方法, 没有目的的去学习 , 在效率上 肯定是不行的。
学习嵌入式技术也是需要一定的基础的,一会儿我们专门讲需要什么样的基础。
学习嵌入式也是这样。必须掌握一定的方法,才能比较快速有效的学习。
要想快速的学习我们要自身储备一些知识 单片机 和 C 语言 就是嵌入式最基本的知识 ,不需要你掌握的有多好,但一定要具备一定 的 C 语言编程能力。像其他有些课程,比如计算机专业的编译原理、数据结构,计算机系统体系结构,这些知识实际上还不太需要,了解一下就可以了。
有 了 C 语言编程基础,并且学过单片机,这个时候就可以学习一下嵌入 式 Linu x 的基本框架了,很简单,那就是要搞清 楚 bootloade r 、 Kerne l 、和文件系统,接下来简单介绍一下。
什么 是 BootLoade r 呢 ?
实际上它是个引导程序,也就是硬件复位以后第一个要执行的程序,它主要工作就是初始化操作系统运行的环境,比如说内存、定时器、缓冲器等,当这个工作做完以后,再把操作系统的代码加载到内存,然后操作系统就可以启动并执行,到此为止 , bootloade r 的任务就完成了。
常用 的 bootlode r 有很多种,比 如 U-BOO T 、 REDBOO T 、 LIL O 等等,我们开发板用的 是 Uboo t 。
什么 是 Kerne l 呢 ?
Kerne l 就 是 Linu x 的内核,也就是 说 Linu x 操作系统本身的代码。那 么 U-BOO T 启动到最后,就是把它加载到内存,并且跳转 到 Kerne l 来执行。
什么是文件系统 呢 ?
现在我们来介绍一下文件系统,这里需要了解一个事实,就是 说 Linu x 启动到最后一定要挂载一个文件系统。这个 是 Linu x 的一个特点,它不像其他操作系统,比如 像 VxWork s ,是不需要文件系统的 , VxWORK S 没有文件系统也可以运行。
而且 我们还要明确 , 像 Q T 系统 、 Androi d 、以 及 Ubunt u 系统它们的底层都 是 Linu x 内核,不同的是她们的文件系统不一样,也就是说 , Androi d 系统相关的一些代码,比如说图形界面系统 、 Androi d 的虚拟机 , Androi d 的框架代码都 在 Linu x 最后挂的文件系统里面 。 如果大家理解了这点,那么这几个系统的基本架构也就清楚了。
了解了 这几个概念 , Linu x 系统最基本的框架 我们就了解完了 ,然后呢去学习如何编译这几个文件,因为 像 Uboo t 、 Kerne l 、文件系统,最后编译生成出来分别是一个独立的文件, 也 就是说 这里 会生成三个文件 。
接着我们 再去学 习 Linu x 上层应用的编程,以及字符设备的驱动,学完以后你就会 明显的感受到已经 入门了,能做一些 小项目了 , 最后 再深入学习计算机系统结构、数据结构、操作系统原理等等一些知识,通过分 析 Linu x 系统源码,直到熟练掌握嵌入式编程技术。
本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回 复 “ 我要入 门 ” ,与我们一起成长,喜欢的可以点个赞关注我们!