北京快3平台【真.乐色】

北京快3嵌入式软件构件平台的系统级软件构件的

时间:2020-12-03 11:28

  对嵌入式软件构件平台而言,其支撑平台首先是一个嵌入式实时多任务操作系统,其次为整个软件构件的设计提供开发工具和集成环境。

  在支撑平台的设计过程中,可以借鉴领域工程的思想,将整个嵌入式实时多任务操作系统设计成一个系统级的软件构件库。这样不但实现了嵌入式操作系统的可裁剪性,而且由于从嵌入式操作系统到应用程序的设计都是基于离散化的软件构件,因此方便了嵌入式控制应用软件设计时的集成和调试。为了方便软件构件的管理,可以将系统级和应用级的软件构件库综合成一个功能完备的软件构件库。它包括从嵌入式控制系统的系统层、支撑层和应用层所需的一切软件构件,因而具有功能的完整性。

  嵌入式软件构件平台的体系结构如图1所示,它包括系统层、连接层(支撑层)和应用层3个部分。系统层属于领域工程的范畴,它利用领域工程的分析方法对嵌入式控制系统进行分析、抽象和提炼,并分解成相应的系统类和应用类功能模块。连接层是一个嵌入式软件构件平台,它实现系统层和应用层之间的无缝连接,即提供软件构件一个集成开发平台。应用层属于应用工程的范畴,用户根据实际的嵌入式控制系统的控制要求和目标,从软件构件库中选取所需软件构件,经集成后生成实际的嵌入式控制应用程序。

  该软件构件平台是基于TMS320F2812DSP芯片构建的一个构件化的嵌入式实时多任务操作系统。在设计时充分利用了平台体系结构所述的设计思想,程序的可读性和裁剪性非常好。其特点是:

  ① 设计了操作系统和系统两个数据结构。为了方便支撑平台的设计和对系统资源的集中管理,设计了操作系统数据结构,该数据结构为平台设计者独占,用户没有访问该数据结构的权限;另外,为了便于用户程序与操作系统之间的交互以及对系统资源的访问、申请,设计了系统数据结构。该数据结构用户是可见的,也是应用程序访问操作系统的唯一途径。

  ② 配置了一个最小系统。其主要功能是当接到启动指令后对指令进行确认并判断启动方式;然后,根据启动方式完成微处理器的和一些外围寄存器的初始化,并且对操作系统和系统两个数据结构进行初始赋值。但它不能实现任何的控制功能,完成初始化后就处于系统扫描状态。

  ③ 系统设计的任务数小于或等于16(即一个字长),这样一来任务的调度算法相对比较简单,而且完全能够满足嵌入式实时控制系统应用的要求。每一个任务指定唯一的优先级,其任务优先级与任务标识一致,优先级越高的任务其优先级ID就越低。可供任务选择的优先级ID范围是0~15,其中系统保留了最高和最低优先级任务。通信及系统同步采用了信号量方式(可以扩展),设计了P操作和V操作两种软件构件,对系统进行通信和同步管理;同时,设计了创建任务和任务开始两个软件构件,分别为任务的建立和结束提供系统管理。

  ④ 设计了任务调度、任务切换、任务上锁、虚拟消息等软件构件,实现系统对多任务的控制和管理。为了方便系统的任务切换,整个支撑平台系统设计了两类堆栈——系统堆栈和任务堆栈。

  由于本构件装配是采用语言组态的软件构件集成方式,因此接口的定义类似于组态入口参数序列。它主要包含软件构件标识信息、软件构件注册信息及软件构件的配置信息。标识信息识别目前所用的是哪一个软件构件,并给出了软件构件的切入点(虚拟地址指针);注册信息包含软件构件向操作系统申请的系统服务和系统资源,操作系统在得到注册信息后,为软件构件提供相应的系统服务和分配所需的系统资源;配置信息包括软件构件在不同的系统状态下所需的参数信息,它可以以数据或地址的状态给出。接口类软件主要是完成应用程序与支撑平台的交互,起到一个系统接口界面的作用,方便了用户对支撑平台的访问。它包括错误观察WatchErr()、参数注册SysCompReg、获取整型量*GetAddN()、获取浮点数*GetAddF()、获取结构体*GetAddS()、取开关量Sys_GetBit()、存开关量Sys_BitGetvalue()、浮点数上/下限限幅Sys_Fmaxmin()、整型量上/下限限幅Sys_Nmaxmin()等函数。

  这类构件在系统软件集成时最多只能使用一次,主要完成系统资源的配置以及一些系统功能的启用,包括系统开始、系统结束、扩展、扩展内存等构件。

  一个嵌入式控制应用程序必须包括且仅包括一个系统开始构件,而且该构件位于软件构件组态集成序列的末端。系统循环扫描一开始时,首先进入的便是该构件。该构件的功能是根据系统所处的系统状态,对系统参数、程序空间进行配置。其接口定义如下:

  接口说明:构件号是该构件的唯一标识和切入点(该构件入口虚拟程序地址指针);启动选择方式主要用于设定系统的启动方式;缺省通信方式主要是从CAN、MORDBUS和工业以太网中选择一种作为系统默认的通信方式;外部高速和低速时钟频率用于设置高速和低速外围所需的时钟频率,即可以修改最小系统中的初始配置;系统口令主要保证系统的安全性,不允许随意修改组态集成格式;系统型号和装配日期给出了系统软件集成的一些文本信息。设计者可以根据系统设计需要,在构件组态集成时自由配置。

  由于系统设计时,在系统总配置表单中规定了最大的原始构件数小于或等于511,因此当系统构件数目超过原始构件个数时,必须通过扩展构件来扩展系统构件。扩展构件的接口定义如下:

  接口说明:为了方便扩展构件,该接口设计为比较灵活的方式。它仅指出了扩展构件的地址,而扩展的构件个数由组态集成结束标识0来终结组态接口参数的设置。

  在支撑平台的设计中,根据嵌入式控制应用程序的需要,将系统的整个内存空间划分为4大块,每一块有固定的长度和使用域。当应用程序对内存的需求超出设计范围时,可以利用扩展内存构件对内存进行扩展。其接口定义如下:

  系统结束构件固定位于软件组态集成序列的前端,即组态集成号为0。它在系统软件构件组态集成完毕后、即将进入系统运行时启用该构件,即处于系统循环的最后。它在系统工作状态工作,执行返回软件组态集成序列起始地址的功能。在系统初始化状态时,完成标定数据和一般数据的获取和保存,并执行启动系统时钟和看门狗,以及返回组态序列起始地址等系统功能。接口参数仅有一个标识该构件的构件号0。

  任务创建构件Task:一般的多任务操作系统运行之前,系统必须至少建立一个任务,一般是一个空闲任务,其他任务可以在程序运行的过程中创建。北京快3但在本支撑平台的设计中,鉴于一个实际的嵌入式控制应用程序的任务数事先是可以确定的,因而设计了任务创建构件,可以利用该构件在应用程序的软件集成过程中创建所需的任务。该构件的组态集成接口定义如下:

  设计说明:每定义一个任务使用一次该构件。任务号是外指针,用户可见,里面包含虚拟程序地址指针、任务优先级等信息;系统为每个任务分配了堆栈空间,由于任务的不同,可能对系统资源的需求也不同,为了节省整个系统的内存空间,用户可以从组态集成接口直接指定任务堆栈的大小;为了跟踪任务的运行时间和任务定时,在接口中设计了时间单位和时间长度2个参数,对任务的运行时间进行统计和定时计数。另外,为了方便任务切换,整个支撑平台设计了两类堆栈,即系统堆栈和任务堆栈。因此在建立任务时,要根据所处的系统状态,对每一个任务的任务堆栈进行初始化设置。

  任务间的通信有2种途径:通过全程变量,或发消息给另一个任务。使用全程变量时,必须保证每个任务或中断服务程序独享该变量。中断服务中保证独享的唯一办法是关中断。如果两个任务共享某变量,各任务实现独享该变量的办法可以是关中断再开中断,或使用信号量。在支撑平台的设计中,采用了信号量方式进行系统的通信和同步管理,包括P操作PSema和V操作VSema两种软件构件。

  P操作软件构件实现下列功能:在系统注册状态完成注册表的填写,向系统申请所需的系统资源;在系统参数初始化状态完成信号量数据结构的初始化;在系统工作状态,如果信号量大于零(即信号量可用),则信号量减1,否则表示信号量不可用,进行任务悬挂操作和任务切换。其接口定义如下:

  接口说明:信号量地址是外指针,用户可见,是信号量数据结构的入口点;信号量初值若设为1,则表示任务通信,若为0,则表示任务同步。

  V操作软件构件只在系统工作状态下工作,与P操作软件构件公用一个数据结构。它首先将信号量减1,然后判断信号量是否大于零。若大于零,表示公共资源可用,则使所给定任务就绪,并进行任务调度和切换。其接口如下:

  由于采用构件化的设计方式,系统通信和同步方式可以自由扩展。比如说可以在支撑平台添加邮箱或消息队列构件,采用哪种通信和同步方式主要根据系统的设计需要而定。

  本课题组采用微型消息总线MMB嵌入式系统集成开发环境(MMBIDE)应用程序编程语言引入IEC611 313标准,将结构化语句(StructuredText)描述程序设计语言作为自身嵌入式系统应用软件的编程语言。这主要是考虑到MMB嵌入式系统应用于工业控制领域,要求能够自身可以完成较复杂的控制运算,同时要求语句清晰、易懂,具有编程任务高度压缩化的表达格式。采用交叉开发方法,在Windows主机平台上开发与之连接的目标机。开发环境包括自己的可裁剪的微内核实时多任务操作系统,主机上的编译、调试、查看等工具,以及串口、网络与目标机的连接工具。其主要功能包括面向工业应用领域的应用程序基本框架、可重用的构件库、源程序编译器、组态下载用户工具、参数下载用户工具、参数实时监控界面等用于支撑应用程序开发的各类用户工具,是用户开发应用程序的重要基础,强调知识成果的积累和重用,是平台开发模式思想的集中体现。

  本软件开发平台应用软件构件技术主要解决下列问题:软件构件的接口定义,提供软件构件与系统以及软件构件之间的交互机制,同时为软件构件的设计和封装提供依据。软件构件的开发和集成,为软件构件的设计和集成提供必要的开发工具。本文介绍了其中主要的系统级软件构件的开发方法,为系统集成各种应用级软件提供了总体框架,解决了控制系统应用软件难维护、难继承的问题,为控制类应用软件的开发提供了依据。

  工业机器人目前在工业中逐渐适用,工业机器人将代替人工重复性劳动。现实中,更多工厂均采用进口工业机器人....

  在阐述嵌入式系统软件设计方法的基础上,介绍嵌入式系统底层软件可移值性设计和硬件抽象层的建立;举例说明....

  水和蒸汽是热力系统中的锅炉、汽轮机、过热器等设备的重要工作介质。当火力发电厂正常运行时,热力设备中都....

  一个优秀的RTOS(Real-Time Operating system)不但要拥有一个高可靠、多任....

  要开发出完善的ERTOS,就要在多任务的调度和对I/O设备操作的稳定性、协调性方面做出大量的工作,这....

  人机界面(human-computer interface),又称用户界面、人机交互、人机接口等,是....

  讨论一个利用标准C语言setjmp库函烽实现查询式协作多任务系统,给出完整的内核和样例程序并对源代码....

  ARM9核的S3C2410芯片可通过内置的LCD控制器来实现对LCD显示的控制。以TFT LCD为例....

  基于μCOS-Ⅱ在SPCE061A开发板上如何实现低功耗嵌入式系统的设计

  在当今普遍使用的手持式移动设备中,如何降低嵌入式系统的功耗、延长电池使用的时间等问题一直是困扰开发人....

  Linux是一种很受欢迎的操作系统,与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛....

  基于ARM7单片机和Linux+RTCORBA架构实现嵌入式代理服务器的应用方案

  现场控制网络技术、信息网络集成技术和分布式实时技术的发燕尾服和成熟,使集成信息网络和现场控制网络的分....

  基于S3C2410处理器和Linux平台实现视频处理和网络传输系统的设计

  在Linux下,设备驱动程序可以看成Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了....

  实际工程项目中,在技术上采用了嵌入式计算机和Vxworks嵌入式操作系统以及SCSI硬盘阵列系统,成....

  在嵌入式系统与VxWorks实时操作系统应用愈加广泛的背景下,结合嵌入式系统对于各类实时通信方式的不....

  采用IP网络进行语音通信是一种廉价且方便的通信方式。其目前的技术已经为用户间的通信提供清晰、稳定、低....

  (2)在有DMA控制器的系统和多处理器系统中,有多个部件可以访问主存。这时,可能其中有些部件是直接访....

  介绍语音识别技术在嵌入式系统中的应用状况与发展,以及在嵌入式系统中使用HMM语音识别算法的优点,并对....

  黑客在4Chan平台上以BT种子的形式泄漏了多个旧Windows版本的源代码

  微软的Windows操作系统是目前使用人数最多、覆盖最广的桌面操作系统,从安全角度来看,其系统源代码....

  如果您想知道自己的手机是否支持Apple的新操作系统iOS 14,可以在下面查看我们的列表。iPho....

  保持ASIL-B功能安全的拆分模式仍然需要定期检查内核以确保其正常工作,这使它们暂时不可用。问题在于....

  今天给大家分享一个很不错的资料,大家有时间可以用来参考参考。该项目是基于嵌入式开发平台的机器人,主要使用树莓派和arduino...

  数字存储示波器是一种具有数据存储、预触发、波形存储、便于与PC机通信等特点和优点的便携式智能仪器,广....

  将μC/OS-II实时嵌入式操作系统移植到EPSON八位单片机上来开发短信息电话机。此电话机除普通电....

  Junit.Framework包中包含了JUnit测试类所需要的所有基类,实际上这个包也是整个JUn....

  使用Fitbit OS 5.0,智能手表上的导航将大不相同。现在,从左向右滑动即可将用户带回到上一页....

  实现跟踪雷达系统中各子系统之间的实时通讯,重点是信号处理子系统中信号处理板和网络间的实时通讯。在实时....

  通过分析信息家电、家用电脑、家居网络的现状与未来发展趋向,提出Home.Net模型/架构体系,并从硬....

  AT91RM9200是Atrnel公司生产的一款工业级ARM9处理器,内嵌ARM920T ARM T....

  基于FPGA器件EP20K200E芯片的配置方式在嵌入式系统中的应用研究

  介绍一种在嵌放式系统中使用微处理器被动串行配置方式实现对FPGA配置的方案,将系统程序及配置文件存在....

  本文介绍了电工电子技术在现代汽车工业中的应用。电工电子技术是一种工程理论与技术体系, 是随着电工电子....

  现在,许多IT创新都源于虚拟机(VM)以及软硬件的分离,比如云计算,边缘计算和微服务等领先技术概念都....

  但是,最重要的是,新的v.14通过两个选项扩展了操作系统,这有可能从根本上改变您与操作系统交互的方式....

  如果您的朋友使用了智能手机,并且担心他们会偷偷摸摸,那么您实际上可以选择在iOS 14中隐藏照片。如....

  你是不是也是吐槽Windows 10的一员,吐槽系统不够稳定,小问题不少呢?

  在深圳嵌入式电子展中,我们看到了纳芯微、芯旺微、航顺芯片以及笙泉等多家企业,很多亮点值得一看。 随着....

  在个人计算机类别中,苹果获得了82分的慷慨解囊,仅比上一年下降了1分。毫无疑问,第二名是来自首尔的竞....

  随着近年来嵌入式技术的发展,嵌入式产品的应用越来越广泛,但是嵌入式产品开发需要很大投入,要搭建各种软....

  VxWorks是目前占垄断地位的实时操作系统,在许多领域获得广泛应用,但其产品映象设计却一直是令设计....

  目前,μC/0S-II已经被成功移植到多种微处理器 上,其中也包括TMS320VC33。在μC/0S....

  基于Intel R Xscale PXA250/210处理器实现手持式媒体控制系统的设计

  在一个大型会议系统或多媒体电教室系统中往往通过中央控制系统,实现整个系统的集中控制。点击LCD触摸屏....

  利用现代服务器的强大功能,在制造业、医疗保健业或物流业所在地扩充公司业务的运营系统,可以实现各种业务....

  前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。....

  写入FRAM的零时钟周期延迟 一个典型的EEPROM需要5毫秒的写周期时间,以将其页面数据转移到非易失性EEPROM内...

  (1)为什么两条MoveL指令语句,使用相同的速度数据,走同样距离的轨迹,所花的时间却不相同呢?

  随着智能互联汽车带来的巨大的数据流量处理,汽车电子电气架构正在从分布式演变为域控制和中央计算控制,而....

  【HarmonyOS HiSpark AI Camera】开箱直播+LINUX系统编译环境搭建+WINDOWS系统开发环境+系统烧录+DEMO测试+开源扩展

  今天刚收到【HarmonyOS HiSpark AI Camera】,开帖测试。先起个头,晚上正式开箱。 ...

  数字滤波器数字滤波器从实现结构上划分,有FIR和IIR两种。FIR的特点是:线性相位、消耗资源多;IIR的特点是:非线

  这里为大家学习UART收集了几篇相关的文章,希望能够帮助各位学习串行通信。 在世界范围内,几乎没有电气工程师和电子爱好...

  以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅...

  新基建 是服务于国家长远发展和 “ 两个强国 ” 建设战略需求,以技术、产业驱动,具备集约高效、经济适用、智能绿色、安全可...

  TLK7-EVM基于Xilinx Kintex-7系列FPGA的开发板处理器和NOR FLASH

  前言TLK7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA...

  LCD的接口有多种,分类很细。主要看 LCD 的驱动方式和控制方式,目前手机上的彩色 LCD 的连接方式一般有这么几种:MC...

  Xilinx Kintex-7系列FPGA的开发板SATA/PCIe接口

  前言TLK7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA...