arm嵌入式技术学习,arm嵌入式有什么需要注意的地方?
扫描二维码
随时随地手机看文章
ARM嵌入式和单片机学习有着密不可分的关系,可以抛开复杂的软件结构,先掌握硬件操作。ARM与单片机是有着许多区别的,相比来说ARM要比单片机复杂的多。据某位知乎大神表示,往往单片机只需要对一个寄存器赋值即可初始化,而在ARM下就要调用库函数,另外,每个引脚其功能都多了许多,相应的配置也会更为麻烦。但如果有了丰富的ARM的项目经验就会发现,其实它的应用配置也是千篇一律,有章可循的。作为初学者首先要把ARM和单机片的区别了解清楚,在这里小编主要是从软件和硬件方面来解说的。
软件方面:这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。
硬件方面:现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32arm相比还是有些差距吧。arm芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。总的来说,单片机是个微控制器,arm显然已经是个微处理器了。引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。
如果你想学习嵌入式一定要买块学习板,现在的开发板很便宜了,给我们初学者减轻了很多经济负担。看再多 的视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题 找到原因,解决问题,只有这样才能学到东西,记得我第一次写led的驱动,想自己试一下,网上也有人写过 相关的代码,可是自己一试,就出了好多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。还有关于培训,现在的培训机构很多,讲的也不错,老师也很好,但是有一个问题,太集中了,而且学生 动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多,来了之 后也没感觉有多高,问他都学了什么,也就是我前边说的那些基础知识,很多的东西还是不知道的,照着书弄 个helloworld模块驱动两天没搞定。不是培训不好,但我个人见解效果并不是很好。记住:只有自己动手做 过的东西才是自己的。现在买一块开发板很便宜,很多友善提供的代码中很多的都是封装好的,只提供给客户一个库,初学者想要找代码的时候就不知 道怎么办了.
arm嵌入式学习方法:1,挑选适合于自己的开发板——借用或租用市场上现在开发板种类太多,购买之前是借朋友的板子先试试,多体验几款,否则买了不光是浪费银子,也可能耽误学习进度。没有这些资源就到淘宝网上去租几块板子来体验,这对你以后学习会有很大的帮助。2,反复推敲。学习搭建开发环境,建立交叉编译环境及硬件环境。3,不断尝试。从简单hello world开始,逐步深入,不断验证操作系统及硬件功能。4,详细记录。嵌入式开发过程中会碰到各种各样奇怪的问题,做笔记和写心得变得非常重要,每一次小小的成功都要记录,并反复验证这个方法是否正确。
在应用中学习,在应用中提高。一个对嵌入式普遍认同的定义是:嵌入式是以应用为中心,以计算机技术为基础,软件和硬件可裁剪,以适应应用系统对功能、可靠性、成本、速度、体积、功耗严格要求的专用计算机系统。从定义中可以看出,嵌入式是以应用为中心的,在具体应用的前提下有针对性的进行软硬件裁剪,从而达到某些技术指标的严格要求。所以说,嵌入式是一门较高层次的应用科学。需要我们在应用中学习。