西门子绥化PLC模块授权代理商
并行口与串行口的区别是交换信息的方式不同,并行口能通过8条数据线传输信息,一次传输一个字节;而串行口只能用1条线传输一位数据,每次传输一个字节的一位。并行口由于传输更多的信息,速度明显高于串行口,但串行口可以用于比并行口更远距离的数据传输。 |
随着Internet和后PC时代的到来,嵌入式系统的应用愈来愈广泛,嵌入式产品在人们的生活中无处不在。今天,嵌入式系统带来的工业年产值已超过1万亿美元,已经在IT产业中占有很大的比重。
通常,应用程序对嵌入式软件的基本要求是体积小、执行速度快、具有较好的裁减性和可移植性。嵌入式软件的灵魂是嵌入式操作系统。在特定的操作系统之上开发应用软件,可以让程序开发人员屏蔽掉很多低层硬件细节,使得应用程序调试方便、移植简单、易维护,开发周期也短。目前,实时操作系统很多,如VxWorks、bbbbbbCE、pSOS、QNX、LynxOS等等。这些操作系统都具有高可靠性、很强的实时性等特点,但它们都是商业操作系统,价格昂贵,人们往往很难接受。μC/OS-II的出现是对这些商业操作系统的一个很大的冲击。μC/OS-II是源码公开的实时操作系统,是一个自由操作系统。程序开发人员可以改写源代码,使之符合自己的要求。裁减掉不需要的部分,使操作系统变得小巧、灵活,并且能满足用户特定操作系统的需要。
1μC/OS-II简介
μC/OS-II并非一个完整的实时操作系统,它只是一个实时内核。μC/OS-II不像其它实时操作系统一样,提供给用户的是一个标准的API函数,程序开发人员利用操作系统提供的API函数进行应用程序的开发。要想在μC/OS-II内核上进行应用程序的开发,就需要程序开发人员在实时内核的基础上建立自己的实时操作系统。把μC/OS-II移植到自己的硬件目标板上,写出相应的驱动程序以及用户图形界面等等;在这些接口函数之上,加上用户自己的应用程序,就构成了嵌入式软件。
2μC/OS-II在EP7312上的移植
μC/OS-II的移植条件是:只要该处理器有堆栈,有CPU内部寄存器入栈、出栈指令;使用的C编译器支持内嵌汇编(inlineassembly)或者该C语言可扩展,可连接汇编模块,使得关中断、开中断能在C语言程序中实现。CirrusLogic公司生产的EP7312芯片内部采用的是ARM720T处理器,内部有37个寄存器。其中R13通常用作堆栈指针。堆栈寻址是隐含的,堆栈指针所的存储单元就是堆栈的栈顶,堆栈寻址通常有两种方式向上生长和向下生长。ARM处理器有ARM和Thumb两种指令集。每种指令集都有丰富的指令可以对堆栈进行操作。堆栈指针指向*后压入堆栈的有效数据,称为满堆栈(fullstack);堆栈指针指向下一个数据项放入的空位置,称为空堆栈(emptystack)。根据堆栈的生长方向不同,可以生成4种类型的堆栈,即满递增、空递增、满递减、空递减。我们所使用的ARM SDT(ARMSoftware DevelopmentKit)开发系统内含的编译器,同样也支持内嵌汇编,μC/OS-II可以移植到EP7312上