一、软件方面
这是最大的区别, ARM引入了操作系统,使得它具备下列特点:
方便
主要体现在后期开发上,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还要专业人士来做。
安全
这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。
高效
引入进程的管理调度系统,使系统的运行更加高效。在传统的单片机开发中大多基于中断的前、后台技术,对多任务的管理有局限性。
二、硬件方面
肃然现在的8位单片机技术硬件发展得也非常快,出现了许多功能非常强大的单片机。但是与32ARM相比还是有差距的。ARM芯片大多把SDRAM、LCD等控制器集成到片子中。对于8位机,大多要进行外扩。
总的来说,单片机是微控制器,ARM则是微处理器。
引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如,嵌入式Web服务器、Java虚拟机等,这意味着有很多免费的资源可以利用,上面说的这两种服务就是例子。如果在单片机上开发这些功能难度则会很大。
这让小隐想起了一个经典的段子:
联合利华引进了一条香皂包装生产线,结果发现这条生产线有个缺陷:常常会有盒子里没装入香皂。总不能把空盒子卖给顾客啊,只好请了一个学自动化的博士后设计一个方案来分拣空的香皂盒。博士后拉起了一个十几人的科研攻关小组,综合采用了机械、微电子、自动化、X射线探测等技术,花了几十万,成功解决了问题。每当生产线上有空香皂盒通过时,两旁的探测器就会检测到,并且驱动一只机械手把空皂盒推走。
而中国南方有个乡镇企业也买了同样的生产线,老板发现这个问题后,找了个小工来让搞定这件事情。小工果然想出了办法:他在生产线旁边放了台风扇猛吹,空皂盒自然会被吹走。