CN204302959U - 一种硬件实时操作系统 - Google Patents

一种硬件实时操作系统 Download PDF

Info

Publication number
CN204302959U
CN204302959U CN201420646722.XU CN201420646722U CN204302959U CN 204302959 U CN204302959 U CN 204302959U CN 201420646722 U CN201420646722 U CN 201420646722U CN 204302959 U CN204302959 U CN 204302959U
Authority
CN
China
Prior art keywords
task
arm processor
time
fpga
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201420646722.XU
Other languages
English (en)
Inventor
黄强
白永斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN201420646722.XU priority Critical patent/CN204302959U/zh
Application granted granted Critical
Publication of CN204302959U publication Critical patent/CN204302959U/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本实用新型公开了一种硬件实时操作系统,该硬件实时操作系统包括:通过FSMC总线连接的ARM处理器和FPGA,其中,所述FPGA,用于实现抢占式调度器及基于所述抢占式调度器的任务管理和信号量、邮箱、消息队列、互斥信号量、事件标志组的管理;所述ARM处理器,用于执行任务以及实现任务的切换。实施本实用新型的技术方案,由于FPGA独立于ARM处理器运行,不占用ARM处理器的处理时间,所节省的时间用于执行任务程序,成功降低ARM处理器的系统开销,特别是在需要任务快速切换的应用中,有效提供ARM处理器的利用率。因此,该硬件实现的操作系统提高了任务集合的可调度性和实时性。

Description

