arm7简介
ARM7系列处理器是英国ARM公司规划的干流嵌入式处理器ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构;ARM9内核是5级流水线,供给1.1MIPS/MHz的哈佛结构。ARM7没有MMU。
ARM7系列包含ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T。该系列处理器供给Thumb16位紧缩指令集和EmbededICE软件调试方法,适用于更大规划的SoC规划中。ARM7TDMI依据ARM体系结构V4版别,是现在低端的ARM核。
ARM7TDMI处理器是ARM通用32位微处理器宗族的成员之一。它具有优异的功能,但功耗却很低,运用门的数量也很少。它归于精简指令集计算机(RISC),比杂乱指令集计算机(CISC)要简略得多。这样的简化完成了:高的指令吞吐量;超卓的实时中止呼应;小的、高性价比的处理器宏单元。三级流水线:ARM7TDMI处理器运用流水线来添加处理器指令流的速度。这样可使几个操作一起进行,并使处理和存储器体系接连操作,能供给0.9MIPS/MHz的指令履行速度。ARM7TDMI的流水线分3级,分别为:取指、译码、履行。正常操作过程中,在履行一条指令的一起对下一条指令进行译码,并将第三条指令从存储器中取出。内一起有5个指令在履行。在相同的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
ARM9简介
ARM9系列处理器是英国ARM公司规划的干流嵌入式处理器,首要包含ARM9TDMI和ARM9E-S等系列。
ARM9选用哈佛体系结构,指令和数据分属不同的总线,能够并行处理。在流水线上,ARM7是三级流水线,ARM9是五级流水线。由于结构不同,ARM7的履行功率低于ARM9。平常所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核,这种处理器软核并不带有MMU和cache,不能够运转比如linux这样的嵌入式操作体系。而ARM公司对这种架构进行了扩展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等带有MMU和cache的处理器内核。
ARM9处理才能
(1)时钟频率的进步
ARM7处理器选用3级流水线,而ARM9选用5级流水线。添加的流水线规划进步了时钟频率和并行处理才能。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内一起有5个指令在履行。在相同的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
(2)指令周期的改善
指令周期的改善关于处理器功能的进步有很大的协助。功能进步的起伏依赖于代码履行时指令的堆叠,这实际上是程序自身的问题。关于选用榜首流的言语,一般来说,功能的进步在30%左右。
UCOS简介
μC/OS II(Micro-Controller Operating System Two)是一个能够依据ROM运转的、可裁剪的、抢占式、实时多使命内核,具有高度可移植性,特别适宜于微处理器和操控器,适宜许多商业操作体系功能适当的实时操作体系(RTOS)。为了供给最好的移植功能,μC/OS II最大程度上运用ANSI C言语进行开发,而且现已移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包含DSP)。 μC/OS II能够简略的视为一个多使命调度器,在这个使命调度器之上完善并添加了和多使命操作体系相关的体系服务,如信号量、邮箱等。其首要特色有揭露源代码,代码结构明晰、明晰,注释翔实,安排有条理,可移植性好,可裁剪,可固化。内核归于抢占式,最多能够办理60个使命。从1992年开端,由于高度可靠性、鲁棒性和安全性,μC/OS II现已广泛运用在从照相机到航空电子产品的各种运用中。
μC/OS-II实时多使命操作体系内核。它被广泛运用于微处理器、微操控器和数字信号处理器。 μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式体系专家Jean J.Labrosse 在《嵌入式体系编程》杂志的5 月和6 月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的B B S 上。
UCOS运用状况
1) 高优先级的使命由于需求某种临界资源,自动恳求挂起,让出处理器,此刻将调度安排妥当状况的低优先级使命取得履行,这种调度也称为使命级的上下文切换。
2) 高优先级的使命由于时钟节拍到来,在时钟中止的处理程序中,内核发现高优先级使命取得了履行条件(如休眠的时钟届时),则在中止态直接切换到高优先级使命履行。这种调度也称为中止级的上下文切换。 这两种调度方法在μC/OS-II的履行过程中非常遍及,一般来说前者发生在体系服务中,后者发生在时钟中止的服务程序中。 调度作业的内容能够分为两部分:最高优先级使命的寻觅和使命切换。其最高优先级使命的寻觅是经过树立安排妥当使命表来完成的。μ C / O S 中的每一个使命都有独立的仓库空间,并有一个称为使命操控块TCB(Task Control Block)的数据结构,其间榜首个成员变量便是保存的使命仓库指针。使命调度模块首先用变量OSTCBHighRdy 记载其时榜首流安排妥当使命的TCB 地址,然后调用OS_TASK_SW()函数来进行使命切换。
linux简介
Linux是一套免费运用和自在传达的类Unix操作体系,是一个依据POSIX和UNIX的多用户、多使命、支撑多线程和多CPU的操作体系。它能运转首要的UNIX工具软件、运用程序和网络协议。它支撑32位和64位硬件。Linux承继了Unix以网络为中心的规划思维,是一个功能安稳的多用户网络操作体系。
linux特性
基本思维
Linux的基本思维有两点:榜首,一切都是文件;第二,每个软件都有确认的用处。其间榜首条具体来讲便是体系中的一切都归结为一个文件,包含指令、硬件和软件设备、操作体系、进程等等关于操作体系内核而言,都被视为具有各自特性或类型的文件。至于说Linux是依据Unix的,很大程度上也是由于这两者的基本思维非常附近。
彻底免费
Linux是一款免费的操作体系,用户能够经过网络或其他途径免费取得,并能够恣意修正其源代码。这是其他的操作体系所做不到的。正是由于这一点,来自全世界的许多程序员参与了Linux的修正、编写作业,程序员能够依据自己的爱好和创意对其进行改动,这让Linux吸收了许多程序员的精华,不断强大。
彻底兼容POSIX1.0规范
这使得能够在Linux下经过相应的模拟器运转常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了根底。许多用户在考虑运用Linux时,就想到曾经在Windows下常见的程序是否能正常运转,这一点就消除了他们的疑虑。
多用户、多使命
Linux支撑多用户,各个用户关于自己的文件设备有自己特别的权力,确保了各用户之间互不影响。多使命则是现在电脑最首要的一个特色,Linux能够使多个程序一起并独登时运转。
杰出的界面
Linux一起具有字符界面和图形界面。在字符界面用户能够经过键盘输入相应的指令来进行操作。它一起也供给了类似Windows图形界面的X-Window体系,用户能够运用鼠标对其进行操作。在X-Window环境中就和在Windows中类似,能够说是一个Linux版的Windows。
支撑多种渠道
Linux能够运转在多种硬件渠道上,如具有x86、680×0、SPARC、Alpha等处理器的渠道。此外Linux仍是一种嵌入式操作体系,能够运转在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核现已能够彻底支撑Intel 64位芯片架构。一起Linux也支撑多处理器技能。多个处理器一起作业,使体系功能大大进步。
ARM7与ARM9的差异
1.时钟频率的进步
尽管ARM7和ARM9内核架构相同,但ARM7处理器选用3级流水线的冯·诺伊曼结构;,而ARM9选用5级流水线的哈佛结构。添加的流水线规划进步了时钟频率和并行处理才能。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内一起有5个指令在履行。在常用的芯片生产工艺下,ARM7一般运转在100MHz左右,而ARM9则至少在200MHz以上。
2指令周期的改善
指令周期的改善关于处理器功能的进步有很大的协助。功能进步的起伏依赖于代码履行时指令的堆叠,这实际上是程序自身的问题。关于选用榜首流的言语,一般来说,功能的进步在30%左右。
3.MMU(内存办理单元)
ARM7一般没有MMU(内存办理单元),(ARM720T有MMU)。ARM9一般是有MMU的,ARM9940T只要MPU,不是一个完好的MMU。
这一条很重要,MMU单元是大型操作体系必需的硬件支撑,如linux;WINCE等。这便是说,ARM7一般只能运转小型的实时体系如UCOS-II,eCOS等,而ARM9无此约束,一般的操作体系都能够移植。其实即便ARM720T能支撑LINUX;WINCE等体系,也鲜有人用,由于以ARM7的运转速度跑这种大型操作体系,真实有点费劲。再者两者的运用范畴显着不同,也无此必要。
4.ARM7比ARM9供给了更好的功能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技能的内核。
5.在从ARM7到ARM9的渠道改变过程中,有一件作业对错常值得幸亏的,即ARM9E能够彻底地向后兼容ARM7上的软件;而且开发人员面临的编程模型和架构根底也保持一致。
初学者是选ARM7仍是ARM9
1)清晰意图
学习为运用。你学ARM预备用在什么地方,假如是一般性操控体系或只是用来替换8获16位机,ARM7明显是首选;但假如用在网络通讯或大型的音视频处理等,则ARM9较适宜。
2)自身根底
学习ARM的一般有三类人:
一是计算机专业的:这类人对操作体系等软件常识了解较多,而对硬件常识知之甚少,明显这类人学ARM的话仍是做软件好,能够依据LINUX;WINCE等操作体系的ARM9更能契合这类人的要求,当然也有许多计算机专业的人从事ARM7体系的运用软件编写的。可是搞底层的就很少了。
二是电子类专业的:这类人的硬件根底了相对较好,相反操作体系,数据库等软件常识则差强人意。因而人多电子专业的人员都了解单片机,用单片编写点小程序还不在话下,但要用ARM做较大型的软件则有点无能为力,尤其是LINUX;WINCE这种操作体系不是三两个月能轻松搞定的。主张这类人员如无特别需求仍是从ARM7和小型操作体系学起。够用就好,不要盲目寻求高端。有一点要注意并不是从事ARM9的就比ARM7薪酬高,反而ARM7的就业时机比ARM9多,这很好了解,比如金字塔,越往顶肯越小。
三是软硬件根底都不太好的:这类人员有的确需求的,也有赶时髦的,如无大的学习决计仍是参与训练的好。当然也可曲线救国,搞懂单片机后,ARM7就不难了。
最终说一点关于开发板的,初学者买个开发板的确很有必要,但也要挑选适宜的,初学者适宜的便是,资料齐全,有配套教程和学习辅导,再加上较及时的技能支撑。
选UCOS?UCLINUX?LINUX?VXWORKS?仍是当单片机用?
1、搞开发,工程规划,用UCOS,细巧,多进程,简略,表现了ARM7的精华。
2、LINUX正根的嵌入式体系,LINUX消费与通讯范畴用的比较多,但缺陷是有必要ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。可是仍是引荐选ARM9+LINUX
3、UCLINUX算投机嵌入式体系:ARM7上能够跑,由有LINUX近亲,学好能够比较便利的转向LINUX,像我相同的穷鬼用吧,呵呵
4、VXWORKS:学好后能够找到高薪作业,但作业时机自身并不比LINUX好找。
5、当单片机用:不引荐,由于关于学习来说多进程的体系规划才是ARM7的玩头,至少你也要整个UCOS啊;有朋友问我先学这个当根底不行吗?那当然能够~~但我其时就用了1周搞定,便是我先的ADS在RAM中调试的笔记。后来我清空Flash用的小段程序仍是其时写的LED闪耀程序呢。别的1周里其间还由于自己过于菜,没把OM设置好导致晶阵不阵。这个是有必要做的,但一带而过。方针放的远一点。