更多课程 选择中心

嵌入式培训
达内IT学院

400-111-8989

嵌入式开发需要学习哪些基础东西?

  • 发布:嵌入式培训
  • 来源:嵌入式资讯
  • 时间:2020-06-30 15:52

嵌入式技术是一门边缘科学(又称交叉科学),涉及的内容非常广泛,前几年很多学校,包括一流的大学都在讨论要不要设置这个专业。不是说设置这个专业本身有什么问题,而是因为课程设置不容易安排,如果偏硬件的话那就成了电子工程一类的专业,如果偏软的话就成了计算机专业。

正因为如此,很多人在学习嵌入式技术的时候,不知道从哪里方面入手,因为知识体系非常庞杂,如果没有指导,很可能会长时间不得要领,学习效率会很差。那么,下面探讨一下学习方法,用比较简洁的方式,让大家明白嵌入式系统知识体系,以及它的整个脉络。

嵌入式开发框架学习:

首先来说,学习有没有捷径呢?一种说法是可以速成,几天就可以学会,我认为速成的说法太夸张了,那是不可能的事情。

有些人讲学习没有捷径,你必须经过长期的努力,所谓功到自然成。但是学习嵌入式技术,如果说没有好的方法那也是不对的,学习一门新的知识体系肯定是要下工夫,但是也需要有好的指引,也就是捷径,实际上这里是讲的就是学习方法和效率。

方法很重要,如果没有方法,闭着眼乱学乱撞,肯定是不行的。就像我们去找一个没有去过的地方,自己跟着感觉去找,找到的希望很小,如果手里面有张地图,并且还有指南针,那就快很多;如果我们有导航,自然是更快更方便了。实际上,这就是方法的重要性。

我们觉得,‘框架学习法’是最适合初学者采用的一种方法,这里面包含了快速原型的思想;也就是框架学习,快速原型。那么这里面的主导思想呢,就是从一开始就要看到嵌入式系统知识领域的全貌,然后逐渐深入!

比如说,我们想了解北京这座城市,如果在胡同里转来转去,可能几年都搞不清楚这个城市是什么情况,如果我们先通过北京地图学习一下,了解下天安门在什么地方,鸟巢在什么地方,香山八达岭在哪里。再加上我们到这些地方去看一看,可能很快就掌握了这座城市的全貌。

在这里需要注意的是,即便是我们有了地图,也需要有一些基础,比如我们要知道什么是天安门,知道鸟巢的来历,明白八达岭是怎么回事,实际上这些就是基础知识。也就是说我们在学习系统框架之前要具备一定的基础,否则这张地图也是看不懂的。

接下来如果我们想进一步的了解这座城市,就要去研究这座城市的历史,甚至是中国的历史。更细一步呢,还可以进一步研究故宫本身的地图。那么这样一环套一环。经过不断的研究,逐渐就会掌握这座城市的地理、文化、政治经济等特点。

通过了解北京城这个简要的例子,运用框架学习法,在对不同层次的框架的学习过程中,逐渐了解和掌握整个系统。如果我们不注意方法,每天在胡同里面来回转悠,肯定是事倍功半,将在很长时间不得要领。

嵌入式系统学习的框架:

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

那么这个方法就是框架学习法,刚才我们也讲了,首先在了解这个基础框架之前我们要有一定的基础,那么这个基础呢就是单片机和C语言,不需要你掌握的有多好,但一定要具备一定的C语言编程能力。像其他有些课程,比如计算机专业的编译原理、数据结构,计算机系统体系结构,这些知识实际上还不太需要,了解一下就可以了。

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

什么是BootLoader呢?

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

那么有人问了,没有bootloader行不行呢,可以的!但是呢,因为操作系统本身一般是个通用的软件,它要在不同的平台上运行,比如X86,ARM,POWERPC等等,而不同的处理器的初始化操作是不同的,如果操作系统的软硬要考虑在启动时候各种平台的差异性,那就显得过于复杂。除此之外,也有其他方面的原因,比如烧写系统的便捷性考虑等等,这里暂不做深入的探讨。

常用的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、文件系统,最后编译生成出来分别是一个独立的文件,就是说会生成三个文件,最后我们要学会把这几个文件烧写到板子上。

最后,达内嵌入式培训机构提醒每一个it爱好者:如果你想要在短时间内快速入门,顺利掌握一门技术,建议还是认真学习视频。多练习,多动手。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:初学嵌入式难不难?主要学什么知识?
下一篇:嵌入式工程师待遇和发展方向如何?

怎样才能学好单片机?

单片机:写1清零,写0清零,有什么区别?

嵌入式工程师一定不要乱用全局变量

嵌入式培训靠谱吗?就业怎么样?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省