嵌入式学习心得体会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式学习心得体会
嵌入式学习心得体会10篇
我们心里有一些收获后,写心得体会是一个不错的选择,如此可以一直更新迭代自己的想法。
很多人都十分头疼怎么写一篇精彩的心得体会,以下是小编精心整理的嵌入式学习心得体会,欢迎阅读,希望大家能够喜欢。
嵌入式学习心得体会1
嵌入式学习心得体会,4月10号,为期一个阶段的Linux开发基础培训课程圆满结束,回首这些天所留下的点点滴滴,感触深深,学习上知识点的积累,灵活运用的过程中感受到了Linux操作的快速高效性能,这也是我所追求的效率!
当初初涉培训课程的第一门课程时,都说Linux操作很繁琐复杂,心里总有些顾忌,带着种种不安与些许拼博的决心,开始了自我提升阶段的"充电",由徐海兵老师教授我们基础课程的培训,我们则像着小学生般认真的记着笔记,仔细听着并学会如何去在实践中运用所学的Linux下的各种强大的命令集。
在Unit 1中,徐老师详细生动的为我们讲述了有关Linux的诞生、初成长以及辉煌的发展至今,今后应用范围则愈来愈广泛,讲解了为Linux这个伟大的OS做出巨大贡献的一位位出色的、伟大的人物,他们那种学习钻研的精神、锲而不舍的信念、勇于把握住难得的机会,从小处着手,踏踏实实的创造出了对人类科技发展做出卓越贡献的Linux(Unix)系统,他们的种种,都值得我们去深刻反省、刻苦学习、传承并永远发展下去。
查看ip地址和重启网络服务是我学的第一个命令:ifconfig eth0、ifconfig eth0 IP地址、service network restart。
了解到远程登录软件可用xmanager。
secureCRT是我们常用的,安装好后利用其登录到了Red hat Linux,需要知道Linux主机的ip地址。
徐老师为我们介绍了重要内容:SHELL,即运行程序的程序,如echo $SHELL可查看SHELL的环境变量是csh还是bash。
(学习心得)指令pwd可查看
当前所在路径,passwd:更改Linux下的密码,仅限root用户有此权限,当然我们是利用虚拟机VMware程序来运行Linux OS的,懂得了如何设置虚拟机的网卡设置、暂停、恢复、全屏等。
简单的学习后进入Unit 2,
命令行的句法让我懂得了用法规则,一系列的命令功能强大:date显示当前年月时间星期之类的;more指令与less重要但不常用;cat用于查看短小的文件内容,常用!mkdir命令用于在当前目录下创建新的'目录;ls显示当前目录下所有文件;cd更改文件路径,如cd 、cd .当前目录;rmdir删除空文件夹;rm指令很强大,用于删除空目录及非空目录下的指定或全部文件;man真男人,帮助手册;history指令用于显示编写过的命令集,以history序号可显示序号所指命令;echo回写命令,很重要,我需要继续学习;exit指从多重SHELL退出来;Linux 账号下,可以增加用户、删除用户、设置密码:useradd、userdel、passwd。
注:所有的用户的家目录都在/home下面,唯独root的家是在/root.点文件都是些SHELL的脚本程序,也称隐藏文件;环境变量常见的有:HOME PATH PWD,懂得了绝对路径与相对路径的对比概念。
最后进入Unit 3、
文件与文件处理的学习中,知道了Linux下支持的六种文件类型:普通文件、目录、设备文件、命名管道、符号链接、socket;Linux下文件系统的组织:倒立的树形结构:/ /bin /boot /dev /home /lib /proc等文件目录,ls –l指令很好很强大,显示文件类型与权限、所有者、字节大小、时间及文件名;touch可创建空文件,复制文件用指令cp,可选-i、-r等;重命名文件使用mv [-i];du显示当前目录所占空间大小;wc命令显示列表中文件的行数、字数、字符数;追加:cat [文件列表] 》目标文件;find指令与grep重要,暂未学习,自己在实践中学习,文件访问权限有:r w x;chmod指令可修改访问权限,如chmod 777 -R文件名。
输入输出重定向每个命令默认打开三个文件:标准输入stdin,标准输出stdout,标准错误stderr,键盘为标准输入,而控制台则是标
准输出,文件描述符分别是0,1,2;最重要最常用的为输出重定向>与错误重定向2> ;echo添加的内容>/ 》文件;Linux过滤器和管道:管道操作符:| ;即将某个命令的输出与某个命令的标准输入相连接,从而实现管道功能,例如ls –l |wc;管道和重定向操作符可同时用于一个命令行。
嵌入式学习心得体会2
研究嵌入式系统已经有快两年的时间了。
很庆幸自己当初选择了嵌入式系统作为自己的研究和职业方向,可以说它是一种催化剂,让我自身的修养和研究能力都有了很大的提高。
在嵌入式系统的大门前,我只能算是刚刚看到这个大门的台阶,但这段小小的距离让我受益颇多,现将其中心得奉献出来,欢迎高手前辈们指正,以供刚接触的新人参考。
在写之前,想先写一句话,千万不要以为你是天才,所谓天才即胜别人N倍的人,如果你真认为你是天才,请以天才的标准来要求自己,将自己付出和别人的比例以N:1来进行。
(1)学习与生活心态
很多朋友都是在刚步入大学校门开始接触计算机或者其他。
大学是一个很让人迷茫颓废的地方,可能你在高中踌躇满志,但在大学的管理机制下却心态渐糜。
能够在大学(大一)里找到自己人生之志的同学有多少?目标要明确,不要得过且过,不要追逐热门的东西。
不管在什么时候,心里都要有自己的信念和理想,不要被其他东西左右了自己。
要从兴趣和竞争出发,因为这才是你产生动力源的地方。
学东西时,要让自己先喜欢上它,要学会享受学习它的时间,喜欢乔xxx的都知道,乔老爷子最常说的一句就是要享受比赛的时间。
因为只有你喜欢上了它,享受了它,才不会被它所产生的压力压倒自己,不要产生一种厌恶的心理。
而且心态要调整,不要一味的蛮学,死学,在没有什么兴趣学的时候可以先玩几天,在回过头来,或者用其他的方式来转换。
要抱着一种十年方能磨一剑的心理,扎扎实实从基础开始,不要为高速开发的一些现象所迷惑,那些都只是软件的功劳。
我个人认为搞编程,英语和数学很重要,大家一定要时时的抓,至于怎么抓那就是另外一回事了,当然其他的知识也要汲取,可以多接触点天文,地理,人文方面的东西来补充自己。
转换的生活方式。
要学会生活,在人的一生中,都会遇到一些很不开心的事,或者大大小小的意外,孙子兵法里面一句大意就是说,战场上要会将劣势转成优势,即最大的劣势很可能就是你的优势所在。
一个打击你可以把他变为前进的动力,不必为了一点挫折和捶胸顿足,不必为了一点小事争吵不休。
空闲的时候可以躺下来看看天,你就会明白自强不息,厚德载物之理。
(看到一些为了失恋或者其他而堕落的人真的很难受和可惜) 。
要给人以帮助。
别人有困难时或者一些举手之劳在自己解决范围内的尽力帮之,这对自己不会损失什么,相反在对方心里能够树立你的形象和增加好感。
记住,给人之恩时也是给你自己铺路,这个世界不是靠你一个人可改变的。
(2)编程语言的选择语言的争论。
很多初学择,老是在学习何种语言上举棋不定,试问,中国牌子有几个不被骂的,试问,世界上哪部影片没人说他坏话的?术业有专攻,各司其职,每个语言的'出现肯定都有自己价值和领域的范围,不同的只是价值和领域的高级和大小。
就像高,矮,胖,瘦组成一个“型”。
但是技术是进步的,这个进步也是在旧的基础上。
放心,技术再飞跃也不会今天奔I,明天扣肉的迅速,在学习的同时也要时时关注整个语言界的走势(貌似哪个伟人说的与时俱进),保持一种同步曲线的前进。
语言能干什么?能问这句话,很欣慰。
表明你是从基础学起才会问出这样的话来。
但换而言之你一开始对这门语言调查的信息不足。
庙算者胜,对自己身边的事物了解是非常重要的,这也能说明说你的教材或者教导你的人不够充分。
如果是我对新手交流,我会花足时间让他明白这门语言是什么,能干什么,整个体系等等。
这样在学的时候,对同一条语句上的理解你可能跟别人就不一样了,因为你知道这门语言的体系架构,你可以从更多的特性角度去挖
掘使用它。
提高自己对语言阅读能力。
如何快速的进步?可以告诉你没有一步登天的办法,但是也可以告诉你如何让你快速掌握你所学的技术。
多读他人代码,多领悟他人思维,多给自己出难题,多几种方法来解问题,多将语言的思想和身边的事物联系起来。
想想你是怎么掌握普通话的,方法就不具体说了。
编程的思维。
计算机是充满诱惑的东西,很多人都说热爱计算机,那只是它的表面,你热爱的只是他的一种扩展性的东西。
能学计算机我很高兴,因为计算机从某种意义上来说将空间的距离给消除掉了。
这里没有流血,没有牺牲。
你可以以一种艺术家的思维来塑造它,可以以侦探的逻辑思维来解决它,可以以一种战争狂人的思维来摧毁它。
你可以将你的这种思维体现在代码和整个布局里,不要惊异别人代码思维的异风,你也有自己的思维风格,你也可以,你也可以用自己代码让别人惊异。
记住你学东西时更多的要体会他的思维,比如数学,微积分,离散,无数的定理,你学完以后可能永远都用不到,但是你可能有这种感觉,在你碰到某一问题时,这一问题的性质和你学到的东西很类似,但是中间就是差了一点东西,对了,这就是它思维上的一种运用,一种抽象,一种转换。
嵌入式学习心得体会3
一,如果非常多人都想做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我就不行了。
希望我的经验能给大家一些帮助。
嵌入式学习心得体会4
这个题目很大,给人一种感觉我好像很成功,其实不然。
实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!
工作三年、几成废人!
我XX年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。
但在毕业前夕有个进入it 的机会,我本想进去的,家里人极力反对,阻力可想而知。
同时要交4000元的违约金,对我来说是天文数字。
大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。
并且我个人也有特殊的人生背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。
这样我就参加了工作。
一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。
在工作中虽然是与自己专业有点关系,但是很少。
专业几乎荒废。
我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。
两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。
这是中国教育和社会的悲哀!
至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。
不要笑我,哈哈!
考研成绩出来,超过了国家线几十分。
那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。
其实给我面试机会也不一定要我,哈哈,自己几斤几两很清楚。
最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑!
进入学校前夕
为什么要把这段列出,看后就知道了。
单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。
于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。
当然在这之前也自学过数据结构,计算机组成原理等。
c 语言在大学就学了。
哈哈这就是我的家底。
我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。
另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。
我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的,我才知道嵌入式是个什么东东。
这些帖子对我以后的学习产生了极大的影响。
最关键两点:
1、嵌入式是什么?
2、嵌入式需要哪些知识?
知道了这两点,好办!我就开始规划学习路线。
计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++。
同时论坛上了解到,实时操作系统ucos是一个很好的嵌入式操作系统,对初学者很好。
于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。
原来看操作系统书时,根本就不知道进程是个什么东西。
在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的'是学会怎么学!大概是这个意思。
进入我的避难所
对我来讲,再次进入大学不再是大学,而是避难所。
希望这次进入给我喘气和养精蓄锐的机会和时间。
我是这样认为和实践的。
在学校我有三件事:上课,上图书馆,上网。
对于上课,学校开了很多课程,非常好,很多是名人名师讲解,于是很多同学都想学,都去听。
我也考虑过,最后放弃。
我是这样认为的,时间是有限的,什么都想学,什么都学不成。
于是我把我自己学的课进行了分化,一般的课程通过就行,重要的一定好好学。
我希望不要什么争论学习课程多和少的问题,这仅仅是我的看法。
所以我的成绩应该是很差的。
分数低。
好在后来的单位没有要我的成绩单,否则就惨了。
我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。
嵌入式学习心得体会5
本人本科学的是电子信息工程专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了char,int,long等占几个字节,if, while,for循环什么的,感觉也就能算一些小学就会的题目,全国计算机二级C语言也就糊涂的过了。
我这个专业没学过C++,一开始不知道什么是面向对象,这可能会让人笑话了。
不过这说的是实话,本科的时候,学院安排的课程大部分偏硬件部分,动手机会比较多,自然而然比较喜欢硬件方面。
在大二的时候就听学长说,单片机很难学,那时候经学长介绍,淘宝买了本郭天祥老师出的书《51单片机C语言教程》,一开始还真是不怎么懂,感觉有点像是看天书,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构粗略画了下,然后觉得51整体已在我心中了,虽然没有什么作用,但是至少懂得这门课要怎么去学习。
其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了。
在大三的时候,第一学期课比较少,我就经常待在图书馆,会去蛮看些专业相关的书籍,现在想想,那时候也是机缘巧合下,看到了一本书《从51到ARM》,讲述的是从51系列单片机的一般知识出发,将arm处理器和51系列单片机进行对比,引导读者去理解和学
习arm处理器的知识。
那个时候也有考虑到以后就业的问题,就想到一件事情,如果去应聘工作的话,每个工科院校电子信息类的毕业生都会异口同声地说:我会51系列单片机。
当他说这句话的时候,他和别人是站在同一起跑线上的。
可我们完全有可能和别人不站在同一起跑线上。
正是这本书给我开启了另外一扇大门,让我初步了解了嵌入式。
后来去报考全国计算机等级考试三级教程——嵌入式系统开发技术,在图书馆奋斗了两个月,最后取得优秀的成绩,也让我进一步了解嵌入式系统。
在大四的时候,我们有嵌入式的选修课,不过当时因为考研的缘故,就没有去上过这门课,好可惜呀!但是,在选择读研研究方向的时候我还是毅然选择了嵌入式方向,我知道这将成为我未来三年研究的方向。
这学期(研一下学期),很开心能够再次接触嵌入式系统这门课程,对于导师教的这门课程,我觉得自己上课还是蛮认真听讲的,当然也被师在台上那讲得头头是道,温文儒雅的风姿所吸引。
对于没有学过微机8086的我,有些时候,老师用微机与嵌入式的对比让我头脑没有相关概念...
首先,我对嵌入式在概念上有了一个比较精确的了解。
嵌入式是指以应用为中心,以计算机为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
它由硬件平台和系统软件组成。
硬件平台指嵌入式处理器和与之通过接口连接的外围硬件平台。
系统软件是指实时操作系统和用户应用软件。
谈到硬件部分,我首先想到的是嵌入式处理器那些外围功能模块。
对于这部分的学习,我当初花了好长时间看《深入浅出ARM7——LPC2400》这本书,现在想想觉得自己学习方法没用对,完全没有那个必要,自己却花了大把时间在看这些寄存器引脚的使用,因为单纯的看过之后还是很容易忘的,之后在进行实验的时候还是翻书来查就证明了这一点。
不过一些最基本的模块,例如通用输入/输出口(GPIO),通用异步收发器(UART),向量中断控制器(VIC),外部中断输入和定时器/计数器还是需要看书认真去记住那些常用的引脚功能。
对于CPU异常这部分,我一开始以为异常就是中断,因为处理程序流程设计是相
似的,都是请求处理器打断正常的程序执行流程,进入特定程序的一种机制。
当时还对老师提出的一个看法有点疑义,51可以处理中断嵌套而ARM处理器却不能?我当时脑子里面就在想:中断不都是有硬件设备产生的,那按常理来讲ARM处理器也可以处理的呀。
后来在认真查书,发现CPU异常有7种:复位,数据中止,中断,快中断,预取中止,未定义,软件中断。
而异常向量会使CPU转入异常入口地址执行程序,开始了异常处理。
同理的话,中断向量使CPU转入中断入口地址执行程序,开始了中断处理。
即当发生IRQ中断时,程序返回地址被存入该IRQ中断模式下的LR,如果继续发生IRQ中断,那第二次的中断返回地址也还是被存入该IRQ中断模式下的LR中,那先前发生中断时候存入的程序返回地址将被覆盖掉,导致不能返回正确的位置。
在我解决这个问题的期间,每次睡前思维准会定格在这问题上,久久不能绕出来,其实有时候查书还是最好的解决方案,因为网络资源只能提供给我们部分的参考资料。
对于ARM汇编语言这部分的学习,我认为是需要重视的,学汇编不是说用这语言做多牛逼的事情, 问题的关键在于, 学透了汇编会使你真正理解计算机。
另外一方面,只要以后在嵌入式工作中你迟早会在某个阴暗的角落里遇到汇编。
“不管你承认不承认, 现在的CPU没有直接跑高级语言的, 哪怕是虚拟机也都是类似汇编的指令集.当遇到崩溃分析, 性能优化甚至编译器抽风等等的时候, 汇编是你最后一根救命稻草(这句话是福来师兄讲的)。
”为此他给了我们一份资料,周立功lpc21xx/lpc22xx系列ARM7启动代码分析,主要讲述的是startup.s 文件的分析,看了下才发现老师上课讲的那个启动代码分析很多不理解之处这里都有详细的介绍,这分析太精辟了。
学ARM7这么久,我认为从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。
如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动和移植。
这些对于我们初学者来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还。