CN112130929A - 一种兼容裸机工具链多分区嵌入式配置方法及系统 - Google Patents
一种兼容裸机工具链多分区嵌入式配置方法及系统 Download PDFInfo
- Publication number
- CN112130929A CN112130929A CN202011004916.6A CN202011004916A CN112130929A CN 112130929 A CN112130929 A CN 112130929A CN 202011004916 A CN202011004916 A CN 202011004916A CN 112130929 A CN112130929 A CN 112130929A
- Authority
- CN
- China
- Prior art keywords
- partition
- thread
- operating system
- codes
- module
- 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.)
- Pending
Links
- 238000005192 partition Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000006870 function Effects 0.000 claims description 51
- 239000002184 metal Substances 0.000 claims description 28
- 229910052751 metal Inorganic materials 0.000 claims description 28
- 238000011161 development Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229910052745 lead Inorganic materials 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种兼容裸机工具链多分区嵌入式配置方法及系统,通过收集模块读取系统配置生成各个分区本身的代码,生成操作系统启动分区的代码报告给操作系统,创建各个分区和线程从而初始化分区,可以大大增加在微控制器创建多分区应用程序时的工具链的选择范围。绝大多数微控制器厂商仅提供裸机工具链,而这些工具链往往是闭源的。首先,本发明允许在创建多分区系统时使用这些工具链,使得多分区系统能够得到普及。其次,由于各个分区的代码和供微内核启动各个分区的代码是自动生成的,最高优先级的线程会自动得到调用,程序员无需关心具体要在各个分区启动完成后的主函数中调用哪个线程。
Description
技术领域
本公开涉及嵌入式设备领域,具体涉及一种兼容裸机工具链多分区嵌入式配置方法及系统,适用于借助原有的裸机开发环境开发多分区的微控制器嵌入式系统。
背景技术
随着技术的进步,各类嵌入式设备和非嵌入式设备及其组织方法日益复杂,因此出现了多种组织方式。某些嵌入式系统不具备独立的保护域,所有代码均运行在内核态;另一些嵌入式系统具备独立的保护域,运行在不同保护域的代码具备不同的特权级别。此时,我们需要将整个嵌入式系统分成多个分区分开编译运行。然而,对于微控制器而言,虽然每个分区的代码段(code)和只读数据段(rodata)已经被存放于Flash等只读存储器中,其可读写数据段(rwdata)和空数据段(bss)仍然需要在上电时被初始化。而且,如果用户使用C++,上电初始化还必须包括静态全局对象的构造函数。
分区是保护区域,每个保护区域由一组MPU寄存器配置描述,记录了允许被该保护区域访问的存储器。一个保护区域内可以有一个或多个线程。
现有的此类系统的配置方法均采用传统操作系统的方式,令操作系统将可读写数据段和空数据段初始化后再由分区本身在运行时调用构造函数。采用此种方法,需要让操作系统得知可读写数据段在ROM中的存储位置并且完成搬运,以及得知空数据段的位置以及将其清空。然而,不同的工具链具备不同的报告rwdata和bss段的方法,而且不同的架构具备不同的特点使得初始化代码可能各不相同。如果要令操作系统初始化这些段落,那么该分区必须被封装于某种可被操作系统读取的可执行文件格式内。
首先,这无疑复杂化了操作系统本身,因为它现在要具备文件系统功能和二进制格式解析器功能,而这些功能仅在系统启动时使用一次,白白消耗宝贵的ROM和RAM资源。
第二,这还会复杂化对工具链的配置,因为大多数微控制器开发环境提供的工具链都是为裸机开发准备的,并不具备输出通用二进制格式(如elf或者pe格式)的能力。
第三,微控制器的裸机开发工具链中已经具备了对rwdata和bss段的初始化功能,使用此类配置方法时这些功能只能弃置不用。
第四,由于某些微控制器有其特殊性,因此在初始化rwdata和bss段时有时需要一些特殊配置(比如与C或C++运行时库相关的一些初始化程序等),这些特殊配置已经被裸机开发工具链实现,使用此种方法时我们必须在操作系统中再次实现这些配置流程。
发明内容
为了解决上述问题,本公开提供一种兼容裸机工具链多分区嵌入式配置方法及系统,通过收集模块读取系统配置生成各个分区本身的代码,生成操作系统启动分区的代码报告给操作系统,创建各个分区和线程从而初始化分区。
为了实现上述目的,根据本公开的一方面,提供一种兼容裸机工具链多分区嵌入式配置方法,所述方法包括以下步骤:
S100:线程信息收集模块读取系统配置;
S200:代码生成模块生成各个分区本身的代码;
S300:代码生成模块生成微内核操作系统启动分区的代码,并启动所述代码将这些分区的各个线程的主入口点、栈位置和主函数报告给微内核操作系统模块;
S400:微内核操作系统模块在启动时,调用启动各个分区的代码,依次创建各个分区和线程,其中各个分区中优先级最高的线程的入口点地址用其所在分区的主入口点地址替换,其中主入口点指该裸机工具链生成的整个分区的初始化程序的入口点;
S500:由于优先级最高的线程在一个分区中总是最先执行,因此任何一个分区在第一次运行到时必然从主入口点进入,先使用裸机工具链提供的整套流程完成对分区的初始化,然后该流程均会跳转到该分区的主函数,再由主函数调用该分区中优先级最高的线程进入执行,待该线程阻塞后分区初始化完毕,从而保证待其他线程开始执行时,此分区已初始化完毕
其中,裸机工具链包括但不限于ARMCC或IAR工具链,启动后会从ROM提取数据,初始化RAM中的程序可读写段,初始化一个线程的栈,并且最终跳转到用户提供的main函数处在那个栈上执行。
其中,分区是保护区域,每个保护区域由一组MPU寄存器配置描述,记录了允许被该保护区域访问的存储器,一个保护区域内可以有一个或多个线程。
优选地,所述方法是为简单的前后台嵌入式设计(也即只有一个线程,其余都是中断)或者简单的没有保护域的RTOS(比如FreeRTOS)设计的,原本不适用于有保护域的多线程场合。
进一步地,所述方法依赖的嵌入式配置系统包括:线程信息收集模块,代码生成模块和微内核操作系统模块。其中,线程信息收集模块和代码生成模块运行在工程师的本地开发机上,微内核操作系统模块则运行于微控制器上。
进一步地,在步骤1中,所述系统配置包括但不限于各个分区中的线程名称和这些线程的优先级,其中每个分区至少有一个线程。
进一步地,在步骤2中,生成的分区本身的代码包括了分区中各个线程的空函数,以及分区的主函数main;分区的主函数调用分区中优先级最高的线程函数本身。
本发明还提供了一种兼容裸机工具链多分区嵌入式配置系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在嵌入式配置系统的线程信息收集模块,代码生成模块和微内核操作系统模块的各自单元中:
其中,线程信息收集模块,包括以下单元:
系统配置读取单元,用于读取系统配置;
其中,代码生成模块,包括以下单元:
代码生成单元,用于生成各个分区本身的代码;
操作系统启动代码生成单元,用于生成操作系统启动分区的代码,并在这些代码中将各个分区的各个线程的入口点、栈位置和主函数报告给微内核操作系统;
其中,微内核操作系统模块,包括以下单元:
内核服务单元,负责提供微内核操作系统的各项系统调用和微内核操作系统相关基本功能;
分区启动单元,用于调用启动各个分区的代码,依次创建各个分区和线程,其中各个分区中优先级最高的线程的入口点用其所在分区的主入口点替换;
分区单元,含有分区内部的所有线程的空函数,并且内部使用裸机工具链提供的整套流程先完成对分区的初始化,然后再跳转到该分区的主函数,从而调用该分区中优先级最高的线程进入执行。
本公开的有益效果为:本发明提供一种兼容裸机工具链多分区嵌入式配置方法及系统,本公开的技术可以大大增加在微控制器创建多分区应用程序时的工具链的选择范围。绝大多数微控制器厂商仅提供裸机工具链,而这些工具链往往是闭源的。首先,本发明允许在创建多分区系统时使用这些工具链,使得多分区系统能够得到普及。其次,由于本发明的各个分区的代码和供微内核启动各个分区的代码是自动生成的,最高优先级的线程会自动得到调用,程序员无需关心具体要在各个分区启动完成后的主函数中调用哪个线程。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种兼容裸机工具链多分区嵌入式配置方法的流程图;
图2所示为一种兼容裸机工具链多分区嵌入式配置系统结构图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种兼容裸机工具链多分区嵌入式配置方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种兼容裸机工具链多分区嵌入式配置方法。
本公开提出一种兼容裸机工具链多分区嵌入式配置方法,具体包括以下步骤:
(1)工程师将系统配置输入线程信息收集模块。输入的信息包括但不限于各个分区中的线程名称和这些线程的优先级,其中每个分区至少有一个线程。
(2)代码生成模块生成这些分区本身的代码。生成的分区本身的代码包括了分区中各个线程的空函数(待工程师填充),以及分区的主函数main。分区的主函数调用分区中优先级最高的线程函数本身。
(3)代码生成模块生成操作系统启动分区的代码。启动用代码将这些分区的各个线程的主入口点、栈位置和主函数报告给操作系统。
(4)微内核操作系统模块在启动时,调用启动各个分区的代码,依次创建各个分区和线程,其中各个分区中优先级最高的线程的入口点用其所在分区的主入口点替换。
(5)在创建完成后,由于各个分区中的主入口点的优先级在分区内最高,因此在第一次切换到某个分区时,得到执行的自然是该分区中的主入口点,此时主入口点使用裸机工具链提供的整套流程先完成对分区的初始化,然后再跳转到该分区的主函数main,从而调用该分区中优先级最高的线程进入执行。待该线程阻塞后其他线程开始执行时,则该分区初始化完毕。
其中,裸机工具链为ARMCC或IAR工具链,启动后会从ROM提取数据,初始化RAM中的程序可读写段,初始化一个线程的栈,并且最终跳转到用户提供的main函数处在那个栈上执行。
所述方法依赖的嵌入式配置系统包括:线程信息收集模块,代码生成模块和微内核操作系统模块。其中,系统配置收集模块和代码生成模块运行在工程师的本地开发机上,微内核操作系统模块则运行于微控制器上。
本实施给出一个非常简要的具体实施例,阐述该方法如何利用裸机工具链完成多分区嵌入式系统开发。
1.工程师首先向线程信息收集模块给出系统中分区的相关信息。其中,系统中共有两个分区,分别为Pa和Pb;其中Pa分区有两个线程Ta1和Ta2,Pb分区有两个线程Tb1和Tb2。Ta1的优先级最高,Ta2次之,Tb1再次之,Tb2最低;
2.代码生成模块生成分区Pa的线程的空函数体和main函数,其中在main函数中调用Ta1;
3.代码生成模块生成分区Pb的线程的空函数体和main函数,其中在main函数中调用Tb1;
4.代码生成模块生成供微内核操作系统模块创建Pa和Pb的代码,并且将Pa的入口点PaT和Pb的入口点PbT报告给微内核操作系统模块,微内核操作系统模块在创建Ta1时将其入口点用PaT代替,在创建Tb1时入口点用PbT代替;
5.系统编译完成后商店运行,由于Ta1的优先级最高,因此代码跳转到PaT运行,在运行到main函数之前利用工具链提供的裸机初始化程序初始化整个Pa,然后运行至main函数并跳转到Ta1执行;
6.Ta1因为某种原因阻塞,操作系统调度Ta2执行;
7.Ta2阻塞,操作系统此时调度Tb1执行,由于Tb1的入口点用PbT代替,因此系统跳转到PbT运行,在运行到main函数之前利用工具链提供的裸机初始化程序初始化整个Pb,然后运行至main函数并跳转到Tb1执行;
8.Tb1因为某种原因阻塞,操作系统调度Tb2执行。至此,整个系统的初始化流程完成。
从本实施例可以看到,裸机工具链可以直接被用于开发各个分区的应用程序而无需做特殊的考量;由于最高优先级的线程被通过替换入口点的方式同时负责其所在分区的初始化,因而保证了分区的初始化总是先于分区内的任何功能得到执行。
本公开的实施例提供的一种兼容裸机工具链多分区嵌入式配置系统,如图2所示为本公开的一种兼容裸机工具链多分区嵌入式配置系统结构图,该实施例的一种兼容裸机工具链多分区嵌入式配置系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种兼容裸机工具链多分区嵌入式配置系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在嵌入式配置系统的线程信息收集模块,代码生成模块和微内核操作系统模块的各自单元中:
其中,线程信息收集模块,包括以下单元:
系统配置读取单元,用于读取系统配置;
其中,代码生成模块,包括以下单元:
代码生成单元,用于生成各个分区本身的代码;
操作系统启动代码生成单元,用于生成操作系统启动分区的代码,并在这些代码中将各个分区的各个线程的入口点、栈位置和主函数报告给微内核操作系统;
其中,微内核操作系统模块,包括以下单元:
内核服务单元,负责提供微内核操作系统的各项系统调用和微内核操作系统相关基本功能;
分区启动单元,用于调用启动各个分区的代码,依次创建各个分区和线程,其中各个分区中优先级最高的线程的入口点用其所在分区的主入口点替换;
分区单元,含有分区内部的所有线程的空函数,并且内部使用裸机工具链提供的整套流程先完成对分区的初始化,然后再跳转到该分区的主函数,从而调用该分区中优先级最高的线程进入执行。
所述一种兼容裸机工具链多分区嵌入式配置系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种兼容裸机工具链多分区嵌入式配置系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种兼容裸机工具链多分区嵌入式配置系统的示例,并不构成对一种兼容裸机工具链多分区嵌入式配置系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种兼容裸机工具链多分区嵌入式配置系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种兼容裸机工具链多分区嵌入式配置系统运行系统的控制中心,利用各种接口和线路连接整个一种兼容裸机工具链多分区嵌入式配置系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种兼容裸机工具链多分区嵌入式配置系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
Claims (5)
1.一种兼容裸机工具链多分区嵌入式配置方法,其特征在于,所述方法包括以下步骤:
S100:线程信息收集模块读取系统配置;
S200:代码生成模块生成各个分区本身的代码;
S300:代码生成模块生成微内核操作系统启动分区的代码,并启动所述代码将这些分区的各个线程的主入口点、栈位置和主函数报告给微内核操作系统模块;
S400:微内核操作系统模块在启动时,调用启动各个分区的代码,依次创建各个分区和线程;
S500:使用裸机工具链完成对分区的初始化,由主函数调用该分区中优先级最高的线程进入执行,待该线程阻塞后分区初始化完毕。
2.根据权利要求1所述的一种兼容裸机工具链多分区嵌入式配置方法,其特征在于,所述方法依赖的嵌入式配置系统包括:线程信息收集模块,代码生成模块和微内核操作系统模块;其中,线程信息收集模块和代码生成模块运行在工程师的本地开发机上,微内核操作系统模块则运行于微控制器上。
3.根据权利要求1所述的一种兼容裸机工具链多分区嵌入式配置方法,其特征在于,在步骤1中,所述系统配置包括但不限于各个分区中的线程名称和这些线程的优先级,其中每个分区至少有一个线程。
4.根据权利要求1所述的一种兼容裸机工具链多分区嵌入式配置方法,其特征在于,在步骤2中,生成的分区本身的代码包括了分区中各个线程的空函数,以及分区的主函数;分区的主函数调用分区中优先级最高的线程函数本身。
5.一种兼容裸机工具链多分区嵌入式配置系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在嵌入式配置系统的线程信息收集模块,代码生成模块和微内核操作系统模块的各自单元中:
其中,线程信息收集模块,包括以下单元:
系统配置读取单元,用于读取系统配置;
其中,代码生成模块,包括以下单元:
代码生成单元,用于生成各个分区本身的代码;
操作系统启动代码生成单元,用于生成操作系统启动分区的代码,并在这些代码中将各个分区的各个线程的入口点、栈位置和主函数报告给微内核操作系统;
其中,微内核操作系统模块,包括以下单元:
内核服务单元,负责提供微内核操作系统的各项系统调用和微内核操作系统相关基本功能;
分区启动单元,用于调用启动各个分区的代码,依次创建各个分区和线程,其中各个分区中优先级最高的线程的入口点用其所在分区的主入口点替换;
分区单元,含有分区内部的所有线程的空函数,并且内部使用裸机工具链提供的整套流程先完成对分区的初始化,然后再跳转到该分区的主函数,从而调用该分区中优先级最高的线程进入执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019110104989 | 2019-10-18 | ||
CN201911010498 | 2019-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112130929A true CN112130929A (zh) | 2020-12-25 |
Family
ID=73842585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004916.6A Pending CN112130929A (zh) | 2019-10-18 | 2020-09-21 | 一种兼容裸机工具链多分区嵌入式配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130929A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112377A1 (en) * | 2004-09-17 | 2006-05-25 | Andre Nacul | Phantom serializing compiler and method of operation of same |
CN1842781A (zh) * | 2003-07-25 | 2006-10-04 | 拉莎微电子有限公司 | 高级处理器 |
CN108196946A (zh) * | 2017-12-28 | 2018-06-22 | 北京翼辉信息技术有限公司 | 一种微内核操作系统的分区多核方法 |
CN109038533A (zh) * | 2018-09-01 | 2018-12-18 | 哈尔滨工程大学 | 一种基于三端口变换器实现配电分区功率自动调控的方法 |
CN109086126A (zh) * | 2018-06-15 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 任务调度处理方法、装置、服务器、客户端及电子设备 |
-
2020
- 2020-09-21 CN CN202011004916.6A patent/CN112130929A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1842781A (zh) * | 2003-07-25 | 2006-10-04 | 拉莎微电子有限公司 | 高级处理器 |
US20060112377A1 (en) * | 2004-09-17 | 2006-05-25 | Andre Nacul | Phantom serializing compiler and method of operation of same |
CN108196946A (zh) * | 2017-12-28 | 2018-06-22 | 北京翼辉信息技术有限公司 | 一种微内核操作系统的分区多核方法 |
CN109086126A (zh) * | 2018-06-15 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 任务调度处理方法、装置、服务器、客户端及电子设备 |
CN109038533A (zh) * | 2018-09-01 | 2018-12-18 | 哈尔滨工程大学 | 一种基于三端口变换器实现配电分区功率自动调控的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891900B2 (en) | Generation of specialized methods based on generic methods and type parameterizations | |
US20110022817A1 (en) | Mapping Processing Logic Having Data-Parallel Threads Across Processors | |
JP6458959B2 (ja) | 協調設計されたプロセッサ用動的言語アクセラレータ | |
KR101059633B1 (ko) | 멀티태스킹 가상 머신을 위한 힙 구성 | |
CN103927187A (zh) | 嵌入式系统程序执行方法 | |
Stilkerich et al. | Tailor‐made JVMs for statically configured embedded systems | |
CN102193804B (zh) | 一种单板驱动的加载方法和通信设备 | |
Gomes et al. | A model-based concept for RTOS portability | |
US10496433B2 (en) | Modification of context saving functions | |
CN111797390A (zh) | 程序运行方法、装置、电子设备及计算机可读存储介质 | |
CN115629795A (zh) | 一种可执行文件的配置方法、装置及电子设备 | |
CN112130929A (zh) | 一种兼容裸机工具链多分区嵌入式配置方法及系统 | |
CN116107649A (zh) | 一种d1-h应用处理器的启动方法和系统 | |
CN116225527A (zh) | 嵌入式系统 | |
CN112631662B (zh) | 众核异构架构下的多类型目标代码的透明加载方法 | |
KR20100110710A (ko) | 동적 라이브러리를 갖는 인터페이스를 간단히 하는 방법, 시스템 및 컴퓨터 프로그램 제품 | |
KR100478463B1 (ko) | 응용 프로그램의 동적링크 방법 | |
CN111190658B (zh) | 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的系统 | |
CN112306539A (zh) | 一种单片机应用层开发方法、系统、终端及介质 | |
CN112114863A (zh) | 微内核代支持的操作系统架构 | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
CN117827277B (zh) | 操作系统的多内核适配装置、方法及工业物联网操作系统 | |
CN114546628B (zh) | 一种线程处理方法、线程管理方法、装置以及设备 | |
Kedem | Creating an Arduino Operating System | |
Liu et al. | Moonix: An Educational Operating System on Nezha D1-H RISC-V Development Board |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240423 Address after: Building 4-5-2, Building 8, No. 8 Shanshan Road, No. 11 Jinshan Road, Longxi Street, Yubei District, Chongqing, 401120 Applicant after: Chongqing Helijia Network Technology Co.,Ltd. Country or region after: China Address before: No.21, Luntou Road, Haizhu District, Guangzhou City, Guangdong Province 510320 Applicant before: GUANGDONG University OF FINANCE & ECONOMICS Country or region before: China |
|
TA01 | Transfer of patent application right |