一种硬件实时操作系统
技术领域
本实用新型涉及操作系统领域,尤其是涉及一种硬件实时操作系统。
背景技术
嵌入式操作系统在目前的嵌入式应用中越来越广泛,尤其在功能复杂,系统庞大的应用中显的愈来愈重要。首先,嵌入式操作系统提高了系统的可靠性;其次,嵌入式实时操作系统提高了开发效率,缩短了开发周期。
对于实时性要求较高的场合,目前,基于软件实现的RTOS(Real-timeoperating system,实时操作系统)单纯依靠改进算法已不能使其实时性有更大的提高,通过提高处理器的速度亦达不到理想的效果,因为处理器的速度已经达到了一定的高度。
实用新型内容
本实用新型要解决的技术问题在于,针对现有技术的上述基于软件实现的RTOS实时性不高的缺陷,提供一种实时性高的硬件实时操作系统。
本实用新型解决其技术问题所采用的技术方案是:构造一种硬件实时操作系统,包括:
所述用于实现抢占式调度器及基于所述抢占式调度器的任务管理和信号量、邮箱、消息队列、互斥信号量、事件标志组的管理的FPGA;及
与所述FPGA通过FSMC总线连接,且用于执行任务以及实现任务的切换的ARM处理器。
在本实用新型所述的硬件实时操作系统,其特征在于,所述FPGA包括:
分别与任务管理、信号量、邮箱、消息队列、互斥信号量、事件标志组对应的多个寄存器;
用于从所述ARM处理器接收初始化数据或向所述ARM处理器发送最高优先级任务的ID号的FSMC控制器;
用于在初始化后,分别在信号量、邮箱、消息队列、互斥信号量、事件标志组等待列表中查找最高优先级任务的ID号的优先编码器;
连接于所述FSMC控制器、优先编码器及多个寄存器,且用于将所接收的初始化数据分别分配给相应的寄存器和优先编码器,以对寄存器进行配置和对优先编码器进行初始化;还用于将优先编码器所查找到的最高优先级任务的ID号发送至所述FSMC控制器的协处理器;
连接于所述优先编码器,且用于为所述优先编码器提供时钟节拍的定时器。实用新型实用新型实用新型实用新型实用新型实用新型实用新型。
实施本实用新型的技术方案,由于硬件电路(FPGA)独立于ARM处理器运行,不占用ARM处理器的处理时间,所节省的时间用于执行任务程序,成功降低ARM处理器的系统开销,特别是在需要任务快速切换的应用中,有效提供ARM处理器的利用率。因此,该硬件实现的操作系统提高了任务集合的可调度性和实时性,进而,可成功运行UCGUI(嵌入式应用中的图形支持系统)的多任务,从这点可以说明,用这个硬件实时操作系统可以代替传统的小型嵌入式实时系统。
附图说明
下面将结合附图及实施例对本实用新型作进一步说明,附图中:
图1是本实用新型硬件实时操作系统实施例一的逻辑图;
图2是本实用新型硬件实时操作系统中FPGA实施例一的逻辑图。
具体实施方式
图1是本实用新型硬件实时操作系统实施例一的逻辑图,该硬件实时操作系统包括通过FSMC(Flexible static memory controller,可变静态存储控制器)总线连接的ARM处理器10和FPGA20,其中,FPGA20用于实现抢占式调度器及基于所述抢占式调度器的任务管理和信号量、邮箱、消息队列、互斥信号量、事件标志组的管理;ARM处理器10用于执行任务以及实现任务的切换。
而且,在该实施例中,ARM处理器10采用ST公司型号为STM32F103VET6的处理器,FPGA20采用Altera公司型号为EP4CE6E22C8的FPGA。FSMC支持多种存储器的连接,比如SRAM、NAND Flash、NOR Flash和PSRAM,这里和FPGA的通信采用类似SRAM的通讯时序。
结合型号为STM32F103VET6的ARM处理器10手册中读操作的时序图,FPGA20端在片选信号(CS FSMC-NEx)是低电平,读信号(RD FSMC-NOE)也是低电平的情况下完成对FPGA20中数据的读操作,下面的程序就是按照这种方法设计的。
FPGA读操作程序设计
结合型号为STM32F103VET6的ARM处理器10手册中写操作的时序图,FPGA20端在片选信号(CS FSMC-NEx)是低电平,写信号(WR FSMC-NWE)也是低电平的情况下完成对FPGA中数据的读操作,下面的程序就是按照这种方法设计的。
FPGA写操作程序设计
由于连接中数据总线(DataBus FSMC-D)有16根,地址总线(AddressBusFSMC-A)只有3根,这样只能访问FPGA20中8个16位的数据空间,为了访问更多的数据空间,这里采用类似串行通信的方法,设置每个ID号可以访问8个16位的数据空间。另外,时钟节拍是由FPGA20产生,每毫秒产生一次,ARM处理器10接收到FPGA10发出的外部中断请求(Task IRQ)后,从外部中断服务程序中读取当前需要执行的最高优先级任务。
举例说明:下面的操作方法可以完成对HW_ID=0的时候,8个16存储空间的数据写操作:
HW_ID=0;
HW_DELAY=111;
HW_PERIOD=0;
HW_GPT=144;
HW_AOT=155;
HW_BACKUP=166;
HW_OVERRUN=177;
HW_CONTROL=1;
下面的操作方法可以完成对HW_ID=0的时候,8个16存储空间的数据写操作:
HW_ID=0;
Data=HW_ID;
Data=HW_DELAY;
Data=HW_PERIOD;
Data=HW_GPT;
Data=HW_AOT;
Data=HW_BACKUP;
Data=HW_OVERRUN;
Data=HW_CONTROL。
图2是本实用新型硬件实时操作系统中FPGA实施例一的逻辑图,该FPGA20包括FSMC控制器21、协处理器22、优先编码器23、定时器24和多个寄存器。在该实施例中,每个任务管理(Task Manager)、信号量(Semaphore)、邮箱(Mailboxes)、消息队列(Message queue)、互斥信号量(Mutex)、事件标志组(Event flags)均对应8个寄存器。该硬件实时操作系统可支持创建8个任务、8个信号量、8个消息邮箱、8个消息队列、8个互斥信号量、8个事件标志组。如果要想支持更多的组件和任务,只需在FPGA上做扩展即可。另外,FSMC控制器21用于从ARM处理器接收初始化数据或向ARM处理器发送最高优先级任务的ID号。协处理器22用于将所接收的初始化数据分别分配给相应的寄存器和优先编码器,以对寄存器进行配置和对优先编码器23进行初始化,还用于将优先编码器23所查找到的最高优先级任务的ID号发送至FSMC控制器。优先编码器23用于在初始化后,分别在信号量、邮箱、消息队列、互斥信号量、事件标志组等待列表中查找最高优先级任务的ID号。定时器24用于为优先编码器23提供时钟节拍。
下面详细说明每个部分的实现:
(1)抢占式调度器
实现抢占式调度器要抓住三个关键点:第一、当一个任务提交信号量,发送消息给一个高优先级的任务,当前的任务就会被停止,去执行高优先级的任务。第二、每个时钟节拍中断,如果有高优先级的任务就绪,高优先级任务会抢占低优先级的任务。第三、当ISR(Interrupt Service Routines,中断服务程序)提交信号量或发送消息给一个更高优先级的任务,中断返回的时候,不会返回到当前任务,而是返回到高优先级任务。
关于FPGA,其实现抢占式调度器的一个核心工作就是如何快速的从任务就绪列表里面查找需要执行的最高优先级任务,这里采用优先级编码器来实现,方法下所示:
这里要特别注意一点,空闲任务是永远就绪的,没有其他任务执行的时候,就执行空闲任务,空闲任务是最低优先级。
关于ARM处理器,其只需做好以下两点:1)任务级任务切换,这里主要是实现高优先级向低优先级的任务切换;2)中断级任务切换,在中断退出的时候判断是否有更高优先级的任务就绪如果有更高优先级的任务就绪,就切换到高优先级任务。
(2)任务管理
任务管理部分主要实现任务的延时时间设置、任务挂起、任务恢复三个功能。每个任务有8个可以配置使用的寄存器,其中,
Task_REG1保留
Task_REG2任务延迟时间设置
            =0表示将任务加入到就绪列表
            =0xffff表示将任务从就绪列表删除
            =其它表示要设置的任务延迟时间
