一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法技术方案

技术编号:24330664 阅读:51 留言:0更新日期:2020-05-29 19:29
本发明专利技术公开了一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法。该方法首先将Linux操作系统移植到SPARC处理器,然后对Linux调度方式进行改进,在诸多任务请求处理情况下,采用任务按优先级可抢占、同优先级时间片轮转调度的方法进行多任务内核调度,对应用层的多个任务有序处理,进而实现了嵌入式操作系统多任务调度的目的。本发明专利技术利用多任务处理机制实现了多个任务对设备实时而有序处理,满足了嵌入式操作系统软件的高可实时性要求。

【技术实现步骤摘要】
一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法
本专利技术属于操作系统
,尤其涉及一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法。
技术介绍
SPARC是一种精简指令集体系结构,最初由美国的SUN公司提出,之后成为开源的处理器指令集体系结构。目前,采用第八版SPARC指令集体系结构(SPARCV8)标准的处理器在航天、航空、工业控制等嵌入式领域广泛应用。随着SPARC处理器处理任务的增多,使应用场景变得更加复杂。应用系统大多是多任务、实时系统,其中涉及大量的外部设备,并且这些外部设备往往需要协同、并行工作,对系统的设计和实时性有较高的要求。在这样的复杂多任务的情况下,为了保证每个任务都能及时获得适当的SPARC处理器资源,执行该任务完成相应的功能,内核必须给出一种策略,对所有的任务进行适当排序,即任务调度。任务调度主要完成两个功能:确定被执行的任务、确定任务占用SPARC处理器资源时间。普通系统和实时系统采用不同的调度算法,不同的调度算法决定了系统的实时性能。传统嵌入式Linux操作系统实时性不高,是因为所采用的调度算法多为分时调度算法,如先来先服务算法等,并且调度算法中没有任务间的抢占因而不能保证系统对高优先级任务的及时响应。为了解决传统嵌入式Linux操作系统任务调度的弊端、提高任务处理的实时性,必须设计一种面向多任务处理的嵌入式SPARC处理器操作系统,正确有序访问多任务资源,保证任务的执行顺序,从而保障嵌入式系统的稳定运行,提高应用程序的运行效率。
技术实现思路
本专利技术解决的技术问题是:提出一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,解决多任务调度分配和实时处理问题。本专利技术的技术解决方案是:一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,包括如下步骤:(1)利用SPARC在Linux平台上的交叉编译工具链,使用sparc-linux-gcc在PC机上建立交叉编译环境,设置环境变量;(2)在交叉编译环境中编写引导程序U-boot,同时安装设备树工具DTC,将dts设备树源文件编译成DTB,用于在程序之间交换数据;(3)在交叉编译环境中配置和构建Linux内核;在内核配置makemenuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文件中,在内核编译时,主Makefile调用这个.config,就完成了内核的配置和构建;修改内核源码,添加多任务处理机制,所述多任务处理机制采用任务按优先级可抢占与同优先级时间片轮转调度结合的方式实现,以保证调度的高效性和任务处理的实时性;(4)在交叉编译环境中制作根文件系统;(5)生成uImage镜像;(6)步骤(1)-(5)完成后,使用loadb/loadx指令将uImage镜像加载到内存中,之后,bootm指令解析uImage镜像文件,获得入口地址,设置启动参数和MMU,从Linux入口点引导进入Linux内核,实现面向嵌入式SPARC处理器的操作系统多任务处理。交叉编译工具链包括binutils、gcc和glibc三个部分。U-boot是在操作系统起始的时候运行的一段程序,其中包括硬件设备的初试化、内存空间的映射图建立,为调用内核准备好正确的环境。文件系统由文件管理软件、数据结构和被管理的数据这三部分组成,用户对系统进行的数据存取、修改操作都是通过文件系统进行的。多任务处理机制中,将任务按照优先级划分队列,每个队列对应一个优先级,优先级高的队列先执行,优先级相同的队列里,各任务采取时间片轮转算法执行。多任务处理机制中,采用优先级继承和优先级置顶机制进行任务间通信,确保最坏情况下任务等待调度的时间可控;优先级继承是指拥有互斥信号量的任务被提升到与下一个在等待该互斥信号量的最高优先级任务相同的优先级,减少优先级翻转的风险;优先级置顶是指将获得互斥信号量的任务优先级提升到一个事先规定好的值。本专利技术与现有技术相比的优点在于:1、本专利技术通过U-boot、内核和根文件系统这三大主要模块,构建基于SPARC处理器的嵌入式Linux操作系统,系统可移植性强,满足通用性的要求,能够经过少量配置后移植到相同体系结构的其他处理器使用。在此基础上,引入多任务处理机制,实现了面向多任务实时处理的操作系统。2、本专利技术采取多任务处理机制使得任务调度和资源分配更加合理,能够正确有序访问多任务资源,保证任务的执行顺序,资源利用率较高,多任务处理机制提高了SPARC处理器开发效率和应用程序的运行效率,保证系统对多个外部设备的及时响应,从而保障嵌入式系统的稳定运行。3、本专利技术采取多任务处理机制作为一种多任务、并发的工作方式,能实现多任务多设备实时处理,通过采用优先级继承和优先级置顶的通信机制保持任务间同步,确保最坏情况下任务等待调度的时间可控。附图说明图1是本专利技术多任务处理操作系统整体架构示意图;图2是本专利技术任务状态转换图示意图;图3是本专利技术多任务系统的实现流程图;图4是任务管理机制图。具体实施方式为使本专利技术的目的、技术方案和优点更加清晰,下面将结合附图对本专利技术的实施方式作进一步详细描述。如图1所示,为本专利技术一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,它的整体架构分为应用层、控制层、系统层和驱动层。嵌入式SPARC处理器Linux操作系统的实现是将嵌入式Linux操作系统移植到SPARC处理器硬件开发板上,同时操作系统驱动层包含底层硬件驱动,针对应用层多任务请求,控制层采取多任务处理机制负责任务的分配和执行,改进多任务同步与通信的方式,进而实现外部多个设备的实时工作。在本专利技术中,首先搭建的是嵌入式操作系统环境,先使用sparc-linux-gcc在PC机上建立交叉编译环境,在交叉编译环境中编写U-boot、编译Linux内核、制作根文件系统,编写底层硬件驱动,然后移植到SPARC处理器平台,完成Linux嵌入式系统的搭建,最后在控制层引入多任务处理机制进行任务的调度和执行。具体地,本专利技术的一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,包括如下步骤:(1)利用SPARC在Linux平台上的交叉编译工具链,使用sparc-linux-gcc在PC机上建立交叉编译环境,设置环境变量;交叉编译工具链包括binutils(主要包括汇编程序as和链接程序ld)、gcc(为GNU系统提供的C编译器)和glibc三个部分。(2)在交叉编译环境中编写引导程序U-boot,编译设备树工具DTC;U-boot是在操作系统起始的时候运行的一段程序,其中包括硬件设备的初试化、内存空间的映射图建立,为调用内核准备好正确的环境。使用它的目的是保证引导程序和硬件初始化时更加安全可靠,并对硬件进行解析,加快移植的效率。设备树的工具D本文档来自技高网
...

