想要从事嵌入式开发,但又不知道怎么入门的,可以看下,下面我结合自身实际来谈一谈。
前提基础:简单的电路、模电、数电知识,C语言
一、从51单片机入手
如果有一些前提的基础知识,要上手51单片机不算难。首先,你得有一块开发板,郭天祥或者普中科技的51单片机开发板都很不错,资源比较齐全,有配套视频,可以跟着视频来一步步地走进单片机的世界。因为是用C语言编程的,功能实现的过程不算复杂,有C语言基础的基本不会有问题。如果不想看视频,或者想要一本书来总结一下,我觉得郭天祥写的那个51单片机C语言教程写得比较好,当然了,有点贵。其实那本书不用全部看完的,看了前面的基础后,就可以自己动手做一个小作品啦,当成功的时候,你会收获很强的喜悦感。书里面有一些学习的方法,可以参考下,当年我就是看了那本书的前言,让我更有动力去学这个。
二、动手做51单片机作品
当学了一些基础后,检验你是否已经学会了,最好的方法是自己从头开始做一个小作品,可以先在开发板的基础上接一些小模块,实现一些功能,接着自己动手设计电路板,可以用万用板或者自己画PCB。说到这里,顺便说下PCB,一般实用的作品都是用PCB板的,所以在学习的过程中,也是需要学下PCB的绘制,可以用下Altium Designer,当然也可以用下其他的,可以搜下。
三、进阶:STM32
STM32也是一种单片机,不过性能比51单片机好很多,其实上手51单片机并熟悉后,学STM32也不算难事,一样的道理,首先需要一个开发板吧,现在STM32开发板做得比较好的就是正点原子了,买开发板会有配套视频、资料等,资源丰富。学完基础后,就是动手实践了。
四、再进阶:嵌入式系统
嵌入式系统可以从uCos入手,比较简单点,理解系统的结构后,可以继续深入Linux系统,嵌入式Linux开发的门槛有点高,需要看挺多知识,但是当有一天大成后,你就是科技达人了。开发板选择有很多,比较多的人用韦东山的视频和资料,当然,到这个阶段,得多看点书了,史蒂文斯的《UNIX环境高级编程》,博韦等著的《深入理解Linux内核》,科波特著的《Linux设备驱动程序》,韦东山著的《嵌入式Linux应用开发完全手册》,最后推荐一本项目管理方面的书,布鲁克斯著的《人月神话》(不要被书名骗了,以为是本神话小说),因为最终我们也是要做项目的,所以可以看下。
嵌入式系统的分工也挺多的,比如驱动工程师,找准自己想做的。
说在最后:
上面推荐了那么多,不要认为我是推销的啊,现在网络这么发达,可以去网上搜下,找到适合自己的。然后,我建议是最好能找到一个人来带下你,这样你学起来会更快,有空可以参加下比赛或者多动手实践。真正能达到嵌入式的高水平是有困难的,这需要多年的经验,但是世上无难事,只怕有心人。
虽然说现在的人工智能很火,但是不可能每个人都去搞人工智能吧,嵌入式也需要有人搞,这个是不会被淘汰的,而且嵌入式跟人工智能是可以结合的,比如数据采集、传感器网络等等,对于人工智能,数据和算法一样重要,数据从哪里来,有相当一部分来自嵌入式系统!