Task_REG3任务的ID号,0-7用于八个任务的ID,读取该寄存器可以得到当前就绪的最高优先级任务
Task_REG4  保留
Task_REG5  保留
Task_REG6  保留
Task_REG7  保留
Task_REG8  启动任务执行
          =1启动任务的执行
          =其它禁止此任务
HW_REG3读取该寄存器可以得到当前需要执行的最高优先级任务。
关于FPGA,其通过设置Task_REG8=1将启动该任务,这里每个任务在FPGA上的实现,都是一个单独的进程,这样的话有助于充分发挥硬件实时系统的性能,而不是将所有的任务放到一个进程里面实现。
always(posedge clk)
begin
任务一;
任务二;
End
always(posedge clk)begin
任务一;
end
always(posedge clk)begin
任务二;
end
关于ARM处理器,其只需简单的设置寄存器,就可完成对任务的设置。配置了任务寄存器以后,FPGA上相应的任务管理就会按照配置方式执行,ARM端读取HW_REG3寄存器就得到当前需要执行的最高优先级任务。
●设置任务的延迟时间
Task_REG3=0;//设置任务0
Task_REG3=100;//设置任务延迟时间
●任务挂起,也就是将任务从就绪列表删除
Task_REG3=0;//设置任务0
Task_REG3=0xffff;//将任务挂起
●任务恢复,
Task_REG3=0;//设置任务0
Task_REG3=0;//任务恢复
(3)信号量
信号量是为了给共享资源建立一个标志,该标志表示该信号量共享资源的占用情况。硬件实时系统支持创建8个信号量,每个信号量有8个寄存器,寄存器描述如下:
Sem_REG1  保留
Sem_REG2  保留
Sem_REG3  信号量ID号
          8-15表示可以创建的信号量