【技术保护点】
1.一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,其特征在于包括如下步骤:/n(1)利用SPARC在Linux平台上的交叉编译工具链,使用sparc-linux-gcc在PC机上建立交叉编译环境,设置环境变量;/n(2)在交叉编译环境中编写引导程序U-boot,同时安装设备树工具DTC,将dts设备树源文件编译成DTB,用于在程序之间交换数据;/n(3)在交叉编译环境中配置和构建Linux内核;/n在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文件中,在内核编译时,主Makefile调用这个.config,就完成了内核的配置和构建;/n修改内核源码,添加多任务处理机制,所述多任务处理机制采用任务按优先级可抢占与同优先级时间片轮转调度结合的方式实现,以保证调度的高效性和任务处理的实时性;/n(4)在交叉编译环境中制作根文件系统;/n(5)生成uImage镜像;/n(6)步骤(1)-(5)完成后,使用loadb/loadx指令将uImage镜像加载到内存中,之后,bootm指令解析uImage镜像文件,获得入口地址,设置启动参数和MMU,从Linux入口点引导进入Linux内核,实现面向嵌入式SPARC处理器的操作系统多任务处理。/n...

【技术特征摘要】
1.一种面向多任务处理的嵌入式SPARC处理器操作系统设计方法,其特征在于包括如下步骤:
(1)利用SPARC在Linux平台上的交叉编译工具链,使用sparc-linux-gcc在PC机上建立交叉编译环境,设置环境变量;
(2)在交叉编译环境中编写引导程序U-boot,同时安装设备树工具DTC,将dts设备树源文件编译成DTB,用于在程序之间交换数据;
(3)在交叉编译环境中配置和构建Linux内核;
在内核配置makemenuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文件中,在内核编译时,主Makefile调用这个.config,就完成了内核的配置和构建;
修改内核源码,添加多任务处理机制,所述多任务处理机制采用任务按优先级可抢占与同优先级时间片轮转调度结合的方式实现,以保证调度的高效性和任务处理的实时性;
(4)在交叉编译环境中制作根文件系统;
(5)生成uImage镜像;
(6)步骤(1)-(5)完成后,使用loadb/loadx指令将uImage镜像加载到内存中,之后,bootm指令解析uImage镜像文件,获得入口地址,设置启动参数和MMU,从Linux入口点引导进入Linux内核,实现面向嵌入式SPARC处理器的操作系统多任务处理。


2.根据权利要求1所述的一种面向多任务处理的嵌入式SPARC处理器操作系统设...

【专利技术属性】
技术研发人员:贾文洋于立新彭和平庄伟王兴凤
申请(专利权)人:北京时代民芯科技有限公司北京微电子技术研究所中国航天时代电子有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1