【嵌入式修炼之路】-剖析嵌入式学习路线

学益得线上课堂
从基础学习嵌入式开发
玩转智能硬件、斩获高薪offer

Linux基础

作为学习嵌入式的第一步,主要就是搭建嵌入式开发环境。安装虚拟机或者购买云服务器都可以。有了Linux操作系统,下面就是要学会使用Linux,其实就是学习一些常用命令以及如何在Linux下面写代码。

推荐书籍

在这里插入图片描述

C语言

C语言是嵌入式开发必备语言,不管是Linux,还是单片机、STM32,都对C语言有极高的要求。原因有二:

  1. C语言是一门底层语言,有指针的概念,可以直接操作内存,运行效率极高;
  2. 操作系统由C语言编写,所以要想学习操作系统,必须搞懂C语言。当然,为什么操作系统由C语言编写,还是因为它效率高。

C语言的学习没有捷径可走,想学好C语言,只有多敲代码,如果只是停留在课堂上的理论学习,不可能掌握C语言的精髓。所以在平时的学习过程中,不要放过每一个例题。

推荐书籍:

C专家编程

C和指针

数据结构

数据结构是所有软件开发的必学课程,为了更高的编写代码、提高代码的执行效率。嵌入式开发中更侧重于线性结构,比如链表、栈、队列。树、图、常见算法最好也要做了解,这个是笔试的重点的内容。毕竟我们的学习主要是为了就业。

如何学好数据结构, 必须是理论结合实践。 数据结构有很多理论知识,如果算法还没搞懂,只是不断的敲代码,敲得再多也无济于事。

推荐书籍

大话数据结构

系统编程

嵌入式开发的精髓还得从系统编程说起,这部分才是真正使用Linux的地方。这部分涉及很多操作系统的理论知识,比如进程、线程、网络,所以学习操作系统也必须是理论结合实践。

系统编程不难学,你可以理解成就像我们买了一个新的家电一样,只要学会了看说明书,那使用这些功能就不成问题。系统编程也是,我们学习系统编程更多的是在学习如何看man手册,它详细的介绍了各个函数的使用方法。所以看懂了man手册,系统编程根本不在话下。

推荐书籍

Linux高性能服务器编程

C++

对于嵌入式开发中为什么要学习C++,很多人存在疑惑,毕竟在传统的嵌入式开发中,C语言就能搞定一切。但是随着嵌入式的不断发展,嵌入式设备的功能越来越强大,上层软件也越来越复杂,如果这个时候再去使用C语言开发的话,可能开发效率就会很低。所以C++通常会作为大型应用软件的开发语言,它有很多的开源库,代码写起来比C语言方便的多。

推荐书籍

Effective C++

单片机

嵌入式开发肯定是离不开硬件的支持,51单片机虽然体积大、效率低,但它一直都是硬件入门的最佳人选。单片机学习起来很简单,只要精通了C语言、对硬件电路略知一二,买一块开发板,基本上一个月就可以搞定。从点亮一个LED灯开始,先把外设搞清楚,再研究定时、中断…51单片机的寄存器很少,所以它是入门的最佳人选。

推荐书籍

手把手教你学51单片机

STM32

STM32的处理能力和51单片机相比,明显上了一个台阶。寄存器更多,而且从8位变成了32位,操作起来更复杂。不过还好已经有前辈给我们写好了大量的库,只要学会调用函数就可以。学习STM32还要学习ucos、emwin,最好在配合一些项目练手,这是一个漫长的过程。

推荐书籍

例说STM32

ARM

最后就是嵌入式开发的最高境界。学习使用的话,一块mini2440足矣,虽然已经非常老旧了。这一块主要从系统移植开始,bootloader的编译、内核裁剪编译、根文件系统制作。最后在到内核、驱动。驱动这一块能力强的话建议搞一搞,如果精力不够,可以放弃,毕竟应届生真正做驱动开发的不多,能力和工作经验都达不到要求。

推荐书籍

Linux内核的设计与实现

以上就是嵌入式的学习路线。至于每一块的具体学习细节,我会在后面的博客中持续更新…

更多文章、视频、嵌入式学习资源,微信关注 【学益得智能硬件】
在这里插入图片描述