【导语】学习作为⼀种获取知识交流情感的⽅式,已经成为⼈们⽇常⽣活中不可缺少的⼀项重要内容,尤其是在⼆⼗⼀世纪这个知识经济时代,⾃主学习已是⼈们不断满⾜⾃⾝需要、充实原有知识结构,获取有价值的信息,并取得成功的法宝。今天⽆忧考为各位搜集整理了嵌⼊式技术开发学习⼼得体会【2篇】,供您查阅。
【篇⼀】
我是学机械的,但是从⾝边的⼀些⼈和社会实践经验中,渐渐觉得单纯搞机械结构设计已经没有太多竞争⼒了,机械跟运动控制⼀起搞才觉得作⽤更⼤,于是决定学习嵌⼊式控制这⽅⾯的知识。
由于不是学习⾃动化控制出⾝的,学校也没开设课程教这⼀块,虽然⼤⼀⼤⼆的时候学习了数电、模电、C语⾔、微机原理,但这些都是⼀些基础理论性的东西,并没有真正应⽤起来。在去年⼗⽉份的时候,我决定先从基础的51单⽚机开始学习,于是从上买了普中科技的⼀块51开发板,经过⼀个多⽉的学习,渐渐掌握了对基础器件的控制应⽤。
在学完51单⽚机后,决定向更⾼级的(32位)控制器学习,因为这才是⼤部分控制器应⽤的王道。刚开始买arm开发板的时候,⾃⼰也是很犹豫的,因为上太多种类了(有arm7、arm9、arm11等),就算是arm9也有不同公司出的。正好这时,我在学校⼆⼿市场上看到有⼀块FL2440的开发板出售,价格也挺便宜的,就⽴即⼊⼿了。
刚拿到开发板的⼼情是异常激动的,然⽽,⾃⼰并不知道如何使⽤开发板。虽然配套飞凌光盘⾥有不少的视频,但都不系统,还是不能开始学习飞凌开发板。在各⽅⾯上搜索资源,然后⼜各种拜访⾃动化学院同学,经过他们推荐,认为韦东⼭出的嵌⼊式视频教程⽐较系统,易学、易懂。于是抱着试⼀试的⼼态,我在上下载了韦东⼭第⼀期视频学习。刚开始的时候还担⼼教程跟⾃⼰的开发板不配套,听过⼀⼩节后发现,韦东⼭视频⾥讲解的开发板是JZ2440,和我的开发板是⼀样的处理器,突然整个世界都开朗了,虽然开发板不⼀样,但是原理都是相通的,⽽且我能在学习完韦东⼭视频后,再动⼿操作⾃⼰的
FL2440开发板,我感觉效果更好。
经过韦东⼭⼀期视频的学习,我觉得韦东⼭视频有很多优点:
1、全程都是⽤绘图板来讲解,不是照着PPT念,⽽且都是现场编程、现场调试,你能留住每⼀个细节。
2、教程很系统化,使以前从未接触过嵌⼊式的⼈也能听得懂。⼿把⼿教你看原理图、识别硬件、从浅⼊深、从易⾄难。之前51单⽚机上的器件,这些视频⾥都有讲解到的,所以如果还没学51单⽚机的,没关系,可以直接学arm9。
3、很完备的售后答疑服务,这是我最值得的推荐的⼀点。我加⼊了⼀个韦东⼭视频答疑的QQ,经常有不懂的问题,就在⾥⾯提问,韦东⼭的服务团队和其他学习者会很热⼼的给我解答,很详细,很热⼼。有时也会在百问上提问,总能收到满意的解答,个⼈很喜欢这种学习氛围。
现在,我的第⼀期视频快学完了,写下这么点经验,只是想给想要学习嵌⼊式的同学⼀点建议,如果你还没买开发板,你可以去买韦东⼭的JZ2440开发板,好像配件还挺完备的,⽽且能和韦东⼭的视频教程配套。如果你已经买了其他开发板,⽽为没有系统学习苦恼时,建议去看看韦东⼭的视频,因为原理都是相通的,你可以在看了视频后,再操作⾃⼰的开发板,效果会更好。
最后让我们⼀起向嵌⼊式进军!!加油!
【篇⼆】
常⽤的嵌⼊式操作系统有Linux、WINCE、安卓、Vxworks、QNX、OSE等,⽬前资料最多的是linux,所以下⾯以linux 为例。
⼀、安装虚拟机和Linux系统。
⼀般⼈⽤的电脑都会装Windows系统,要想在Windows上跑其它系统,得安装虚拟机。⽽⽬前主流的虚拟机有vmware、VirtualBox、hyperV等,你可以随便选⼀个安装。然后去下载个⼈版的Linux镜像(.i
so⽂件)并把它安装在虚拟机⾥⾯即可,这⾥给出主流Linux系统的链接:ubuntu、fedora、centos、debian、suse。如果你没有⽤过linux的话,推荐使⽤ubuntu。因为RedHat要收费,并改名为RHEL,所以这⾥不作介绍。
⼆、学会使⽤Linux常⽤命令。
这⾥,必须改改在Windows下点⿏标的习惯,在linux下做事得⽤命令⾏。此外,在Linux下载软件,不需要在百度下载,⽽是⽤linux⾃带的软件包管理⼯具(如:apt-get、dnf、rpm等)。如果你⽤ubuntu的话,得修改软件源(下载软件的址),因为国外的源⽐较慢,百度上有详细说明。接下来,得学会最基本的命令,如:ls、cd、find、grep、ps、diff、fdisk、ifconfig等。跟着教材多操作⼏遍就会了,没有很深的理论知识,不需要掌握所有的命令,也不需要记住所有命令的选项,⽤到的时候会查就可以了。有空的话可以上ubuntu社区或者linux公社。
三、学会使⽤Linux常⽤⼯具。
1、编辑器(写代码必备的)。有gedit,vim,emacs,sublime等,推荐学vim。
2、gcc和gdb。gcc是编译器,gdb就是代码调试器。
3、makefile、autoconf、automake。这⾥可不像VC++6.0这种⼯具,点个⿏标就给你编译好。在Lin
ux下,你得⽤makefile和make⼯具,来编译代码。其中autoconf和automake可以⾃动⽣成makefile。
4、ssh、tftp。如果你在ARM开发板上弄了个Web服务器,那么,你就可以⽤这些⼯具去访问它。其中,ssh⼯具建议⽤SecureCRT或者MobaXterm。
5、samba。要想⽤Linux跟windows交换数据,还可以搭建samba服务器。
6、版本控制器。有svn,cvs,git等,推荐学git。有了git,你就不必⼿动备份代码了。
四、学会编写shell脚本。
在实际⼯作中,复杂的系统管理操作,不会⼀⾏⼀⾏地敲命令,⽽是⽤脚本(命令是基础)。脚本也是⼀种编程语⾔,只不过是解释型语⾔。相⽐C/C++、C#、JAVA这类⾼级语⾔,脚本要易学很多(因为增加了语法糖)。在Linux下,shell也有很多种,如:bsh、bash、csh、tcsh、ksh、zsh等,⼀般是学bash,其它的遇到再学也不迟,因为都是⼤同⼩异的。此外,bash 语法⽐较奇特,很多符号(如:$#,$0,$?等)⽐较难记,不过也没必要特意记它,有个印象就可以了,⽤到的话再查⼿册,这⾥重点掌握正则表达式。如果有时间的话,建议再学python脚本,python的语法要容易很多,⽤途也⽐bash⼴很多。
五、学会Linux下C编程。
尽管学会bash已经能做很多事情了,但是驱动和内核开发还是⽤C语⾔,因为那时候系统还没起来,bash是⽤不了的。此外,C语⾔的执⾏效率⽐bash要⾼,络编程的Socket也常常⽤C语⾔开发。在这⾥,得掌握基本的⽂件操作、进程/线程控制、Socket等。推荐《Linux环境C程序设计》、《UNIX环境⾼级编程》、《UNIX络编程卷1》、《UNIX络编程卷2》,或许这些教材有点难,但是,请不要钻⽜⾓尖,不懂的暂时跳过,在学完下⼀阶段的理论之后,再来看,之前不懂的东西就变得容易。
六、增强理论知识。
因为有的⼈打着嵌⼊式硬件⼯程师的名号xx,其实嵌⼊式硬件就是普通硬件⼯程师做的⼯作。我们这⾥都是讨论软件⽅⾯的内容,⽽且嵌⼊式是以软件为主导的(⼯资上有较⼤差距)。
1、单⽚机。不想学单⽚机的话,可以学计算机组成原理。
2、数据结构。主要掌握表和树,其中链表会在操作系统的调度算法中⽤到。
3、操作系统。全部都是重点,必须深⼊研究,才会对Linux有个较全⾯的认识。
4、编译原理。有时间的话,多看看,没空的话,也得了解⼀下。对于提⾼编程能⼒,有⼀定的帮助。
5、数据库。除了基本的数据库理论之外,还得掌握SQLite或者Oracle。
6、ARM体系结构。介绍ARM的架构和指令集,在移植uboot和驱动中会⽤到,不做这两项⼯作的话,可以不学。
7、计算机络基础。开发中⽤到的tcp、udp、ssh、tftp、http、rtp就会涉及到络相关的知识,也就是socket套接字编程。
8、接⼝应⽤。如:串⼝、zmodem、IIC、SPI、1-wire、USB、HDMI、CAN、IIS、PCIE、蓝⽛、陀螺仪等。
学完上⾯这些理论之后,得再复习⼀下linux下C编程,你会有更⼤的收获。韦东山嵌入式linux视频
下⾯第七、⼋、九阶段,使⽤开发板⾃带的bootloader即可,暂时不必研究它。
七、⽂件系统。
在学习操作系统原理的时候,已经有介绍⽂件系统了,⽽且不需要深⼊研究⽂件系统的具体算法,只需要了解其特性再学会使⽤它就可以了。如:NFS、FAT32、NTFS、yaffs2、ext4、ZFS等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论