学嵌入式从哪里入手
1.C语言! C语言! C语言!
C语言可以说是贯穿整个嵌入式的核心程序语言,想要学好嵌入式,C语言必须学会。
2.基础电路与工具的学习。 可以从b站找一些视频下载个proteus,keil进行学习。proteus是仿真软件,里面有各种元器件。keil可进行编程。学习嵌入式,避免不了跟硬件打交道,不可能总是仿真,最好能具备一定的模电数电的基础,作为初学者,只需要学会电阻,电容,二极管,三级管,mos管等常用器件的工作原理,及常见基础电路的原理图就可以了,如果你不打算从事硬件开发工作,不需要花太多精力将这两门课完全弄懂,遇到不懂的电路,器件原理直接进行百度,单点突破即可。工具方面要学会示波器,万用表等基本硬件测试工具以及电烙铁焊接技术就可以了。
3. 学习单片机
有了C语言基础与电路知识基础后,就可以正式开始学习单片机了,当然,也可以跨越不学单片机直接去学习linux,但学习难度会比较大,有单片机基础再去学习linux能使自己对底层基础知识更了解,同时,学会单片机还能做一些有趣创意的小发明。
学习单片机建议从51单片机开始学起,可能会有人觉得51单片机性能弱,比较落后,已经没必要去学,这种思想是错误的,首先,单片机只是一个工具,本质上我们是学习C编程及其电路的设计,即使我们以后不使用51单片机,但从中学到的编程水平和电路相关的知识是在所有嵌入式产品上是通用的,另外,在我们现实生活中,包括不限于冰箱,空调,洗衣机,烤箱,电饭锅等绝大多数家用电器的MCU都是51内核的单片机,其优势就在于操作简单,价格便宜,就像如今汽车与飞机发展得再好,考虑成本与便捷上,最后的1公里路还是小电驴最占优势,但最重要的是对于初学者来说,51单片机学习资料较多,底层相对较简单,可以很好地让初学者学习入门单片机,理解寄存器底层工作原理。
一、模拟数字电路,C语言编程。
模拟电路比较难学,可以选择听一些视频教程,看看最基础的教材,有时间在Multism上做一些仿真实验就可以了;数字电路比较容易学,学习一下视频教程就行了;不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言开发。做好这些之后,前期的准备工作就基本完成了。
二、单片机
掌握proteus仿真,不买硬件也可以学习。学习单片机,一是掌握单片机的各种资源,二是掌握常用元器件和总线。
三、嵌入式操作系统
学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助。应该对操作系统有所了解,这对你对硬件和软件的理解,有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件等等。
四、ARM学习
结合arm芯片手册学习UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,先看看linux 代码早期的版本,比如0.12 的代码等等。
对于嵌入式来说,需要学习的内容很多,我们就觉得关于嵌入式无从下手,这样只会让自己更加迷茫,不知道要学哪个了,其实嵌入式也就是软件,硬件,编程这些方面的,最基础的也就是C语言了,那刚开始接触,你就需要先从C语言入手。
1、C语言
关于C语言,我们要熟练的掌握它的基本语法,并且会加以运用,这样我们在嵌入式软件编写代码这一块才能更加得心应手,不会出现系统内部的基本代码看不懂的情况。
2、嵌入式最核心的操作系统,所以操作系统原理也应该是要有所了解的,关于操作系统的各种性质和内部用法需要熟练掌握,对嵌入式系统更加了解熟悉,我们才能更好的进行利用其开发。
3、Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),现在很多的人对鼠标早是情有独钟了,很少用到命令,在学习嵌入式Linux可要改改这个习惯了,Linux用命令操作具有效率高、功能强大的特点,这个是图形界面无法取代的,其实平时的图形界面操作都要转化为命令传输给硬件的。
4、Linux设备驱动的架构要了解,结合原理图和Linux设备驱动相关书籍把每一行代码分析清楚。
上面这些内容是学习嵌入式的一些基本要点,先掌握这些,才能再继续后面的学习,在学习嵌入式的时候,千万不要心急火燎的去学,可能最终得到的结果只会适得其反,学习嵌入式必须要保证足够的耐心,一点一点的把内容吃透,把基础打扎实,这样才会在之后的学习中事半功倍。