基于ARM9的μCOS-Ⅱ嵌入式系统移植_第1页
基于ARM9的μCOS-Ⅱ嵌入式系统移植_第2页
基于ARM9的μCOS-Ⅱ嵌入式系统移植_第3页
基于ARM9的μCOS-Ⅱ嵌入式系统移植_第4页
基于ARM9的μCOS-Ⅱ嵌入式系统移植_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大庆师范学院本科毕业论文(设计)大庆师范学院本科生毕业论文基于ARM9的C/OS嵌入式系统移植院(系)物理与电气信息工程专业电子信息工程研究方向嵌入式技术学生姓名钮佳楠学号200901071677指导教师姓名成宝芝指导教师职称讲师2013年5月15日大庆师范学院本科毕业论文(设计)I摘要随着计算机和电子技术的发展,越来越多的嵌入式产品出现在人们的日常生活和工业生产之中。由于嵌入式设备的智能型,使得生活和生产变得极为方便,由此也带来了嵌入式操作系统的迅速发展。本文通过ADS12和JLINK的软件平台,以及芯片为S3C2440的ARM9开发板,成功进行微型嵌入式操作系统C/OS在开发板上的移植。在此过程中对于C/OS进行了较为全面的学习,对于移植操作也有了深刻的认识。关键词C/OS;ARM9;移植大庆师范学院本科毕业论文(设计)IIABSTRACTWITHTHEDEVELOPMENTOFCOMPUTERANDELECTRONICTECHNOLOGY,MOREANDMOREEMBEDDEDINPEOPLESDAILYLIFEANDINDUSTRIALPRODUCTIONINTELLIGENTEMBEDDEDDEVICES,MAKINGLIFEEXTREMELYCONVENIENTANDPRODUCTION,WHICHALSOBROUGHTTHERAPIDDEVELOPMENTOFEMBEDDEDOPERATINGSYSTEMTHISARTICLEBYADS12ANDJLINK,SOFTWAREPLATFORMS,ANDCHIPS3C2440ARM9DEVELOPMENTBOARD,THESUCCESSOFMICROEMBEDDEDOPERATINGSYSTEMOSIIDEVELOPMENTBOARDTRANSPLANTATIONINTHISPROCESS,THEOSIIFORAMORECOMPREHENSIVELEARNING,HAVEADEEPUNDERSTANDINGFORTHETRANSPLANTOPERATIONKEYWORDSUC/OSARM9TRANSPLANT大庆师范学院本科毕业论文(设计)III目录第一章嵌入式系统基础111嵌入式系统概述112嵌入式体系硬件基础113嵌入式体系软件基础2第二章C/OSII介绍3第三章ARM9介绍4第四章C/OS在S3C2440上的移植541移植环境简介542移植条件543移植内容5431INCLUDESH5432OS_CFGH6433OS_CPUH6434OS_CPU_CC6435OS_CPU_AASM8第五章实例移植1051函数配置1052工程创建1253工程设置1354实例调试17第六章结束语19参考文献20附录21OS_CPUH文件函数21OS_CPU_AASM文件函数21大庆师范学院本科毕业论文(设计)1第一章嵌入式系统基础11嵌入式系统概述与一般的计算机系统不同,嵌入式系统的功能性、可靠性和安全性以及成本、体积、功耗都有严格的要求,并且在以应用为中心的前提下,能够进行软硬件的裁剪。一般嵌入式系统的组成包括以下部分1嵌入式的微处理器2硬件设备(外围)3嵌入式的操作系统4特定应用程序嵌入式系统包含以下的特点1特定且广泛的应用2密集的技术、知识、资金3高效性4较长生命周期5高可靠性6软硬件集于一体,以软件为主嵌入式系统的应用领域十分广泛,主要包括交通管理、机器人、军事电子、通信设备、网络设备、医疗仪器、环境监测、汽车电子、工控设备等。嵌入式系统从上世纪60年代中期开始,从无操作系统、简单操作系统、实时操作系统直至今日面向INTENET的阶段,历经50多年。嵌入式因为广泛应用性,巨大的创业型和广阔市场性,走进了千家万户。12嵌入式体系硬件基础嵌入式系统的硬件核心是嵌入式微处理器,另外包括总线、存储器、输入/输出接口和设备。1微处理器至少包含一个微处理器,采用的体系结构是冯诺依曼或哈佛结构。2存储器包括主存和外存。主存用于存数代码和数据;外存存放各种信息。3总线种类随处理器的不同而不同,有些处理器总线32位,有些则是26位的。大庆师范学院本科毕业论文(设计)24输入/输出接口和设备包含了串并口、中断处理器和DMA等设备。13嵌入式体系软件基础同WINDOWS类似,嵌入式软件系统一般由操作系统(RTOS)、图形界面(GUI)、网络以及一些通用的模块组成。随着科技和技术的发展,已经推出了嵌入式产品的成功应用,且从单功能向专业化发展。在除了任务调度,同步机制的一些基本功能外,嵌入式系统还具备有以下优点1可装载卸载性。开放性、可伸缩性体系结构。2极强的实时性。EOS实时性较强,可用于各种设备的控制当中。3统一的接口。提供了各种设备驱动接口。4方便操作、简单、提供图形GUI,图形的界面,追求的是易学易用性。5强大的网络支持功能,提供各种网络协议的接口。强稳定性和弱交互性。6固化的代码,系统和应用软件固化在ROM中。7更好的适应硬件,具有良好的移植性。大庆师范学院本科毕业论文(设计)3第二章C/OSII介绍REALTIMEOPERATINGSYSTEM,简称RTOS,是实时操作系统的英文缩写。所谓实时,就是在外界中断或事件发生的时候,能够快速接受并进行处理,同时在规定时间内控制相应的过程作出响应。20世纪90年代初期,美国人JEANJLABROSSE在EMBEDDEDSYSTEMPROGRAMMING杂志上最先发表了RTOS,名为C/OS,从而为实时操作系统掀开了崭新的篇章。微型内核的C/OS源码开发,稳定性强,作为C/OS升级版本的C/OSII,主要有ANSIC,以及少量的汇编代码构成,全部代码不超过5000行,正因为占用空间的小巧,结构的简洁,基于实时性强的优点,C/OSII能在多重不同位数的处理器上运行。大到航空航天,小至手持设备,C/OSII已经成功应用诸多领域,为人们的生活带来了极大的便利。C/OSII体系结构如图21所示图21C/OSII体系结构大庆师范学院本科毕业论文(设计)4第三章ARM9介绍ARM9是32位通用微处理器ARM(ADVANCEDRISCMACHINE)家族中的一员,具有比较低的电源消耗和良好的性价比,由此广泛应用于工业生产和日常生活中。基于RISC(精简指令)的结构,较微程序的控制复杂指令系统的计算机相对简单,使得它用有较高的中断响应和指令处理的能力。ARM9的指令集共包含了11种基本类型1桶式的移位器及乘法器和偏上算术的逻辑单元(两种);2指令控制数据传送用在弹性地址,高速内容切换,和交换数据(三种);3控制流程和特权级执行的指令(三种);4专门用在能够扩展到片外的协处理器中(三种)。ARM9的指令集比较适用不同的高级语言编译器,但需要临界代码段,汇编语言编程也比较简单,不像其它的需要复杂的编译器来管理指令。ARM9的流水线技术可以连续运行指令的处理和系统存储的各个部分。在存储的系统中,ARM9存储接口的设计能够以低代价发挥最大限度性能。ARM9有32位地址总线,也可以配制成26位的地址线,使早期版本的处理器能够被它兼容。全静态CMOS的ARM9,允许时钟停止循环,并保存当前状态。基于上述的优势,ARM9适用于一些需要紧凑且功能强大的RISC处理器系统,包括电子通讯、数据通信、信息存储、图像处理、JOEG控制器等,为人们的日常生活和工业生产带来了极大的便利。大庆师范学院本科毕业论文(设计)5第四章C/OS在S3C2440上的移植41移植环境简介保证一个系统的内核保证能够在多个微处理器或微控制器上,同时保持了它的实时性和稳定性操作过程,就是移植。本文硬件平台选择的是S3C2440芯片,软件开发环境应用ADS12,再通过JLINKH进行调试,基本满足了移植的需求。ARM9的S3C2440,能够在ARM920T核心的基础上,对系统内存进行高效的管理;基于ARBA总线和哈佛结构高速缓冲,使其具备了独立的16KB指令和数据高速缓存的体系结构。42移植条件由于CPU版本的不同,C/OSII可能会出现不兼容的问题,这时需要对操作系统进行移植,使它能够在使用的CPU上运行。在C/OSII移植必须满足以下要求1处理器的C编译器可产生可重入代码;2进入和退出临界区代码用C进行调用;3处理器必须支持具有定时中断源的硬件中断处理器必须能够容纳一定的数据硬件堆栈;4处理器需要有交换数据的指令,使其能够在CPU的寄存器和内核及堆栈间进行数据的交换。43移植内容针对C/OS的移植操作看似复杂,其实过程并不困难,在理解处理器位数和操作系统位数的前提下,只需要改写几个与处理器硬件相关的函数就能够保证移植操作的成功。一般而言,C/OS的移植工作只需要做到以下几点1用DEFINE设置一些常量的值OS_CPUH2声明10个指定的数据类型OS_CPUH3用DEFINE声明2个宏OS_CPUH4用C语言编写6个简单函数OS_CPU_CC5根据硬件编写了4个函数OS_CPU_AASM431INCLUDESH在移植初期,需要写入一个被包含在所有C文件中的头文件,其中包含了可能大庆师范学院本科毕业论文(设计)6用到的头文件和一些可能与实际应用不相关的头文件。由于头文件的增加,导致了编译时间变长,但是避免了在编译过程中头文件丢失的风险,大大增强了移植性。由于INCLUDESH文件,我们在增加需要的头文件时,只需写入这个头文件中即可。为了避免在编译过程中将已编译的内容重新编译,必须把需要增加的头文件加在INCLUDESH列表的最后。432OS_CFGH内核是一个系统的核心,而OS_CFGH就是用来配置内核的头文件,根据不同的需要和应用,我们可以对内核进行定制和裁剪,从而提高了实时性。433OS_CPUHOS_CPUH文件中主要是用DEFINE重新定义一些与处理器相关的常量,宏和数据类型。众所周知,处理器有8位到64位甚至128之分,不同的处理器对应操作系统的位数也是不尽相同,否则会发生无法兼容的问题,在C中使用频繁的SHORT(短整),INT(整型)和LONG(长整)等数据类型,在C/OS是不使用的。所以为了能够与处理器的字长相匹配,需要对C/OS中的数据类型进行重新的定义。在任何的操作系统中,中断都是必不可少的,否则在更高优先级的任务发生时,无法对其进行处理,可能导致系统的崩溃。C/OS在访问临界代码段的时候需要将中断禁止,并且在代码段访问完毕之后重新置中断为允许状态,所以C/OS中有两个宏对中断进行禁止和允许OS_ENTER_CRITICAL和OS_EXIT_CRITICAL。不同的处理器的堆栈生长方式不同,在移植过程中需要对堆栈生产方式进行改变,C/OS定义了结构常量OS_STK_GROWTH,将其置1时生长方式是从上往下,置0则相反。在执行中断,或者任务优先级变化的时候,需要任务的切换(低任务优先级级到最高优先级任务)。任务切换简而言之就是将当前任务的寄存器和状态字保存到堆栈中并把更高优先级任务从堆栈中恢复出来。在任务切换的时候就需要调用OS_TASK_SW宏,在移植过程中需要对这个宏进行定义。434OS_CPU_CCC/OS的移植中需要用C语言编写六个简单的函数大庆师范学院本科毕业论文(设计)71OSTASKSTKINIT2OSTASKCREATEHOOK3OSTASKDELHOOK4OSTASKSWHOOK5OSTASKSTATHOOK6OSTIMETICKHOOK在移植过程中,OSTASKSTKINIT是唯一需要进行改写的,其余的五个函数,即钩子函数,在只需要对其声明,无需代码。并且由于只是对其声明,所以在OS_CFGH中需要将OS_CPU_HOOKS_EN设置成0值。4341OSTASKSTKINTOSTASKSTKINT初始化堆栈函数。在OSTASKCREATE和OSTASKCREATEEXT调用OSTASKSTKINT过程中会得到任务传递地址,PDATA指针,任务堆栈栈顶和任务优先级等参数,OSTASKSTKINT用上述的三个参数和一个附加在OSTASKCREATEEXT中得到的选项确保了堆栈结构初始化的正确性。在初始化堆栈开始时,OSTASKSTKINIT返回堆栈指向的地址传递给OSTASKCREATE和OSTASKCREATEEXT,同时任务控制块OS_TCB也会保存该地址,处理器文档会指明堆栈指针会是指向指向了还是数据的堆栈单元位置下个堆栈的空闲位置。4342OSTASKCREATEHOOKOSTASKCREATEHOOKC/OS的功能扩展的允许与否,在创建任务的时候通过这个函数进行功能设置。建立任务之后会返回一个OS_TCB的指针,在选择扩展功能的时候,该指针会传给OSTASKCREATEHOOK,通过这个指针访问任务的附加数据(MMU寄存器,浮点寄存器,以及调试的信息等)和结构成员。从而决定可允许扩展的成员。4343OSTASKDELHOOKOSTASKDELHOOK主要用在任务的删除时,同功能扩展函数的情形一样,OSTASKDELHOOK也是通过OS_TCB指针访问成员,进行成员的检测和清除,OSTASKDELHOOK无返回值。大庆师范学院本科毕业论文(设计)84344OSTASKSWHOOKOSTASKSWHOOK优先级改变,或者中断发生,进行任务切换的时候调用的函数。注意在调用OSTASKSWHOOK期间必须处于中断禁止的状态。任务切换的时间越短,任务执行效率越高,所以在任务切换的时候尽量将代码简化,OSTASKSWHOOK无参数,也没有返回值。4345OSTASKSTATHOOKOSTASKSTATHOOK进行扩展统计功能的函数。OSTASKSTATHOOK无参数,无返回值。4346OSTIMETICKHOOKOSTASKTIMEHOOK在每一个时钟节拍中调用。事实上,OSTASKTIMEHOOK是在节拍被C/OS真正处理,并通知实例或应用程序之前被调用。OSTASKTIMEHOOK无参数,无返回值。435OS_CPU_AASM四个汇编函数的编写是C/OS移植的重点1OSSTARTHIGHRDY2OSCTXSW3OSINTCTXSW4OSTICKISR为了节省空间和内存,不必将上述四个函数分散,而是将所有与处理器相关的函数、代码集中放到OS_CPU_CC文件中。4351OSSTARTHIGHRDYOSSTARTHIGHRDY就绪状态的任务会开始运行时调用OSSTART,而此时OSSTART可以调用OSSTARTHIGHRDY,执行优先级最高的任务。需要注意的是,在调用OSTASKSWHOOK之后和恢复最高优先级任务之前需要将OSSTARTHIGHRDY中的OSRUNNING设置为TRUE。4352OSCTXSWOSCTXSW执行最高优先级的任务是C/OS的特点之一,而OSCTXSW就大庆师范学院本科毕业论文(设计)9是基于此而创建的函数。同定义的函数OSTASKSWHOOK的执行过程类似,OSCTXSW执行时中断的状态也是禁止的。4353OSINTCTXSWOSINTCTXSW在C/OS中唯一与处理器相关的函数(代码需写在汇编文件中)。当C/OS判断有比中断更为重要的事件发生时,OSINTEXIT会调用OSINTCTXSW从中断中切换出去。需要注意的是,由于无法从C直接访问CPU的寄存器,所以在编译器能够插入汇编代码的前提下,可以将OSINTCTXSW代码可以放到OS_CPU_CC文件中,而不是OS_CPU_AASM文件中。因为OSINTCTXSW的代码与OSCTXSW的函数代码基本上是相同的,所以可以通过“BL”指令减少OSINTCTXSW代码量,这在移植实例中是常见的。4354OSTICKISROSTICKISR通过调用,时钟节拍以每秒发生10100次的频率从而满足时间期满和延时的功能。大庆师范学院本科毕业论文(设计)10第五章实例移植本章的主要内容是在对移植有了较为全面的了解和认识之后,将C/OS操作系统移植到ARM9的处理器上,然后编写一个简单地应用程序,实现LED灯的控制。51函数配置实例移植是验证移植成功的关键。通过网络或其它途径获得C/OS的源代码,对于一些在第四章描述的变量、宏和函数进行重新定义和配置。下载的源代码如图51所示图51源代码文件夹其中S3C2440文件夹中包含了两个子文件夹,分别是INCLUDES和SOURCE,如图52所示图52S3C2440文件夹下的文件在INCLUDES文件中是一些与S3C2440相关的头文件,包括CONFIGH、LCDH、MMUH、NANDH、OPTIONH、S3C2440ADDRH、S3C2440LIBH、S3C24400SLIBH、TIMER,如图53所示图53INCLUDES文件夹大庆师范学院本科毕业论文(设计)11在SOURCE文件中是S3C2440相关的源文件,包括TIMERC、2440INITS、2440LIBC、2440SLIBS、FONT_LIBSC、IPHONEC、LCDC、MMUC“、NANDC、TARGETC、MAINC等,在编写测试函数的时候,只需要将测试函数写在MAINC中即可,如图54图54SOURCE文件夹UCOS_II文件夹中包含了四个文件夹,分别是API、INCLUDE、ARM、SOURCE。图55UCOS_II文件夹在API文件夹中只有一个应用配置相关的头文件APP_CFGH,如图56所示图56API文件夹INCLUDE中有三个文件OS_CFGH、OS_CPUH和UCOS_IIH,其中OS_CPUH需要进行配置,如图57大庆师范学院本科毕业论文(设计)12图57INCLUDE文件夹ARM文件夹中也是三个文件IRQINC、OS_CPU_AA、OS_CPU_CC,其中后两个是需要进行配置的文件,如图58所示图58ARM文件夹在SOURCE文件夹中有一个API文件夹(包含OS_APIH和OS_APIC)和一些与系统服务相关的函数文件,包括OS_COREC、OS_DBG_RC、OS_FLAGC、OS_MBOXC、OS_MEMC、OS_MUTEXC、OS_QC、OS_SEMC、OS_TASKC、OS_TIMEC、OS_TMRC、PRINTFH、PRINTFC和UCOS_IIC,如图58所示图58SOURCE文件夹在对源码结构了解之后,就是对所需文件进行相应的配置,具体配置代码见附录1。52工程创建在PC机上安装ADS12和JLINKH仿真器(软件和驱动),通过转换口将JLINKH仿真器和ARM9的开发板以及PC机连接起来,ARM9的蜂鸣器短接跳线大庆师范学院本科毕业论文(设计)13JP9。JLINK与ARM9连接图如图59所示图59JLINK与ARM9的连接图PC机上启动ADS12,新建一个ARMEXECUTABLEIMAGE工程,在PROJECTNAME中填写工程名称UCOSMCP,在LOCATION中加入代码所在位置,工程建立完毕。53工程设置在ADS12中的工程建立之后,还需要对于工程进行相应的设置在【EDIT】【DEBUGRELSETTINGS】下在【TARGET】条目中选择【TARGETSETTINGS】,将其中的【,POSTLINKER】设置为ARMFROMELF,如图510所示。大庆师范学院本科毕业论文(设计)14图510工程设置(1)在【TARGET】条目中选择【ACCESSPATHS】,将【ALWAYSSEARCHUSERPATHS】选中(因为UCOS_II部分文件采用INCLUDE包涵,不修改这里找不到文件),如图522所示。图510工程设置(2)在【LANGUAGESETTINGS】条目下依次选择【ARMASSEMBLER】、【ARMCCOMPLILER】、【ARMCCOMPLIER】,将它们的处理器都设置成ARM920T,如图511所示。图511工程设置(3)在【LANGUAGESETTINGS】条目下选择【ARMCCOMPLILER】,在【ERRORS】中勾销大庆师范学院本科毕业论文(设计)15掉【IMPLICITPOINTERC】,然后选择【ARMCCOMPLILER】,在【WARNINGS】中购销掉【UNUSEDDECLARATION】(O1GCPUARM920TWXEC),如图512所示图512工程设置(4)在【ARMLINKER】条目下选择【OUTPUT】,将【ROBASE】设置成0X30000000,【OPTIONS】下【IMAGEENTRYPOINT】设置成0X30000000,【LAYOUT】下【PLACEATBEGINNINGOFIMAGE】下的【OBJECT/SYMBOL】设置成2440INITO,【SECTION】设置成INIT,【LISTINGS】下选勾IMAGEMAP、【LISTFILE】设置LISTTXT,勾上SIZES、TOTALS、UNUSED、VENEERS。如图513所示。图513工程设置(5)大庆师范学院本科毕业论文(设计)16【ARMFROMELF】条目下选择【OUTPUTFILENAME】,填写“输出的二进制”,如图514所示图514工程设置(6)在ADS12工程配置过后,同样对JLINKH进行相应的设置。打开JFLASHARM,点击OPTIONS下拉菜单,找到PROJECTSETTINGS选项,点击,在【GENERAL】中对连接USB端口进行设置(不确定的情况下去系统设备管理器中查找),如图515所示大庆师范学院本科毕业论文(设计)17图515JLINK设置(1)在【TARGETINTERFACE】条目中的【CORE】选择设备ARM9,如图516所示图516JLINK设置(2)JLINK设置完毕。54实例调试在工程和JLINK全部设置完毕,将测试程序写入到MAINC函数中,测试程序见附录。设置之后,选用DEBUGREL生成目标,然后点击MAKE编译工程。编译成功显示如图517所示大庆师范学院本科毕业论文(设计)18图517编译界面在这里显示出现0个错误,7个警告,由下面的窗口可知,警告是因为LCD日期打印,导致的原因可能是下载的源码中LCD源码部分不完整或者混淆,但是这不影响移植的测试,所以未加以修改。将ARM9开发板上的蜂鸣器跳线JP9短接,将启动方式选择跳线JP8短接,然后按RST键复位系统。选择【PROJECT】【DEBUG】,启动AXD进行JTAG仿真调试。在这里声明一下,因为JLINK是一个在线修改下载的仿真器,所以在代码不正确都得情况下,可以直接在线修改,不需要像DNW和超级终端一样重复下载。在MAINC中默认设置几个断点,程序会在断点处停止,然后进行分步执行操作同VB类似,在ADS12中可以通过观察窗口观察程序中的全局变量和局部变量的值的变化情况,具体操作是点击【CONTEXTVARIABLE】按钮或者选择【PROCESSORVIEWS】条目下的【VARIABLES】。大庆师范学院本科毕业论文(设计)19第六章结束语本文对嵌入式实时操作系统C/OS移植到ARM9开发板上的过程进行了较为详尽的分析和操作,通过简单的任务例程,在ADS12、EASYJTAGH仿真器及开发板的组合情况下进行了测试,从而验证了移植的准确性,成功的为C/OS嵌入式实时系统的复杂应用,提供了基本条件。随着科技的发展,工业生产和日常生活的需要,作为一个具有明显优势的实时操作系统,C/OS具有广泛的应用前景和市场价值,必定会在嵌入式中占据一席之地。大庆师范学院本科毕业论文(设计)20参考文献1王振宇UC/OS操作系统在ARM系统中的应用D长春吉林大学硕士学位论文,20031162李承创,陈跃斌,房晓丽,等UC/OSIII在CORTEXM3处理器上的移植J单片机与嵌入式系统应用,2012442443孙顺远,秦会斌,崔佳冬,等C/OS在CORTEXM3内核上的移植及优化J计算机系统应用,201042082114唐其伟基于ARM与C/OSII的嵌入式系统研究D广州广东工业大学硕士学位论文,200532525罗西门UCOS_II的移植,ADS12ARM9S3C2440EB/OL2013515HTTP/BLOG163COM/MUREN20062094YEAH/BLOG/STATIC/161844416201172595510470/6JEANJLABROSSE嵌入式实时操作系统UCOSIIM邵贝贝,等译北京北京航空航天大学出版社,2003年971457李玉刚嵌入式操作系统C/OS在ARM上的移植研究J微计算机信息,2010,2397988王帅基于SOPC的多路温度检测系统设计D成都成都理工大学硕士学位论文,201235389张雪峰基于实时内核C/OSII的应用研究D成都西南交通大学硕士学位论文,2004年4月12310陶保壮基于ARM7的嵌入式操作系统C/OSII平台的剖析与实现J安徽工程科技学院学报,200925557大庆师范学院本科毕业论文(设计)21附录OS_CPUH文件函数IFDEFOS_CPU_GLOBALSDEFINEOS_CPU_EXTELSEDEFINEOS_CPU_EXTEXTERNENDIF数据类型(与编译器有关)TYPEDEFUNSIGNEDCHARBOOLEAN/无符号布尔类型/TYPEDEFUNSIGNEDCHARINT8U/无符号8位整数/TYPEDEFSIGNEDCHARINT8S/有符号8位整数/TYPEDEFUNSIGNEDCHARINT16U/无符号16位整数/TYPEDEFSIGNEDCHARINT16S/有符号16位整数/TYPEDEFUNSIGNEDCHARINT32U/无符号32位整数/TYPEDEFSIGNEDCHARINT32S/有符号32位整数/TYPEDEFFLOATFP32/单精度浮点数/TYPEDEFDOUBLEFP64/双精度浮点数/TYPEDEFUNSIGNEDINTOS_STK/堆栈入口宽度为16位/与处理器相关的代码DEFINEOS_ENTER_CRITCAL/禁止中断/DEFINEOS_EXIT_CRITICAL/允许中断/DEFINEOS_STK_GROWTH1/定义堆栈的增长方向1向下,0向上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论