Sem_REG4  等待信号量事件列表
写入此寄存器,将任务加入到此信号量等待列表
读出该寄存器,读取此等待列表最高优先级的任务
Sem_REG5  信号量计数,表示可用的资源数
Sem_REG6  保留
Sem_REG7  保留
Sem_REG8  保留
关于FPGA,其在信号量的实现中,硬件实时系统除了提供信号量所需的调度功能以外,还提供信号量等待列表中最高优先级任务的查找,这里的方法和查找任务等待列表里面最高优先级是一样的,也是采用优先级编码器实现,ARM端读取寄存器Sem_REG4得到等待列表中需要执行的最高优先级任务。
关于ARM处理器,其主要提供以下三个函数:
voidOSSemCreate(uint16_t ucSemID,uint16_t uiSemCnt);
此函数用于初始化信号量
uiSemCnt=0  可将信号量用于任务的同步
uiSemCnt>0  表示可用的资源数
voidOSSemPend(uint16_t ucSemID,uint16_t ucSemTime,uint16_tucPendTaskID);
此函数用于请求信号量
ucSemTime=0xffff  表示将此任务挂起,直到有可用的资源
ucSemTime>0  表示将此任务挂起的时间
voidOSSemPost(uint16_t ucSemID);
此函数用于释放信号量
(4).消息邮箱
消息邮箱主要用于两个任务间消息的传递。硬件实时系统支持创建8个消息邮箱,每个消息邮箱有8个寄存器,寄存器描述如下:
Mbox_REG1  保留
Mbox_REG2  保留
Mbox_REG3  消息邮箱ID号
           16-23  表示可以创建的信号量
Mbox_REG4  保留
Mbox_REG5  保留
Mbox_REG6  保留
Mbox_REG7  等待消息邮箱事件列表
写入此寄存器,将任务加入到消息邮箱等待列表
读出该寄存器,读取等待列表中最高优先级的任务
Mbox_REG8  保留
关于FPGA,其在消息邮箱的实现中,硬件实时系统除了提供消息邮箱所需的调度功能以外,还提供消息邮箱等待列表中最高优先级任务的查找,这里的方法和查找任务等待列表里面最高优先级是一样的,也是采用优先级编码器实现,ARM端读取寄存器Mbox_REG7得到等待列表中需要执行的最高优先级任务。
关于ARM处理器,其主要提供以下三个函数:
void OSMboxCreate(uint16_t ucMboxID);
此函数用于创建消息邮箱
void*OSMboxPend(uint16_t uiMboxID,uint16_t uiMboxTime,uint16_tuiPendTaskID);
此函数用于请求消息邮箱
uiMboxTime=0xffff  表示将此任务挂起,直到有可用的消息
uiMboxTime>0  表示将此任务挂起的时间
OSMboxPost(uint16_t uiMboxID,void*Pmsg);
此函数用于发送消息。
(5).消息队列
消息队列的实现方法类似于消息邮箱,只不过对于消息队列需要做一个环形队列,用于消息的FIFO或LIFO,这里的环形队列没有在FPGA上实现,用软件实现更加灵活一些,硬件实时系统支持创建8个消息队列,每个消息队列有8个寄存器,寄存器描述如下:
Q_REG1  保留
Q_REG2  保留
Q_REG3  消息队列ID号
           24-31  表示可以创建的信号量
Q_REG4  保留
Q_REG5  保留
Q_REG6  等待消息队列事件列表
写入此寄存器,将任务加入到消息队列等待列表
读出该寄存器,读取等待列表中最高优先级的任务
Q_REG7  保留
Q_REG8  保留。
关于FPGA,其在消息队列的实现中,除了提供消息队列所需的调度功能以外,还提供消息队列等待列表中最高优先级任务的查找,这里的方法和查找任务等待列表里面最高优先级是一样的,也是采用优先级编码器实现,ARM端读取寄存器Q_REG6得到等待列表中需要执行的最高优先级任务。
关于ARM处理器,其主要提供以下三个函数:
voidOSQCreate(void**start,uint16_t uiSize,uint16_t uiQueueID);
此函数用于创建消息队列
void*OSQPend(uint16_t uiQID,uint16_t uiQTime,uint16_tuiPendTaskID);
此函数用于请求消息队列
uiQTime=0xffff  表示将此任务挂起,直到有可用的消息
uiQTime>0  表示将此任务挂起的时间
uint8_tOSQPost(uint16_t uiQID,void*Pmsg);
此函数用于发送消息。
(6).事件标志组
在实际的应用中,任务常常需要根据多个信号量的组合作用的结果来决定任务的运行方式,为此提供了事件标志组。硬件实时系统支持创建8个事件标志组,每个事件标志组有8个寄存器,寄存器描述如下:
Flag_REG1  等待事件标志组列表
写入此寄存器,将任务加入到事件标志组等待列表
读出该寄存器,读取等待列表中最高优先级的任务
Flag_REG2  保留
Flag_REG3  事件标志组ID号
           32-39表示可以创建的事件标志组
