您的位置 首页 软件

一只老鸟的嵌入式ARM学习心得

本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什

自己大学学的是电子信息科学与技能专业,其实这个专业和嵌入式没有多大的联系,要说有联系便是简略的讲了下C言语语法,学完之后还不知道什么是C言语,只记住了,char,int,string等占几个字节,if,for,while循环什么的,感觉也就能算一些小学就会的标题,全国计算机等级二级也就模糊的过了。

我这个专业没学过C++,一开端不知道什么是向目标,什么叫面向进程,这或许让咱们笑话了。不过这说的是真话,大学的时分比较喜爱着手,喜爱硬件方面的东西,也喜爱看书。在大一的时分就听学长说,单片机很难学,在没事的时分就从图书管借了本关于51的书,一开端还真是不怎样懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开端那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功用写一下,各个功用口的结构也画一遍,然后就不觉得51有什么难了。其实有些时分不是这个东西你不会,而是在不会的时分自己先告知自己这个太难了,自己先抛弃了。咱们学习51芯片,是为了今后的打基础,知道是怎样经过装备寄存器来完成功用。

大二下学期的时分,咱们开了51的课,这个课简直就没怎样去,由于我认为没有必要去听自己会的东西了。后来听他人说avr的资源会比51的丰厚的许多,所以就想试试,看看有什么难的,就从网上买了本马潮教师《AVR单片机嵌入式体系原理与运用实践》,一边看书,一边想自己画一个板了,一开端想完成一个点阵屏,完成翻滚作用,后来想想做个板也花不少钱呢,为什么不多加一些功用呢,还能多学到些常识,所以就加了温感,红外,铁电存储器等并把一切的扩展口都扩展了出来,备今后用,那时还挺骄傲的呢,同学们都很仰慕,不过现在想想其实也没什么了。

大学也听说过嵌入式这个词,不过不太理解是什么意思,09年的时分从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,自始至终的看了一遍,没什么形象,只记住讲一些不知所云的函数,然后难以想象的讲怎样运用那个44b0的开发板,不过听完了,仍是有很大收成的,就有一种想装一个linux的激动,我是大二下学期才有的自己电脑,不过电脑的装备比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎样才干装个linux,自己用XP习惯了,假如全换了又舍不得,那时从书上知道linux的文件体系和windows不一样,只要一个根分区,所以也惧怕一装linux全盘就被格局化了,不过最终仍是愿望战胜了忧虑,买了张redhat9的光盘,当心的装这个体系,里面的英文也不是太难,仍是知道大约意思的,所以一步步的装,最终装到我的硬盘的最终空间,重新启动,竟能够挑选进入哪一个体系了,从这之后,自己就不惧怕怎样装体系了,应了那句言,纸上得来终觉浅,绝知此事要躬行。所以我认为,买一个开发板是彻底有必要的,拿到什物操作一下就不会感觉太笼统了。

后来也想学学arm,但不知道arm是什么东西,所以就买了本《从51到arm》,讲的是关于arm的大体结构,看完后感觉,本来arm便是一个速度更快,接口更丰厚的单片机啊。

假如想做linux设备驱动的同学应该对arm硬件有一些了解。假如对驱动不感爱好,彻底没有必要去看。穿插编译器会帮咱们做好这些作业,他比咱们更了解arm结构。

大三下学期开端预备考研了,所以自己这些爱好就先放下了,报的北邮的信通学院通讯专业,其时便是想必定要上个好校园好专业,也没想太多,成果考了的成果差了点,没有被选取,也不想调剂一个二流的校园,然后就参加作业了,作业中每天都用的到开发板,当我看到一个小板上还能够跑体系的时分感觉很难以想象,认为要很大工程。后来边作业边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在前进。

闲话有点多了,说了许多都是自己大学那道破事。

听许多的初学者说不知道从哪里开端,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就引荐十几本书,说看完这本书怎样怎样样,看完那本书怎样怎样样,一会儿就给初学者给吓住了,其实彻底没必要把网上的那些东西悉数看一遍,那样又费时,又感觉工程太大,让初学者没有决心去把每一种都看完。网上说的些方面都要知道,不必定悉数都把握,咱们能够退成求其次,每一个都知道一些,当然会的越多越好。今日学点这个明日学点那,换着样来也不会觉得烦。并且还能感觉到每天都有收成。

下面给嵌入式初学者一些自己的我个人主张。

1、嵌入式涉及到许多的基础常识

c言语,关于C言语要知道根本的语法,什么是结构体,什么是共用体,有什么区别,不必强记一些二级考的东西,因在实践顶用的很少。

