ARM与单片机的区别和选择?

1 软件方面

这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处?
1、方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。
2、安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。
3、高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。

2 硬件方面

现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32arm相比还是有些差距吧。
1、arm芯片大多把SDRAM、LCD等控制器集成到片子当中。在8位机,大多要进行外扩。
2、单片机是个微控制器,arm显然已经是个微处理器了。
3、引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。

3 初学者如何选择ARM开发硬件?

1、 如果你有做硬件和单片机的经验,建议自己做个最小系统板:假如你从没有做过ARM的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会碰到各种问题,所以建议先布一个仅有Flash、SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在arm的外围接口基本都是标准接口,假如你已有这些硬件的布线经验,这对你来讲是一件很轻易的事情。

2、动手写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分:

初始化端口,屏蔽中断,把程序拷贝到SRAM中
完成代码的重映射
配置中断句柄,连接到C语言入口。
也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去。

3、假如你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。

4、 仔细研究你所用的芯片的资料,尽管arm在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。尤其是女孩子,在这儿千万别有依靠心理,总想拿别人的示例程序修改,却越改越乱。

5、多看一些操作系统程序,在arm的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,Linux、uCos-II等等这些都是很好的原码。

6、假如做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但假如是硬件出身的就有点费劲。

7、最好买一块现成的ARM板,学嵌入式系统的话,选择ARM9、Cortex-A8等板子,这样学习效率会大大提高,也会比自己做板子省成本。

时间: 2024-09-03 00:29:04

ARM与单片机的区别和选择?的相关文章

win8系统更新方式区别与选择方法

  win8系统更新方式区别与选择更改自动更新方式的步骤:控制面板--"系统和安全"--"Windows更新"--"更改设置"--选择更新方式. 1.关闭自动更新 通常关闭自动更新的都是一些对Win8.1电脑比较熟悉的用户,关闭自动更新后可以免除更新提示等带来的干扰,而我们需要更新的时候就需要手动去检查并安装更新,有的用户甚至一直不选择去更新,对普通用户来说,关闭自动更新并不推荐,如果你长久不更新可能会因为系统的BUG而影响你的工作或是受到网络黑

PHP中抽象类、接口的区别与选择分析_php技巧

本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过关键字extends继承. 2.接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量.抽象类中可以声明各种类型成员变量,实现数据的封装.(另JAVA接口中的成员变量都要声明为public static final类型) <?php abstract class Father { funct

DSP与单片机的区别

以前刚学习单片机时,经过一订的编程,能实现很多不同的功能,当时就觉得单片机真的是神通广大.后来接触到DSP,发现DSP处理数字在通信上,更加方便.于是我就很好奇的问自己,DSP和单片机,究竟有什么区别  看到某论坛一篇关于DSP和单片机区别的帖子,经过仔细整理,现在再次介绍DSP与单片机的区别,同时让自己重温一下DSP与单片机真正的魅力:1 .存储器结构不同      单片机使用冯.诺依曼存储器结构.这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核.大多数D

浅谈utf-8和gb2313区别和选择

最近碰到一个项目,要求使用gb2312,平常写代码时,用的编码都是utf-8,这两者有什么区别呢,我们又该如何选择呢 首先我们要理解编码是什么,编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码.用预先规定的方法将文字.数字或其它对象编成数码,或将信息.数据转换成规定的电脉冲信号.编码在电子计算机.电视.遥控和通讯等方面广泛使用.编码是信息从一种形式或格式转换为另一种形式的过程. utf-8和gb2312是编码格式的一部分,查阅了一下有关utf-8和gb2312的

Arduino Tian介绍:基于OpenWrt的32位ARM物联网单片机

2016似乎是"单片机之年",因为在树莓派的激励下,已经有越来越多的公司在建造各种有趣的板子.几天前,我们曾展示过一款即将到来的开发板,那是来自Mozilla日本团队.运行Firefox OS的Chirimen物联网单片机开放平台.不过本文要为大家介绍的,则是运行基于OpenWrt Linux OS的32位ARM架构物联网单片机,它的名字叫做Arduino Tian. 如果你曾把玩过Arduino,那么这款单片机的上手也绝对不是问题.除了物联网项目之外,开发者也可以将它用到机器人.自动

Microsoft SQLServer的版本区别及选择

对于新接触SQL数据库的人来说,类似这几个问题的有关于SQL版本的问题可以说不少,但又懒得去仔细研究.问题虽然简单,可是影响却不小. 版本区别 SQL Server 2000有四个版本:企业版/标准版/个人版/开发版 企业版和标准版需要安装在服务器操作系统上, 如Windows NT Server/Windows 2000 Server/Windows 2003 Server等 个人版需要安装在个人操作系统上, 如Windows98/Windows 2000 Professional/Windo

Windows中ntfs和fat32的区别和选择

Windows可以同时支持FAT32和NTFS两种文件系统,FAT32长于兼容性,NTFS长于系统安全性.在满足应用的前提下,怎样设置文件系统才能充分发挥Windows的特性呢?在讨论这个问题之前,我们先来看一下FAT32和NTFS两种文件系统各有哪些特点. FAT32文件系统 在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16.像基于MS-DOS,Win 95等系统都采用了FAT16文件系统.在Win 9X下,FAT16支持的分区最大为2GB.我们知道计算机将信息保存在硬盘上称

浅谈单片机、ARM和DSP的异同

犹记得当年读书的时候,老师说单片机.ARM.DSP有互通之处,都是CPU,但听老师讲都听不懂. 我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法:   ICer,从事ARM CPU的SOC设计 按我的理解说几句吧,希望能说薄一点. 首先,说CPU,中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如ram).不同架构的cpu会有不同的指令,不同的存

win7旗舰版系统64位跟32位的区别,该如何选择

win7系统有很多版本,家庭版.高级版.旗舰版,而今天我们要说的是win7旗舰版系统64位跟32位的区别; 不管win7系统也好,win8系统也好,server 2003等,甚至是XP系统都有 32位跟64位之分. 既然win7系统现在已经是主流的电脑操作系统了,今天我们重点讲讲win7系统32位64位区别及选择,其实系统大体上也差不多的. 我相信到现在还是有很多的用户不知道32位跟 64位win7系统 http://www.xitonghe.com 的区别,甚至吧自己在用的系统也不知道是几位的