当前位置: 首页 > 专利查询>苏州大学专利>正文

一种基于D1-H的RT-THREAD驻留系统技术方案

技术编号:37551183 阅读:7 留言:0更新日期:2023-05-15 07:36
本申请提供一种基于D1

【技术实现步骤摘要】
一种基于D1

H的RT

THREAD驻留系统


[0001]本申请涉及芯片
,尤其涉及一种基于D1

H的RT

THREAD驻留系统。

技术介绍

[0002]在多线程的嵌入式系统开发时常常使用实时多任务操作系统(Real Time Operating System,简称RTOS),但进行RTOS应用程序开发时,仍有诸多问题:(1)不同种类的RTOS体系结构不一致,编程门槛高;(2)嵌入式终端种类繁多,RTOS的移植存在一定的难度,同时当硬件更换或软件迁移时需调整应用程序实现兼容,成本高;(3)RTOS与用户程序绑定,影响编译效率,并且内核程序可能被误改,影响系统稳定和抗干扰能力。若能物理隔离开RTOS的机器码与用户程序,同时又不影响用户程序使用RTOS提供的服务,则可降低编程难度,节省用户程序的编译时间。

技术实现思路

[0003]有鉴于此,本申请的目的在于提出一种基于D1

H的RT

THREAD驻留系统,本申请能够针对性的解决现有的问题。
[0004]基于上述目的,本申请提出了一种基于D1

H的RT

THREAD驻留系统,包括:
[0005]用户模块、BIOS模块,其中BIOS模块包括硬件抽象层、RTOS层、API层,所述RTOS层包括RT

Thread内核。
[0006]进一步地,所述RTOS层还包括线程管理单元、同步与通信单元、时钟管理单元、内存管理单元。
[0007]进一步地,所述硬件抽象层包括驱动构建、软件构件、BootLoader单元。
[0008]进一步地,所述API层包括驱动构件接口、软件构件接口、RTOS服务调用接口。
[0009]进一步地,所述RTOS层使用RISC

V计时器作为时间滴答,上下文切换直接在任务切换函数中实现,不使用软件中断。
[0010]进一步地,所述系统中,将RT

Thread内核提供的服务函数放置于BIOS程序的API表,即数组ComponentFun中,由User程序对所述服务函数重定义,使得User程序可调用RT

Thread黑河提供的服务函数。
[0011]进一步地,在所述User程序中创建Os_Self_API.h头文件,放置重定义后的RT

Thread原型函数和相关数据类型以及结构体;
[0012]在Os_United_API.c中对服务函数二次封装,形成统一的接口并存放于Os_United_API.h中。
[0013]进一步地,所述RT

Thread内核的启动过程包括:
[0014](1)相关资源初始化:首先初始化板级硬件,包括初始化时间滴答和堆空间;其次初始化延时阻塞列表;最后初始化调度器,先初始化线程就绪列表为空,然后初始化当前线程控制块指针为空;
[0015](2)创建主线程和空闲线程:主线程用于创建各种应用线程;空闲线程默认是最低
优先级,当内核无用户线程可执行时将执行空闲线程;
[0016](3)启动调度器:调度器启动时,从线程就绪列表中寻找到优先级最高的线程并投之运行。
[0017]总的来说,本申请的优势及给用户带来的体验在于:能够降低编程门槛、提高应用程序的可移植性和提高编译速度;分析了RT

Thread驻留后的启动流程并以同步与通信为例,设计了驻留测试实验,测试结果证明了RT

Thread驻留的可行性。
附图说明
[0018]在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
[0019]图1示出根据本申请实施例的基于D1

H的RT

THREAD驻留系统的结构示意图。
[0020]图2示出根据本申请实施例的RT

Thread驻留后启动流程图。
[0021]图3示出根据本申请实施例的RT

Thread驻留后的同步与通信功能测试结果图。
[0022]图4示出了本申请一实施例所提供的一种电子设备的结构示意图。
[0023]图5示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
[0024]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。
[0025]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0026]RT

Thread是一款主要由中国开源社区主导开发的开源实时操作系统(v3.1.0以及以前版本遵循GPLv2+许可协议,v3.1.0以后版本遵循Apache License 2.0开源许可协议)。实时线程操作系统不仅仅是一个单一的实时操作系统内核,它也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,libc接口,图形用户界面等。
[0027]本申请以GEC架构为依托,将RT

Thread驻留于D1

H中,即RT

Thread随BIOS程序一同固化于D1

H底层,同时BIOS程序提供统一的服务调用接口给User程序,以屏蔽各类RTOS的不同服务接口,从而降低编程门槛和提高应用程序的可移植性,同时由于RT

Thread驻留于D1

H底层,无需多次编译,而只需编译User程序,从而减少User程序的编译时间。RT

Thread驻留的框图如图1所示,包括:用户User模块、BIOS模块,其中BIOS模块包括硬件抽象层、RTOS层、API层,所述RTOS层包括RT

Thread内核、线程管理单元、同步与通信单元、时钟管理单元、内存管理单元。硬件抽象层包括驱动构建、软件构件、BootLoader。API层包括驱动构件接口、软件构件接口、RTOS服务调用接口。
[0028]1RT

Thread驻留要点分析与实现
[0029]在GEC架构下,RT

Thread可移植至BIOS程序,一同固化于硬件的非易失存储器中。由BIOS程序提供RT

Thread的服务接口,实现系统层和用户层的有效隔离。下面对RT
‑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于D1

H的RT

THREAD驻留系统,其特征在于,包括:用户模块、BIOS模块,其中BIOS模块包括硬件抽象层、RTOS层、API层,所述RTOS层包括RT

Thread内核。2.根据权利要求1所述的系统,其特征在于,所述RTOS层还包括线程管理单元、同步与通信单元、时钟管理单元、内存管理单元。3.根据权利要求1所述的系统,其特征在于,所述硬件抽象层包括驱动构建、软件构件、BootLoader单元。4.根据权利要求1所述的系统,其特征在于,所述API层包括驱动构件接口、软件构件接口、RTOS服务调用接口。5.根据权利要求1所述的系统,其特征在于,所述RTOS层使用RISC

V计时器作为时间滴答,上下文切换直接在任务切换函数中实现,不使用软件中断。6.根据权利要求1

5任一项所述的系统,其特征在于,所述系统中,将RT

Thread内核提供的服务函数放置于BIOS程序的API表,即数组ComponentFun中,由User程序对所述服务函数重定义,使得User程序可调用RT

Thread黑河提供的服务函数。7.根据权利要求...

【专利技术属性】
技术研发人员:李志嫒王宜怀王旭昊孟雪徐佳蕊张露刘肖李春亭
申请(专利权)人:苏州大学
类型:发明
国别省市:

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

1