Flag_REG4  保留
Flag_REG5  保留
Flag_REG6  保留
Flag_REG7  保留
Flag_REG8  保留。
关于FPGA,其在事件标志组的实现中,除了提供事件标志组所需的调度功能以外,还提供事件标志组等待列表中最高优先级任务的查找,这里的方法和查找任务等待列表里面最高优先级是一样的,也是采用优先级编码器实现,ARM端读取寄存器Flag_REG1得到等待列表中需要执行的最高优先级任务。
关于ARM处理器,其主要提供以下三个函数:
voidOSFlagCreate(uint16_t ucFlagID);
此函数用于初始化事件标志组
voidOSFlagPend(uint16_t uiFlagID,uint16_t uiFlagTime,uint16_tuiPendTaskID,uint16_t uiFlag);
此函数用于请求事件标志
uiFlagID  表示期望得到的标志
uiFlagTime=0xffff  表示将此任务挂起,直到有可用的资源
uiFlagTime>0  表示将此任务挂起的时间
voidOSFlagPost(uint16_t uiFlagID,uint16_t uiFlag);
此函数用于发送事件标志。
uiFlagID表示要发送的事件标志
(7).互斥信号量
由于采用二值信号量容易造成优先级翻转的问题,而采用互斥信号量以后就可以实现任务以独占的方式使用共享资源。硬件上的实现机制是这样的,当低优先级的任务占有互斥信号量的话,恰好此时高优先级的任务要是使用这个资源,那么硬件实时系统会提升低优先级任务的优先级,防止发生优先级翻转,硬件实时系统支持创建8个互斥信号量,每个互斥信号量有8个寄存器,寄存器描述如下:
Mutex_REG1  保留
Mutex_REG2  保留
Mutex_REG3  互斥信号量ID号
            40-47表示可以创建的互斥信号量
