我相信很多人都有过这样的经历:刚开始学arm嵌入式的时候,不知道从哪里学起,应该学哪些东西,一般都会在网上搜搜,看到推荐的五花八门的,各种各样的书,看着都感觉压得喘不过来了,更不知道应该要学哪些了,其实学习arm嵌入式也不必要看那么多书,那样还会浪费时间,打击自己的自信心,在这里就看看人家久经沙场的资深程序员在arm嵌入式学习上的建议。
首先要知道,狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片,arm嵌入式在学习中会涉及到很多知识点,刚开始学的话,arm嵌入式的基础知识,是要必须先掌握的
1、c语言,关于C语言要知道基本的语法,什么是结构体,什么是共用体,有什么区别,不用强记一些二级考的东西,因在实际中用的很少。
2、c++要知道什么是类,怎么定义,继承,接口,要深刻理解,当然基本语法也是必不可少的。
3、操作系统原理也应该知道基本的原理的,我记得我大学没这个课还是去电信学院蹭别的专业的课呢,后来学习发现很多的东西都是在这个课上学到的。什么时间片啊,任务调度啊,都是在那里知道的。
3、Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),我们现在很多的人都习惯用鼠标了,很少用到命令,我们学习嵌入linux可要改改这个习惯了,linux用命令操作一是效率高,二是功能非常强大,远非图形界面能比的了的,其实我们用图形界面的操作都要转化为命令传给硬件的。
4、Linux文件系统的管理要清楚,哪个目录存放是什么东西,有什么用,文件权限管理等
5、Shell编程也要了解一些,学会编写shell脚本
脚本也是一种编程语言,只不过是解释型语言。相比C/C++、C#、Java这类高级语言,脚本要易学很多(因为增加了语法糖)。在linux下,shell也有很多种,如:bsh、bash、csh、tcsh、ksh、zsh等,一般是学bash,其它的遇到再学也不迟,因为都是大同小异的。如果有时间的话,建议再学Python脚本,Python的语法要容易很多,用途也比bash广很多。
6、Linux设备驱动的架构要了解,初学者可以以米尔的MYD-AM335X开发板上的led驱动分析一下,结合原理图和linux设备驱动相关书籍把每一行代码都分析明白。关于驱动给大家推荐一本书《LINUX设备驱动程序》华清远见出版的,很经典的,初学者看可能看不太明白,不过要坚持看,最次也得把前6章看完了。
7、学会使用linux常用工具
编辑器(写代码必备的)。有gedit,vim,emacs,sublime等。
gcc和gdb。gcc是编译器,gdb就是代码调试器。
makefile、autoconf、automake。这里可不像VC++6.0这种工具,点个鼠标就给你编译好。在linux下,你得用makefile和make工具,来编译代码。其中autoconf和automake可以自动生成makefile。
ssh、tftp。arm嵌入式培训如果你在ARM开发板上弄了个Web服务器,那么,你就可以用这些工具去访问它。其中,ssh工具建议用SecureCRT或者MobaXterm。
samba。要想用linux跟windows交换数据,还可以搭建samba服务器。
版本控制器。有svn,cvs,Git等,推荐学git。有了git,你就不必手动备份代码了。
上面这些都是arm嵌入式学习中需要学的知识点,可以根据这一个个知识点来学习,而且看书不要希望一次就会
一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了。还有,不要直接阅读linux内核源代码,看一些自己把头撞破也想不明白的事,会打击初学者的积极性,要循序渐进,今天学个做个led,明天做个串口,后天说不定就做硬件编解码了。
学习arm嵌入式你可以不接受培训,但是不能不买开发板
如果你想学习嵌入式一定要买块学习板,现在的开发板很便宜了,给我们初学者减轻了很多经济负担。看再多的视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题找到原因,解决问题,只有这样才能学到东西,记得我第一次写led的驱动,想自己试一下,网上也有人写过相关的代码,可是自己一试,就出了好多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。
还有关于培训,现在的培训机构很多,讲的也不错,老师也很好,但是有一个问题,太集中了,而且学生动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多,来了之后也没感觉有多高,问他都学了什么,也就是我前边说的那些基础知识,很多的东西还是不知道的,照着书弄个helloworld模块驱动两天没搞定。不是培训不好,但我个人见解效果并不是很好。记住:只有自己动手做过的东西才是自己的。
还有最重要的一点就是多看代码,多写代码
见多识广,熟能生巧。多看代码,要从代码中读出代码的意思来。自己平时也要多写代码,多练习(这一点我做的不好,写的少)。要理论与知识相结合,这样才能掌握扎实。
学习arm嵌入式,其实很简单,掌握好方法,那就是行云流水,掌握不好,就会很迷茫,所以跟着这些步骤好好来学,还是很不错的。
相关推荐:arm嵌入式图书