• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - 嵌入式
  • 成都嵌入式软件学习这些方法你知道吗?
  •   最近调查发现,对于嵌入式软件方面来说很多用人单位,hr在招人期间,遇到了很大的问题就是:每年毕业的大学生很多,但是就是招不到合适的嵌入式软件开发人员,大部分原因是因为能力不够,不能达到他们的工作需求。你要知道,学习嵌入式就要满足社文章马伊琾度假会的需求,及用人单位的需要,那么问题来了,如何才能成为一个合格的嵌入式软件工程师,嵌入式软件学习方法又有哪些呢,为了自己的将来就业这必须看。

      嵌入式专业是一实践性非常强的学科,只有多动手,多实践,多编程,多调试,多看书,多思考才能真正掌握好嵌入式开发技术。

      现在很多同学也意识到了学校培养模式和社会需求脱节问题,有一部分同学也先行行动起来,开始注重培养自己的实际动手能力,培养自己实际分析问题,解决问题的问题,培养自己在嵌入式专业实际编程,和调试程序的能力。但是嵌入式专业不同于其他学科,嵌入式专业是一综合性非常强,涉及知识面非常广的学科,对于初学者来说,面对那么多教程,课本,那么多知识点,往往不知道从何处下手,不知道哪些是重点,哪些不是重点,这些知识点之间有什么关联,一脸的茫然,然后东一榔头,西一,了几个月甚至大半年后,还是找不着学习嵌入式的方向,还徘徊在嵌入式开发的大之外。那么重点来了,嵌入式软件学习在这里告诉你。

      首先我们先来嵌入式软件是什么:嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件。那么常用的嵌入式操作系统就是linux了,有很多嵌入式操作系统,说多了会不明白,那么就以嵌入式linux系统为例来了解。

      一般人用的电脑都会装Windows系统,要想在Windows上跑其它系统,得安装虚拟机。而目前主流的虚拟机有vmware、VirtualBox、hyperV等,你可以随便选一个安装。然后去官网下载个人版的Linux镜像(.iso文件)并把它安装在虚拟机里面即可,这里给出主流Linux系统的官网链接:ubuntu、fedora、centos、debian、suse。如果你没有用过linux的话,推荐使用ubuntu。

      4、ssh、tftp。如果你在ARM开发板上弄了个Web服务器,那么,你就可以用这些工具去访问它。其中,ssh工具用SecureCRT或者MobaXterm。

      6、版本控制器。有svn,cvs,git等,推荐学git。有了git,你就不必手动备份代码了。

      linux的命令是你在学习中经常用到的,所以可以在百度上查或者买本linux命令的书来学哦。

      在实际工作中,复杂的系统管理操作,不会一行一行地敲命令,而是用脚本(命令是基础)。脚本也是一种编程语言,只不过是解释型语言。相比C/C++、C#、JAVA这类高级语言,脚本要易学很多(因为增加了语法糖)。在Linux下,shell也有很多种,如:bsh、bash、csh、tcsh、ksh、zsh等,一般是学bash,其它的遇到再学也不迟,因为都是大同小异的。推荐《Linux Shell编程从初学到精通》

      尽管已经明白了很多了,但是不管什么编程都是还会涉及C语言的,所以C语言是必须要好好学的。此外,C语言的执行效率比bash要高,网络编程的Socket也常常用C语言开发。在这里,得掌握基本的文件操作、进程/线程控制、Socket等。推荐《嵌入式Linux C语言开发》

      六、对硬件方面还是要稍微了解一下的,不然不能和硬件对接哦,这里就不多说硬件方面的知识了,对于硬件你可以从:单片机,数据结构,编译原理,数据库等。

      由于系统还没起来,所以驱动能用到的API(内核的部分API,如:kprintk、kmalloc等)并不多,很多函数还是得自己写的,其中,会经常访问临界资源,所以得掌握自旋锁、睡眠锁。此外,驱动程序出问题的话,整个系统就挂掉了,所以还要掌握各种调试驱动的方法,如:goto语句、日志系统、KDB等。接下来就要熟悉掌握字符设备和块设备的驱动程序了。

      在学习操作系统原理的时候,已经有介绍文件系统了,而且不需要深入研究文件系统的具体算法,只需要了解其特性再学会使用它就可以了。如:NFS、FAT32、NTFS、yaffs2、ext4、ZFS等。

      一般初学,可以先掌握内核剪裁(具体工作就是填写若干个选项)。剪裁只是去掉内核部分不需要的功能,以减少代码体积。这里只要求你对内核的各个功能选项都很熟悉就可以了。如果剪裁还不能满足要求的话,得阅读内核源码,修改内核了。

      单片机也有bootloader,在keil C下的startup.a51,主要是做一些初始化工作。那么,在ARM的bootloader也是一样的功能,同样,也没有那么重要所以把它排在后面。常用的bootloader有vivi和uboot,一般学习uboot,主要掌握uboot的启动流程和移植。在经过前面的学习,那么uboot对你来说已经非常容易的了,一般只需要学会使用uboot或者用已经移植好的uboot,不需要深入研究它。推荐《Ubuntu Linux从初学到精通》

      这些你都了解透彻,那你就离成功不远了,嵌入式软件时代来临,把握机会,做一个厉害的嵌入式软件工程师还是不错的,嵌入式软件学习就是这些了,都还是不错的资源哦。返回搜狐,查看更多