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

发布者:蓝天飞行最新更新时间:2016-03-10 来源: eefocus关键字:嵌入式  ARM  学习心得 手机看文章 扫描二维码
随时随地手机看文章
本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if,for,while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。
5.jpg

我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是实话,大学的时候比较喜欢动手,喜欢硬件方面的东西,也喜欢看书。在大一的时候就听学长说,单片机很难学,在没事的时候就从图书管借了本关于51的书,一开始还真是不怎么懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构也画一遍,然后就不觉得51有什么难了。其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了。我们学习51芯片,是为了以后的打基础,知道是怎么通过配置寄存器来实现功能。

大二下学期的时候,我们开了51的课,这个课几乎就没怎么去,因为我认为没有必要去听自己会的东西了。后来听别人说avr的资源会比51的丰富的很多,所以就想试试,看看有什么难的,就从网上买了本马潮老师《AVR单片机嵌入式系统原理与应用实践》,一边看书,一边想自己画一个板了,一开始想实现一个点阵屏,实现滚动效果,后来想想做个板也花不少钱呢,为什么不多加一些功能呢,还能多学到些知识,所以就加了温感,红外,铁电存储器等并把所有的扩展口都扩展了出来,备以后用,那时还挺自豪的呢,同学们都很羡慕,不过现在想想其实也没什么了。

大学也听说过嵌入式这个词,不过不太明白是什么意思,09年的时候从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,从头到尾的看了一遍,没什么印象,只记得讲一些不知所云的函数,然后莫名其妙的讲怎么使用那个44b0的开发板,不过听完了,还是有很大收获的,就有一种想装一个linux的冲动,我是大二下学期才有的自己电脑,不过电脑的配置比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎么才能装个linux,自己用XP习惯了,如果全换了又舍不得,那时从书上知道linux的文件系统和windows不一样,只有一个根分区,所以也害怕一装linux全盘就被格式化了,不过最后还是欲望战胜了担心,买了张redhat9的光盘,小心的装这个系统,里边的英文也不是太难,还是知道大概意思的,所以一步步的装,最后装到我的硬盘的最后空间,重新启动,竟可以选择进入哪一个系统了,从这之后,自己就不害怕怎么装系统了,应了那句言,纸上得来终觉浅,绝知此事要躬行。所以我认为,买一个开发板是完全有必要的,拿到实物操作一下就不会感觉太抽象了。

6.jpg

后来也想学学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、多看代码,多写代码

见多识广,熟能生巧。多看代码,要从代码中读出代码的意思来。自己平时也要多写代码,多练习(这一点我做的不好,写的少)。

写完已经晚上两点了,思路有些乱,有些也是个人的见解,在有些人看来可能是错误的,每个人有每个人的学习方法,但是我们的目的只有一个——希望我们学到更多的知识。

关键字:嵌入式  ARM  学习心得 引用地址:一只老鸟的嵌入式ARM学习心得

上一篇:s3c2410的timer定时器的使用
下一篇:ARM内核和架构都是什么意思,它们到底是什么关系?

推荐阅读最新更新时间:2024-03-16 14:46

安森美扩展低功率无线方案,推出SIGFOX和ARM用于物联网
2016 年 5月12日- 推动高能效创新的安森美半导体(ON Semiconductor,美国纳斯达克上市代号:ON),宣布两项重大战略发展以支持物联网(IoT)方案的快速实施。 安森美半导体与领先全球的专注于IoT互通互联的供应商SIGFOX协同工作,AX-SFEU系统级芯片(SoC) 已确认在欧洲完全通过SIGFOX Ready 认证,用于最佳的双向通信,而在美国的认证则在进行中。通过AX-SF SoC,配以其库和开发系统,IoT开发人员将能轻松使用SIGFOX的远程、双向全球IoT网络,创建低成本、低功率的设备到云互通互联的方案,高度优化用于环境传感器、智能仪表、病人监护仪、安防设备、路灯和其它广泛的工业和消费者
[物联网]
安森美扩展低功率无线方案,推出SIGFOX和<font color='red'>ARM</font>用于物联网
基于ARM控制器LPC2214的税控收款机系统的设计
引言 税控收款机是指具有特定税控功能的电子收款机,它是集软硬件为一体的嵌入式系统,硬件设计考虑高性价比和高可靠性,软件设计考虑系统的稳定性和可靠性。根据这一原则,本文介绍了一种基于ARM控制器LPC2214的税控收款机的设计方案。 税控收款机硬件系统的设计与实现 税控收款机的硬件组成框图如图1所示,其硬件系统由中央处理模块、显示模块、打印模块、电源模块、时钟模块、IC卡接口、外部通讯接口(包括RS232串行接口、网络接口、USB接口等)、蜂鸣器,以及输入键盘、电子锁、条码扫描仪和手写板等几部分组成。 图1 税控收款机硬件框图 中央处理模块 中央处理模块采用飞利浦公司基于32位ARM7TDMI-S内核的
[嵌入式]
基于ARM9的无线数据终端的设计与实现
  0.引 言   随着GPRS/CDMA网络技术的逐步成熟,无线数据相关应用已经成为当前的热点应用,特别是对于电力、电信、石油、水利、地质、和交通行业中场所不固定的应用场合,由于有线网络的架设受到种种条件的限制,采用基于GPRS/CDMA的无线网络技术,具有无可比拟的优势。传统的无线数据终端一般是采用“单片机+GPRS/CDMA调制解调器”的系统结构,这种结构硬件成本略低,但功能比较有限,在协议的开发和支持上都有一定难度。而近年来,以ARM为代表的嵌入式32位微处理器技术得到了飞速发展,无论是在功耗、便携性还是在硬件成本上,许多高性能的ARM芯片已经与单片机相差无几,因此在许多工业应用设计中,使用ARM芯片取代传统的8/16位