Mutex_REG4
Mutex_REG5  保留
Mutex_REG6  保留
Mutex_REG7  保留
Mutex_REG8  等待互斥信号量事件列表
写入此寄存器,将任务加入到互斥信号量等待列表
读出该寄存器,读取等待列表中最高优先级的任务。
关于FPGA,其在互斥信号量的实现中,除了提供互斥信号量所需的调度功能以外,还提供互斥信号量等待列表中最高优先级任务的查找,这里的方法和查找任务等待列表里面最高优先级是一样的,也是采用优先级编码器实现,ARM端读取寄存器Mutex_REG8得到等待列表中需要执行的最高优先级任务。
关于ARM处理器,其主要提供以下三个函数:
voidOSMutexCreate(uint16_t uiMutexID,uint8_t uNewPrioty);
此函数用于初始化互斥信号量
voidOSMutexPend(uint16_t uiMutexID,uint16_t uiMutexTime,uint16_tucPendTaskID);
此函数用于请求信号量
uiMutexTime=0xffff  表示将此任务挂起,直到有可用的资源
uiMutexTime>0  表示将此任务挂起的时间
voidOSMutexPost(uint16_t uiMutexID);
此函数用于释放信号量。
通过实施以上技术方案,由于硬件电路(FPGA)独立于ARM处理器运行,不占用ARM处理器的处理时间,所节省的时间用于执行任务程序,成功降低ARM处理器的系统开销,从而提供实时操作系统任务的可调度性,特别是在需要任务快速切换的应用中,有效提供ARM处理器的利用率。因此,该硬件实现的操作系统提高了任务集合的可调度性和实时性,进而,可成功运行UCGUI(嵌入式应用中的图形支持系统)的多任务,从这点可以说明用这个硬件实时操作系统可以代替传统的小型嵌入式实时系统。
另外,关于硬件实时操作系统初始化和配置,还需说明的是,在开始多任务以前配置好每个任务的优先级和堆栈空间并配置好启动任务开始执行。而且,在启动任务中初始化任务以及信号量、邮箱、消息队列、互斥信号量、事件标志组,分别如下:
任务寄存器初始化方法
Task_REG1=0;
Task_REG2=111;
Task_REG3=0;
Task_REG4=144;
Task_REG5=155;
Task_REG6=166;
Task_REG7=177;
Task_REG8=1;
信号量寄存器初始化
Sem_REG1=ucSemID;
Sem_REG2=111;
Sem_REG3=0;
Sem_REG4=144;
Sem_REG5=ucSemCnt;
Sem_REG6=166;
Sem_REG7=177;
Sem_REG8=1;
邮箱寄存器初始化
Mbox_REG1=ucMboxID;
Mbox_REG2=111;
Mbox_REG3=0;
Mbox_REG4=144;
Mbox_REG5=155;
Mbox_REG6=166;
Mbox_REG7=177;
Mbox_REG8=1;
消息队列寄存器初始化
Q_REG1=ucQID;
Q_REG2=111;
Q_REG3=0;
Q_REG4=144;
Q_REG5=155;
Q_REG6=166;
Q_REG7=177;
Q_REG8=1;
互斥信号量寄存器初始化
Mutex_REG1=ucMutexID;
Mutex_REG2=111;
Mutex_REG3=0;
Mutex_REG4=144;
Mutex_REG5=155;
Mutex_REG6=166;
Mutex_REG7=177;
Mutex_REG8=1;
事件标志组寄存器初始化
Flag_REG1=ucFlagID;
Flag_REG2=111;
Flag_REG3=0;
Flag_REG4=144;
Flag_REG5=155;
Flag_REG6=166;
Flag_REG7=177;
Flag_REG8=1;
此外,关于任务程序设计,还需说明的是,任务的程序设计和普通的小型嵌入式实时操作系统是一样的,需要设计成死循环,在合适的地方加入任务的切换,防止阻塞低优先级任务的执行。
中断级的任务切换在Cortex-M3内核上和任务级的任务切换函数是一样的。
关于任务间同步及通信程序设计,还需说明的是,任务间的同步及通信机制在使用上普通的小型嵌入式实时操作系统也是一样的,以信号量为例。
OSSemCreate(8,1);//创建二值信号量
OS_SemPend(SemID,0xffff,Task_ID);
//添加用户程序
OS_SemPost(SemID)
以上所述仅为本实用新型的优选实施例而已,并不用于限制本实用新型,对于本领域的技术人员来说,本实用新型可以有各种更改、组合和变化。凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的权利要求范围之内。

Claims (1)

1.一种硬件实时操作系统,其特征在于,包括:
FPGA;及
与所述FPGA通过FSMC总线连接的ARM处理器;
而且,所述FPGA包括:
多个寄存器;
连接于所述ARM处理器的FSMC控制器;
优先编码器;
连接于所述FSMC控制器、优先编码器及多个寄存器的协处理器;
连接于所述优先编码器的定时器。
CN201420646722.XU 2014-10-30 2014-10-30 一种硬件实时操作系统 Expired - Fee Related CN204302959U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201420646722.XU CN204302959U (zh) 2014-10-30 2014-10-30 一种硬件实时操作系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201420646722.XU CN204302959U (zh) 2014-10-30 2014-10-30 一种硬件实时操作系统

Publications (1)

Publication Number Publication Date
CN204302959U true CN204302959U (zh) 2015-04-29

