想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。今天主要讨论下嵌入式技术学习方法,主要是针对嵌入式软件。

打开网易新闻 查看精彩图片

因为嵌入式技术是一门交叉科学,涉及的知识内容非常广泛,导致很多人在学习嵌入式技术的时候无从下手,因为知识体系非常庞杂,如果没有指出重点,学起来效率会非常的差。

很多人都想知道,学习有没有捷径。我认为速成识可以达到的,因为这是一个相对的概念。至于几天就可以学会,这种说法我不认同,因为嵌入式涉及那么广泛,就算你有过目不忘的本事那也是不可能的事情。

正确的学习方法很重要可以让我们事半功倍。如果没有方法,没有目的的去学习,在效率上肯定是不行的。

学习嵌入式技术也是需要一定的基础的,一会儿我们专门讲需要什么样的基础。

学习嵌入式也是这样。必须掌握一定的方法,才能比较快速有效的学习。

要想快速的学习我们要自身储备一些知识单片机和C语言就是嵌入式最基本的知识,不需要你掌握的有多好,但一定要具备一定的C语言编程能力。像其他有些课程,比如计算机专业的编译原理、数据结构,计算机系统体系结构,这些知识实际上还不太需要,了解一下就可以了。

有了C语言编程基础,并且学过单片机,这个时候就可以学习一下嵌入式Linux的基本框架了,很简单,那就是要搞清楚bootloader、Kernel、和文件系统,接下来简单介绍一下。

什么是BootLoader呢?

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

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

什么是Kernel呢?

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

什么是文件系统呢?

现在我们来介绍一下文件系统,这里需要了解一个事实,就是说Linux启动到最后一定要挂载一个文件系统。这个是Linux的一个特点,它不像其他操作系统,比如像VxWorks,是不需要文件系统的,VxWORKS没有文件系统也可以运行。

而且我们还要明确,像QT系统、Android、以及Ubuntu系统它们的底层都是Linux内核,不同的是她们的文件系统不一样,也就是说,Android系统相关的一些代码,比如说图形界面系统、Android的虚拟机,Android的框架代码都在Linux最后挂的文件系统里面。如果大家理解了这点,那么这几个系统的基本架构也就清楚了。

了解了这几个概念,Linux系统最基本的框架我们就了解完了,然后呢去学习如何编译这几个文件,因为像Uboot、Kernel、文件系统,最后编译生成出来分别是一个独立的文件,也就是说这里会生成三个文件。

接着我们再去学习Linux上层应用的编程,以及字符设备的驱动,学完以后你就会明显的感受到已经入门了,能做一些小项目了,最后再深入学习计算机系统结构、数据结构、操作系统原理等等一些知识,通过分析Linux系统源码,直到熟练掌握嵌入式编程技术。

本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!