[单片机]
基于<font color='red'>ARM</font>9的无线数据终端的设计与实现
成像测井中基于ARM LPC1788显示系统的设计
石油行业中的测井技术是一种井下油气勘探方法,用于发现油气藏,评估油气储量及其产量。从1927年发展至今已经出现第五代测井系统,即成像测井系统。成像测井系统通过成像井下仪传感器阵列扫描或旋转扫描测量,沿井眼纵向、周向或径向采集地层信息,经测井电缆传输到井上成像测井地面系统,使用图象处理技术得到井壁的二维图象或井眼周围某一探测深度以内的三维图象。这比以往测井系统的曲线表示方法更精确、更直观、更方便。 第四代数控测井地面系统以LED指示灯、数码管等作为显示器件,存在显示信息量小,扩展不灵活,电路复杂等诸多缺点。本设计以控制能力突出,外设接口丰富,运算速度快的ARM芯片LPC1788作为控制、数据处理核心,使用了位于AHB总线上能进
[单片机]
成像测井中基于<font color='red'>ARM</font> LPC1788显示系统的设计
恰当选择嵌入式Linux环境下的GUI系统
在嵌入式 环境底下,GUI系统的整体构架跟PC Desktop相去不远,例如绘图函数库、字型、事件处理等也都是嵌入式GUI系统所要面临的。但是嵌入式系统本身由于体积小、资源少的特点,所以在整体设计上必须较为严谨,必须考虑的条件更多,有时很像又回到了Dos下编制程序的年代,对于软件所占的存储量有时可以说是锱铢必较。 Unix环境下的图形视窗标准为X Window System(以下简称X标准),Linux是类Unix系统,所以顶层运行的GUI系统是兼容X标准的XFree86系统。X标准大致可以划分X Server、Graphic Library(底层绘图函数库)、Toolkits、Window Manager、Internati
[嵌入式]
arm 汇编伪指令与位置相关代码
位置相关和位置无关主要体现在程序运行时的地址和编译时指定的代码段的地址是否为同一地址 编译环境:ADS1.2 开发板:GEC210(s5pv210soc) 程序运行方式:使用uboot的tftp下载bin文件到内存(0x30008000),然后运行 汇编代码如下: ldr r3,=delay 1 ldr r3,delay 2 adr r3,delay 3 。。。。。 delay mov r2,#0xff00000 ....... end 在ADS中设置入口地
[单片机]
ARM学习笔记--LPC1788引脚分析
上一篇提到LPC1788的引脚构成:port P0--P4每个Port有32个pin,P5 有5个pin,所以GPIO共占有165个pin;30个电源的pin脚;晶振2个pin;RTC口3个pin;JAG口5个pin;2个pin的复位;1个是USB-D-2。共208个脚。这里就来一一分析一下。 一、电源分析 要弄清楚单片机的电源引脚,首先必须得对数字电路的电源标识有一个了解: VCC:C=circuit 表示电路的意思, 即接入电路的电压;   VDD:D=device 表示器件的意思, 即器件内部的工作电压;   VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压;   VEE:E=electron
[单片机]
<font color='red'>ARM</font>学习笔记--LPC1788引脚分析
基于ARM7和VC平台的高分辨率红外触摸屏设计
  触摸屏是结合显示器使用的一种透明的绝对定位系统,透明和优良的定位原理是它的技术特征。目前应用在各场合的触摸屏主要有四种:电阻式触摸屏、电容式触摸屏、表面声波触摸屏和红外触摸屏。其中红外触摸屏的视觉效果和定位原理都优于其它触摸屏技术,而且不受电流、电压和静电干扰,可以适宜恶劣的环境条件。但是,与其它三种触摸屏相比,红外触摸屏也存在分辨率低的问题,这一点严重影响了红外触摸屏的实际应用。   为此,本文采用ARM7和VC提出了一种高分辨率的红外触摸屏的实现方案。该方法通过ARM7对接收管和发射管的控制,来实时采集与发射管一一对应的接收管的光通量,然后计算鼠标位置,最后通过VC编程来实现在Windows下的鼠标驱动。   1硬件平
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved