我是学机械的,但是从身边的一些人和社会实践经验中,逐步觉得单纯搞机械结构设计已经没有太多竞争力了,机械跟运动控制一起搞才觉得作用更大,于是决定学习嵌入式控制这方面的知识。
因为不是学习自动化控制出身的,学校也没开设课程教这个块,虽然大一大二的时候学习了数电、模电、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镜像(.
iso文件)并把它安装在虚拟机里面即可,这里给出主流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这种工具,点个鼠标就给你编译好。
在linux下,你得用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#、j**a这类高级语言,脚本要易学很多(因为增加了语法糖)。
在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编程,你会有更大的收获。
下面第。七、八、九阶段,使用开发板自带的bootloader即可,暂时不必研究它。
七、文件系统。
在学习操作系统原理的时候,已经有介绍文件系统了,而且不需要深入研究文件系统的具体算法,只需要了解其特性再学会使用它就能够了。如:nfs、fat32、ntfs、yaffs2、ext4、zfs等。
嵌入式学习心得体会
嵌入式系统开发随着移动互联和物联网日益的发展,社会需求在不断加大,人才市场存在了巨大缺口,华清创客学院嵌入式开发培训讲师结合学员们的需求,为读者介绍小白们初入职场时的工作经历。下文是华清远见毕业学员初入职场在一家小公司的嵌入式学习心得体会。嵌入式学习心得体会初入职场 1 熟悉cpu。x86中存在实模...
嵌入式学习心得体会
篇一 嵌入式心得体会。这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和dsp系统。从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有...
嵌入式学习心得体会
bakyannmyradov 这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和dsp系统。从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系...