c++要知道什么是类,怎样界说,承继,接口,要深刻理解,当然根本语法也是必不可少的。

操作体系原理也应该知道根本的原理的,我记住我大学没这个课仍是去电信学院蹭其他专业的课呢,后来学习发现许多的东西都是在这个课上学到的。什么时间片啊,使命调度啊,都是在那里知道的。

Linux根本指令的运用(vi编辑器有必要会用,由于在终端改文件的时分只能用这个),咱们现在许多的人都习惯用鼠标了,很少用到指令,咱们学习嵌入linux可要改改这个习惯了,linux用指令操作一是效率高,二是功用十分强壮,远非图形界面能比的了的,其实咱们用图形界面的操作都要转化为指令传给硬件的。

Linux文件体系的办理要清楚,哪个目录寄存是什么东西,有什么用,文件权限办理等

Shell编程也要了解一些,在这给咱们引荐一个教程,周朝剑的 shell编程,也就七八讲吧,讲的很全面。初学者看前4讲就能够了。

Linux设备驱动的架构要了解,初学者能够以米尔的MYD-AM335X开发板上的led驱动剖析一下,结合原理图和linux设备驱动相关书本把每一行代码都剖析理解。关于驱动给咱们引荐一本书《LINUX设备驱动程序》中国电力出书社出书的,很经典的,初学者看或许看不太理解,不过要坚持看,最次也得把前6章看完了。

2、看书不要期望一次就会

一次就理解是什么意思,也不要死记硬背,看不理解也没联系,今后遇到了知道去哪里去找就能够了,今后遇到的多了,也就记住了,遇到的少的,忘掉也就忘掉了。还有,不要直接阅览linux内核源代码,看一些自己把头撞破也想不理解的事,会冲击初学者的积极性,要按部就班,今日学个做个led,明日做个串口,后天说不定就做硬件编解码了。

3、你能够不接受培训,可是不能不买开发板

假如你想学习嵌入式必定要买块学习板,现在的开发板很廉价了,给咱们初学者减轻了许多经济负担。看再多的视频,看再多的书,也不如自己着手试一下,看着很简略的东西,做起来就或许遇到许多的问题,遇到问题找到原因,解决问题,只要这样才干学到东西,记住我第一次写led的驱动,想自己试一下,网上也有人写过相关的代码,可是自己一试,就出了许多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。

还有关于培训,现在的培训组织许多,讲的也不错,教师也很好,可是有一个问题,太集中了,并且学生着手的时机也不太多,记住咱们公司还招了一个在北京某个培训组织培训半年的职工呢,花了一万多,来了之后也没感觉有多高,问他都学了什么,也便是我前边说的那些基础常识,许多的东西仍是不知道的,照着书弄个helloworld模块驱动两天没搞定。不是培训欠好,但我个人见地作用并不是很好。记住:只要自己着手做过的东西才是自己的。

现在买一块开发板很廉价,飞凌的OK6410的开发板就不错,源码彻底敞开,并且材料也很丰厚,彻底能满意初学者学惯用,有人说友善的板子也不错,我个人觉得友善的板子不错,可是不适合初学者,由于他的许多的东西是不给代码的,用过友善的板子的同学常常有这样的苦楚,想学一个东西,去找他的代码的时分,却找不到,许多友善供给的代码中许多的都是封装好的,只供给给客户一个库,初学者想要找代码的时分就不知道怎样办了。

4、不要好大喜功,要兢兢业业

关于初学者,还有一点小主张,咱们拿到一个开发板,很振奋也很激动,主意天然也许多,想用开发板完成自己的这个主意,完成那个主意,然后又不知道从何下手,然后就去论坛中发一个贴,“那个什么什么怎样完成啊,哪位大侠能详细说一下啊,跪求!!”然后等着他人去回复。见没人回复就诉苦。有主意是好的,咱们要完成自己的主意也是有条件的,首要,咱们对这部分常识了解吗?假如不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大约知道要怎样做了。假如再遇到问题,再去发贴问,这样也显得咱们有水平。比方自己连串口是什么都不太清楚呢,就问串口通讯怎样做啊,便是人家把代码给咱,咱也不理解是怎样回事啊。

5、多看代码,多写代码

见多识广,游刃有余。多看代码,要从代码中读出代码的意思来。自己平常也要多写代码,多操练(这一点我做的欠好,写的少)。

写完现已晚上两点了,思路有些乱,有些也是个人的见地,在有些人看来或许是过错的,每个人有每个人的学习方法,可是咱们的意图只要一个——期望咱们学到更多的常识。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/262184.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部