Family

ID=53108486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201420646722.XU Expired - Fee Related CN204302959U (zh) 2014-10-30 2014-10-30 一种硬件实时操作系统

Country Status (1)

Country Link
CN (1) CN204302959U (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062234A (zh) * 2017-12-07 2018-05-22 郑州云海信息技术有限公司 一种通过mailbox协议实现服务器主机访问BMC FLASH的系统及方法
CN108268214A (zh) * 2017-12-15 2018-07-10 中国航空工业集团公司西安飞行自动控制研究所 一种多线程快速周期串行外设操作非易失存储器的方法
CN114174768A (zh) * 2019-05-31 2022-03-11 兰迪斯+盖尔创新有限公司 以耦合到应用处理器的计量处理器为特征的多处理器公用服务计量表

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062234A (zh) * 2017-12-07 2018-05-22 郑州云海信息技术有限公司 一种通过mailbox协议实现服务器主机访问BMC FLASH的系统及方法
CN108062234B (zh) * 2017-12-07 2021-07-27 郑州云海信息技术有限公司 一种通过mailbox协议实现服务器主机访问BMC FLASH的系统及方法
CN108268214A (zh) * 2017-12-15 2018-07-10 中国航空工业集团公司西安飞行自动控制研究所 一种多线程快速周期串行外设操作非易失存储器的方法
CN108268214B (zh) * 2017-12-15 2021-04-20 中国航空工业集团公司西安飞行自动控制研究所 一种多线程快速周期串行外设操作非易失存储器的方法
CN114174768A (zh) * 2019-05-31 2022-03-11 兰迪斯+盖尔创新有限公司 以耦合到应用处理器的计量处理器为特征的多处理器公用服务计量表
CN114174768B (zh) * 2019-05-31 2023-01-10 兰迪斯+盖尔创新有限公司 以耦合到应用处理器的计量处理器为特征的多处理器公用服务计量表

Similar Documents

Publication Publication Date Title
CN103412755A (zh) 一种硬件实时操作系统
US10642641B2 (en) Method, apparatus, and system for creating virtual machine, control device, and storage medium
US7925869B2 (en) Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching
US9779042B2 (en) Resource management in a multicore architecture
US8584126B2 (en) Systems and methods for enabling threads to lock a stage prior to processing data
CN103942178A (zh) 多核处理器上实时操作系统与非实时操作系统之间的通信方法
WO2007112635A1 (fr) Système d'exploitation intégré pour carte à puce et procédé de traitement de tâche
WO2017070900A1 (zh) 多核数字信号处理系统中处理任务的方法和装置
JP2011103132A (ja) Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構
WO2005096143A1 (en) Resource management in a multicore architecture
CN107203428B (zh) 一种基于Xen的VCPU多核实时调度算法
WO2014110702A1 (zh) 协同并发式消息总线、主动构件组装模型及构件拆分方法
CN204302959U (zh) 一种硬件实时操作系统
WO2023246044A1 (zh) 调度方法及装置、芯片、电子设备及存储介质
WO2021022964A1 (zh) 一种基于多核系统的任务处理方法、装置及计算机可读存储介质
US20210055948A1 (en) Fast thread execution transition
CN108958903B (zh) 嵌入式多核中央处理器任务调度方法与装置
CN101976206B (zh) 一种中断处理方法和装置
Qaralleh et al. HcM-FreeRTOS: hardware-centric FreeRTOS for ARM multicore
US9619277B2 (en) Computer with plurality of processors sharing process queue, and process dispatch processing method
CN108958905B (zh) 嵌入式多核中央处理器的轻量级操作系统
CN111209079A (zh) 一种基于鲲鹏处理器的调度方法、装置及介质
WO2014110701A1 (zh) 独立主动构件和可运行主动构件组装模型及构件拆分方法
US9921891B1 (en) Low latency interconnect integrated event handling
Chandane Real time operating systems: a complete overview

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150429

Termination date: 20151030

EXPY Termination of patent right or utility model