• 38.01 KB
  • 2021-04-28 发布

嵌入式学习心得体会5篇

  • 9页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
嵌入式学习心得体会5篇 ‎ ‎  嵌入式学习心得体会(一)‎ ‎  首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。‎ ‎  对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15k以上。‎ ‎  另一类就是数字部分了,在大方向上又可分为51/arm的单片机类,dsp类,fpga类,国内fpga的工程师大多是在ic设计公司从事ip核的前端验证,这部分不搞到门级,前途不太明朗,即使做个ic前端验证工程师,也要搞上几年才能胜任。dsp硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。‎ ‎  而arm单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互pk,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如pxa255处理器i2c要求速度在100kbps,如果把一个i2c外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接lcd,但为什么这种lcd就不能挂在arm的总线上,还有arm7总线上可以外接个winband的sd卡控制器,但为什么这种控制器接不到arm9或是xscale处理器上,这些都是问题。‎ ‎  因此接口并不是一种简单的连接,要看时序,要看参数。‎ ‎ 一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5v变1.8v的dc芯片,直接更换成ldo,有时就会把cpu烧上几个。‎ ‎  前几天还有人希望我帮忙把他们以前基于pxa255平台的手持gps设备做下程序优化,我问了一下情况,地图是存在sd卡中的,而sd卡与pxa255的mmc控制器间采用的spi接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。‎ ‎  因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计pcb绘制,逻辑设计这块。‎ ‎  这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ecad工程师,就是专业的画pcb板的工程师,和emc设计工程师,帮人家解决emc的问题。硬件工程师再往上就是板级测试工程师,就是c语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人。‎ ‎  总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。‎ ‎  那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握eda设计的辅助工具类如protelorcadpowperpcbmaplux2ise、vdhl语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。‎ ‎  硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。‎ ‎  把一个月前想写的东西,今天终于用一上午的进间整理完了,希望对喜爱嵌入式系统开发的工程师和学生们有所帮助。‎ ‎  嵌入式学习心得体会(二)‎ ‎  研究嵌入式系统已经有快两年的时间了。很庆幸自己当初选择了嵌入式系统作为自己的研究和职业方向,可以说它是一种催化剂,让我自身的修养和研究能力都有了很大的提高。‎ ‎  (当然这离不开我敬爱的导师门给我的教导与支持和我个人自身的基础及努力)在嵌入式系统的大门前,我只能算是刚刚看到这个大门的台阶,但这段小小的距离让我受益颇多,现将其中心得奉献出来,欢迎高手前辈们指正,以供刚接触的新人参考。(别人的心得和经验你可以学习,但是不可以完全照而搬之。因为每个人的心理,生活方式,看待事物及个人志向立场等等其他都不同,我的方法不一定适合你,但是可以学习借鉴。)‎ ‎  在写之前,想先写一句话,千万不要以为你是天才,所谓天才即胜别人N倍的人,如果你真认为你是天才,请以天才的标准来要求自己,将自己付出和别人的比例以N:1来进行。‎ ‎  (1)学习与生活心态 ‎  很多朋友都是在刚步入大学校门开始接触计算机或者其他。大学是一个很让人迷茫颓废的地方,可能你在高中踌躇满志,但在大学的管理机制下却心态渐糜。能够在大学(大一)里找到自己人生之志的同学有多少?目标要明确,不要得过且过,不要追逐热门的东西。‎ ‎  不管在什么时候,心里都要有自己的信念和理想,不要被其他东西左右了自己。要从兴趣和竞争出发,因为这才是你产生动力源的地方。学东西时,要让自己先喜欢上它,要学会享受学习它的时间,喜欢乔***的都知道,乔老爷子最常说的一句就是要享受比赛的时间。‎ ‎  因为只有你喜欢上了它,享受了它,才不会被它所产生的压力压倒自己,不要产生一种厌恶的心理。而且心态要调整,不要一味的蛮学,死学,在没有什么兴趣学的时候可以先玩几天,在回过头来,或者用其他的方式来转换。要抱着一种十年方能磨一剑的心理,扎扎实实从基础开始,不要为高速开发的一些现象所迷惑,那些都只是软件的功劳。‎ ‎  我个人认为搞编程,英语和数学很重要,大家一定要时时的抓,至于怎么抓那就是另外一回事了,当然其他的知识也要汲取,可以多接触点天文,地理,人文方面的东西来补充自己。转换的生活方式。要学会生活,在人的一生中,都会遇到一些很不开心的事,或者大大小小的意外,孙子兵法里面一句大意就是说,战场上要会将劣势转成优势,即最大的劣势很可能就是你的优势所在。‎ ‎  一个打击你可以把他变为前进的动力,不必为了一点挫折和捶胸顿足,不必为了一点小事争吵不休。空闲的时候可以躺下来看看天,你就会明白自强不息,厚德载物之理。(看到一些为了失恋或者其他而堕落的人真的很难受和可惜) 。‎ ‎  要给人以帮助。别人有困难时或者一些举手之劳在自己解决范围内的尽力帮之,这对自己不会损失什么,相反在对方心里能够树立你的形象和增加好感。记住,给人之恩时也是给你自己铺路,这个世界不是靠你一个人可改变的。‎ ‎  (2)编程语言的选择 语言的争论。很多初学择,老是在学习何种语言上举棋不定,试问,中国牌子有几个不被骂的,试问,世界上哪部影片没人说他坏话的?术业有专攻,各司其职,每个语言的出现肯定都有自己价值和领域的范围,不同的只是价值和领域的高级和大小。‎ ‎  就像高,矮,胖,瘦组成一个“型”。但是技术是进步的,这个进步也是在旧的基础上。放心,技术再飞跃也不会今天奔I,明天扣肉的迅速,在学习的同时也要时时关注整个语言界的走势(貌似哪个伟人说的与时俱进),保持一种同步曲线的前进。语言能干什么?能问这句话,很欣慰。‎ ‎  表明你是从基础学起才会问出这样的话来。但换而言之你一开始对这门语言调查的信息不足。庙算者胜,对自己身边的事物了解是非常重要的,这也能说明说你的教材或者教导你的人不够充分。如果是我对新手交流,我会花足时间让他明白这门语言是什么,能干什么,整个体系等等。‎ ‎  这样在学的时候,对同一条语句上的理解你可能跟别人就不一样了, 因为你知道这门语言的体系架构,你可以从更多的特性角度去挖掘使用它。提高自己对语言阅读能力。如何快速的进步?可以告诉你没有一步登天的办法,但是也可以告诉你如何让你快速掌握你所学的技术。多读他人代码,多领悟他人思维,多给自己出难题,多几种方法来解问题,多将语言的思想和身边的事物联系起来。想想你是怎么掌握普通话的,方法就不具体说了。‎ ‎  编程的思维。计算机是充满诱惑的东西,很多人都说热爱计算机,那只是它的表面,你热爱的只是他的一种扩展性的东西。能学计算机我很高兴,因为计算机从某种意义上来说将空间的距离给消除掉了。这里没有流血,没有牺牲。你可以以一种艺术家的思维来塑造它,可以以侦探的逻辑思维来破解它,可以以一种战争狂人的思维来摧毁它。‎ ‎  你可以将你的这种思维体现在代码和整个布局里,不要惊异别人代码思维的异风,你也有自己的思维风格,你也可以,你也可以用自己代码让别人惊异。记住你学东西时更多的要体会他的思维,比如数学,微积分,离散,无数的定理,你学完以后可能永远都用不到,但是你可能有这种感觉,在你碰到某一问题时,这一问题的性质和你学到的东西很类似,但是中间就是差了一点东西,对了,这就是它思维上的一种运用,一种抽象,一种转换。‎ ‎  嵌入式学习心得体会(三)‎ ‎  首先,我们学习的课本是嵌入式系统应用教程。我学习的体会是这样的: 开始时,由于是刚刚入门,对老师书的好多东西是好奇的,好多名词也是新鲜的,不过不太懂什么意思。但是慢慢的,了解的深入让我有了更深的感触和体会。‎ ‎  在嵌入式的学习过程中,让我了解了什么是嵌入式系统。它就是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能、可靠性、成本、体积、功耗有严格要求的计算机系统。他一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序四个部分组成,用于实现对其他设备的控制、监视或管理功能。嵌入式系统已经应用于科学研究、工业控制、军事技术、交通通信、医疗卫生、消费娱乐等领域,人们日常使用的手机、PDA、汽车、智能家电、GPS等均是嵌入式系统的典型代表。‎ ‎  一开始我们就学习嵌入式的系统的基础部分,那很简单,就是一些定义或是介绍之类的。在进入第二章时,就开始学习了嵌入式开发过程中的主要操作系统——‎ linux,在接下来的课程中,我发现嵌入式的学习过程还是蛮有趣的。在对linux的学习中,我们对它有了一点点的了解,接着就是学习一虚拟机的方式安装linux。对我来说有趣的就是安装的过程了,首先我们跟着老师的脚步走,学会了怎么安装,在自己动手进行对它的安装,这个过程是简单而有趣的。这样的开始让我对它充满了兴趣,也对以后的学习充满了信心。‎ ‎  其次就是安装好了之后,老师就更深一步的教我们应用了。在这是老师首先交给我们的是一些简单的命令应用,Linux具有很丰富的命令,绝大多数命令具有大量的参数。‎ ‎  在学习命令的过程中,只要你认真的看着老师操作还有认真听着他讲,你就会发现有些命令的操作还是很简单的,不过在操作的过程中,我也有遇到有些困难,会出现你按照书上学习的例子,将命令输入终端时会出现你不想要的结果,也就是错误的结果。这是问问旁边的同学或是懂的同学就可以解决了。‎ ‎  在对于这部分的学习中,让我知道了命令对于嵌入式的重要性。它是linux的重要内容,linux中所有的功能都是通过命令执行。在实际应用中,为了减少系统开销,经常不使用图形界面,此时,对系统的所有操作都需要以命令方式来执行。在嵌入式系统开发过程中,由于目标机的性能和配置比较低,因此,一般情况下目标机仅具有命令窗口而没有图形界面,对目标机的所有操作都通过命令来实现。‎ ‎  还有的那就是进一步学习与嵌入式系统开发相关的linux的服务,他们的启动、设置等的操作和应用。而在学习之中,我们主要介绍的是嵌入式系统中开发工程使用的TFTP、Telent和NFS服务。第一个实现的事上机位与下机位之间文件的传输、无磁盘网络的设备的启动等功能;第二个实现的事远程登录功能;第三个实现的是网络文件系统功能。‎ ‎  从以上的内容之中,并不难感受到我们的学习过程是由浅入深的,这对于我们的学习也有了较好的帮助。‎ ‎  当然,我们学习的不仅仅是这么几个内容,其中还有相关的实验内容。在我们基础的学习的过程之中,我有了这么一点的感受,总的来说就是概念加专业名词还有介绍加实验。不过你绝对不能小看那些概念和介绍,它对我们有着很重要的指导作用哦!实验那就更不用说了,它提高我们的动手能力,在实验的过程中还能让你更加理解书中的理念,这就是我学习嵌入式的感受。‎ ‎  嵌入式学习心得体会(四)‎ ‎  目前最常见的嵌入式LINUX方面,我认为大概3个:‎ ‎  1.嵌入式LINUX上层的应用,包括QT的GUI开发 ‎  2. 嵌入式的LINUX系统开发 ‎  3.嵌入式的驱动开发 ‎  学习嵌入式:‎ ‎  第一.C语言要掌握(硬件略懂),C语言是所有编程语言中的强者,单片机,DSP,类似ARM的种种芯片的编程都可以用C语言搞定,因为它可移值性强,编译效率高,运算速度快,便于实现理更复杂的的数据结构。上层应用和数据存储,我推荐使用C++语言。‎ ‎  第二.学习一种嵌入式的处理器架构,个人推荐32位的处理器,像ARM,因为嵌入式 ‎  开发8位的处理器显得有点低端,大多数只能用作简单的工控.‎ ‎  第三.学习一种嵌入式操作系统,像LINUX,WINCE等都可以,LINUX更好。‎ ‎  三:ARM是一种微处理器,已遍及工业控制,消费类的电子产品,通信,网络,无线等各类的产品基于 ‎  ARM技术的微处理器已占75%以上的市场份额,可见其技术已逐渗入到我们生活中的各个领域,像手机 ‎  就是用ARM7 ARM9 ARM11的微处理器技术开发的。嵌入式系统最常见的ARM系列,ARM7 ,ARM9,‎ ‎  ARM11,cortex-A8等。‎ ‎  我们都是曾经从大学里走出来的迷茫羊羔,工作以后我才知道,在大学里不是学到了什么,而是学会怎么去学,相信自己,理清自己的思路,根据自己的性格,剖析自我适合往哪方面发展。‎ ‎  嵌入式学习心得体会(五)‎ ‎  一,如果非常多人都想做Linux,那么就要对Linux要 ‎ 比较熟悉。这个熟悉不是说对内核,对代码有多了解,而是至少要会基本的操作,非常难想象让一个连编译程式,编辑文本文件都非常困难的人去弄嵌入式的软件吧。总之在进入嵌入式这个领域之前要对自己评估一下,看看自己是不是准备好了去学习嵌入式相关的东西。‎ ‎  二,要舍得花钱买研发板。公欲善其技,必先利其器。也就是说,理论上可能掌控了非常多,不过不去实践,那只能是纸上谈兵,这样是无法学好嵌入式的。弄个研 发板自己摆弄摆弄,即使什么都不懂,也能按照说明书把厂家给的程式下载到研发板上运行运行,先知其然,然后再通过具体的学习知其所以然,这样能避免学习中 的枯燥。目前市场上研发板的种类繁多,相同CPU的板子价格却相差非常多,令非常多人都不知道怎么选择购买。‎ ‎  我的看法是,尽量买大厂的产品。因为在初学阶 段学习资料少是个非常头疼的事,非常多时候都是无从下手,不知道怎么去做,那么随研发板附送的资料就非常重要了。大厂技术比较强,附带的程式都是能在板子 上运行的,例如我买的优龙ST2410这个板子(不是广告啊),光盘上带了一个bootloader,个2.4.18的内核,更有一个cramfs,这些 程式的原始码都是厂家事先做好或修改好的,完全适用于初学者使用。‎ ‎  而有些实力不行的小厂家的资料不齐全,我们学习的时候需要自己弄bootloader什 么的,那入门就非常难了。不过大厂的板子都非常贵,大家能根据预算来选择适合自己的研发板,不过无论怎样,在学习上投资都是值得的。‎ ‎  三,不要事无巨细的学习,要有明确的目标。我最开始给自己制定的学习计划是:学习arm体系结构 -> 学习arm汇编 -> 自己移植bootloader -> 自己移植kernel -> 做应用,不过不久就被我否决了,因为这个过程实在是太枯燥太痛苦了,在学习资料少,没人指导的情况下根本无法进展。于是我决定使用厂家的代码来“玩”研发 板,自己弄些应用上去。先是完全使用厂家给的bootloader,kernel,cramfs。之后发现cramfs中的一些控制Linux初始化的文 件不符合我的需求,于是修改cramfs,删除了QT,修改了网卡初始的IP地址,安装到板子上能运行了之后就开始尝试做一些应用,比如hello world这样的程式。‎ ‎  最后移植了一个mpg123到板子上。完万能在不知道原理的情况下来使用板子的一些功能,等熟悉板子了再回头学习其中的道理,这样 就容易一些。学习嵌入式就是这样,根据问题来选择学习的内容,否则会非常盲目,最后就失去信心了。‎ ‎  四,要有耐心。不能否认,在学习一门自己完全不了解的技术是非常烦人的。嵌入式的复杂在于他的交叉性。也就是说为了研究某一个嵌入式的问题,你有可能得学 习非常多其他的知识,比如操作系统,编译,体系结构等等,那么对于这种情况需要我们有足够的耐心。我在交叉编译mpg123的时候前几次无论怎么修改 makefile都无法编译成功,最后我发现我用的arm-linux-gcc是2.9版本的,比较老,于是我换成新的3.4.1版本,就ok了。‎ ‎  以上是我初学嵌入式所获得的一些浅显的经验,基本都是基于软件方面的,硬件的DIY我就不行了。希望我的经验能给大家一些帮助。‎ ‎  刚刚和LUPA的嵌入式版主要了uboot的代码,接下来的我想研究研究厂家的bootloader代码然后移植一下uboot。‎ ‎  嵌入式学习心得体会四:初学嵌入式的几点心得和体会 ‎  研究嵌入式系统已经有快两年的时间了。很庆幸自己当初选择了嵌入式系统作为自己的研究和职业方向,可以说它是一种催化剂,让我自身的修养和研究能力都有了很大的提高。(当然这离不开我敬爱的导师门给我的教导与支持和我个人自身的基础及努力)在嵌入式系统的大门前,我只能算是刚刚看到这个大门的台阶,但这段小小的距离让我受益颇多,现将其中心得奉献出来,欢迎高手前辈们指正,以供刚接触的新人参考。(别人的心得和经验你可以学习,但是不可以完全照而搬之。因为每个人的心理,生活方式,看待事物及个人志向立场等等其他都不同,我的方法不一定适合你,但是可以学习借鉴。)‎ ‎  在写之前,想先写一句话,千万不要以为你是天才,所谓天才即胜别人N倍的人,如果你真认为你是天才,请以天才的标准来要求自己,将自己付出和别人的比例以N:1来进行。 (1)学习与生活心态 ‎  很多朋友都是在刚步入大学校门开始接触计算机或者其他。大学是一个很让人迷茫颓废的地方,可能你在高中踌躇满志,但在大学的管理机制下却心态渐糜。能够在大学(大一)里找到自己人生之志的同学有多少?目标要明确,不要得过且过,不要追逐热门的东西。不管在什么时候,心里