CN112597413A - 一种新型嵌入式系统框架及设备 - Google Patents
一种新型嵌入式系统框架及设备 Download PDFInfo
- Publication number
- CN112597413A CN112597413A CN202011601410.3A CN202011601410A CN112597413A CN 112597413 A CN112597413 A CN 112597413A CN 202011601410 A CN202011601410 A CN 202011601410A CN 112597413 A CN112597413 A CN 112597413A
- Authority
- CN
- China
- Prior art keywords
- page
- embedded system
- novel embedded
- system menu
- control 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/313—Logic programming, e.g. PROLOG programming language
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明提供了一种新型嵌入式系统框架及设备,涉及嵌入式开发技术领域,解决了现有的嵌入式系统框架难以兼顾便于维护升级和系统资源占用少的需求,增加了开发成本,影响了使用的技术问题。该新型嵌入式系统框架包括页面调度控制模块和系统菜单页面;所述系统菜单页面的数量为多个,每个所述系统菜单页面能够封装不同的业务逻辑代码;所述页面调度控制模块能够通过其消息处理模块对多个所述系统菜单页面进行消息广播,调度和控制所述系统菜单页面中的任意一个。本发明提供的新型嵌入式系统框架兼顾了维护升级和系统资源占用少的需求,大大降低了开发成本,有利于嵌入式系统在更多领域展开应用。
Description
技术领域
本发明涉及嵌入式开发技术领域,尤其是涉及一种新型嵌入式系统框架及设备。
背景技术
嵌入式系统是一个flash与RAM受限的系统,它不像PC机那样有着丰富的存储器资源,其内存管理、任务管理、设备管理、文件管理和网络管理功能需要嵌入式开发人员完全从0开始编写,或者移植开源的操作系统。
目前常用的嵌入式系统框架有:(1)编写一个大循环体,在循环体内设置大量的全局标志变量,根据全局标志变量的值处理相应的业务逻辑。业务逻辑层可以通过控制全局标志变量的值,来触发事件的执行分支与处理流程。(2)移植开源的嵌入式实时操作系统,嵌入式操作体统提供了内存管理、任务管理、设备管理、文件管理和网络管理功能。通过调用嵌入式操作系统提供的API(Application Programming Interface,应用程序接口)创建任务,在任务中处理具体的业务逻辑。
在大循环中判断大量的标志位会使得系统非常杂乱,没有层次感,代码耦合性过强,各功能函数相互牵连。每个不同的应用系统都需要重新编写,无法提取出公共的代码框架。内存管理、任务管理、设备管理、文件管理和网络管理都需要通过控制这些全局的标志变量才能触发执行,使得系统难以维护与升级。开源的实时操作系统虽然可以提供许多系统API,提高开发效率,但是它占用过多的Flash与RAM资源,系统会频繁的进行任务切换,占用大量的系统开销,导致系统功耗增加。
本申请人发现现有技术至少存在以下技术问题:
现有的嵌入式系统框架难以兼顾便于维护升级和系统资源占用少的需求,增加了开发成本,影响了使用。
发明内容
本发明的目的在于提供一种新型嵌入式系统框架及设备,以解决现有技术中存在的嵌入式系统框架难以兼顾便于维护升级和系统资源占用少的需求,增加了开发成本,影响了使用的技术问题。本发明提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。
为实现上述目的,本发明提供了以下技术方案:
本发明提供的一种新型嵌入式系统框架,包括页面调度控制模块和系统菜单页面;所述系统菜单页面的数量为多个,每个所述系统菜单页面能够封装不同的业务逻辑代码;所述页面调度控制模块能够通过其消息处理模块对多个所述系统菜单页面进行消息广播,调度和控制所述系统菜单页面中的任意一个。
可选地,所述系统菜单页面包括页面ID、页面构造函数和页面处理函数。
可选地,所述页面ID为全局变量,所述页面调度控制模块通过所述页面ID进行各个所述系统菜单页面的调度与控制。
可选地,所述页面构造函数对应的形式参数包括所述系统菜单页面的消息参数指针和消息数据长度。
可选地,所述消息处理模块为结构体变量,所述结构体成员变量包括所述系统菜单页面的消息类型、消息数据指针和消息数据长度。
可选地,所述页面处理函数的形式参数包括所述结构体变量、参数指针和数据长度。
可选地,所述页面调度控制模块对所述结构体的成员变量值进行修改,能够将其消息传输到当前所述系统菜单页面的处理函数中。
可选地,各个所述系统菜单页面之间能够进行业务数据传输。
一种新型嵌入式系统框架设备,包括存储器、处理器及存储在所述存储器上并可通过所述处理器上运行的计算机程序,所述计算机程序通过以上任一所述的新型嵌入式系统框架运行。
可选地,所述新型嵌入式系统框架设备为单片机、手机或PC。
上述任一技术方案至少可以产生如下技术效果:
本发明提供的新型嵌入式系统框架通过多个系统菜单页面封装不同的业务逻辑代码便于任务模块化,各业务逻辑相互独立,互不干涉,具有高内聚低耦合的特点,便于维护。开发者只需要根据业务逻辑新建菜单页面,把时间都集中在业务逻辑上,不需要重写系统框架,缩短了开发周期,提高开发效率。同时开发者只需要根据需要写入相应的业务逻辑,不需要像开源的实时操作系统提供许多未使用系统API,能够显著降低Flash与RAM资源的占用,进而有效降低了系统功耗。本发明兼顾了维护升级和系统资源占用少的需求,大大降低了开发成本,有利于嵌入式系统在更多领域展开应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明页面调度控制模块的示意图;
图2是本发明页面调度控制模块进行页面调度与控制的流程图;
图3是本发明页面调度控制模块进行消息广播的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
本发明提供了一种新型嵌入式系统框架,如图1所示,包括页面调度控制模块和系统菜单页面,页面调度控制模块、系统菜单页面之间能够进行信息交互。系统菜单页面的数量为多个,图1中所示为四个,也可以根据业务逻辑的需要设定其他数量,如三个、五个、六个等,此处不一一列举,每个系统菜单页面能够封装不同的业务逻辑代码,通过封装不同的业务逻辑代码,每个系统菜单页面对应着不同的功能模块。页面调度控制模块能够通过其消息处理模块对多个所述系统菜单页面进行消息广播,通过消息广播能够对不同功能的系统菜单页面命中,消息广播即为一种事件驱动,调度和控制系统菜单页面中的任意一个,从而实现多种功能。本发明提供的新型嵌入式系统框架通过多个系统菜单页面封装不同的业务逻辑代码便于任务模块化,各业务逻辑相互独立,互不干涉,具有高内聚低耦合的特点,便于维护。开发者只需要根据业务逻辑新建菜单页面,把时间都集中在业务逻辑上,不需要重写系统框架,缩短了开发周期,提高开发效率。同时开发者只需要根据需要写入相应的业务逻辑,不需要像开源的实时操作系统提供许多未使用系统API,能够显著降低Flash与RAM资源的占用,进而有效降低了系统功耗。因此,本发明兼顾了维护升级和系统资源占用少的需求,大大降低了开发成本,有利于嵌入式系统在更多领域展开应用。
作为可选地实施方式,系统菜单页面包括页面ID(menu_id)、页面构造函数和页面处理函数。页面ID为全局变量,页面调度控制模块通过页面ID进行各个系统菜单页面的调度与控制,如图2所示,页面调度控制模块通过消息播,根据全局的menu_id进行系统菜单页面的切换与控制,当该menu_id值发生改变,页面调度控制模块会自动调用对应menu_id系统菜单页面的构造函数与处理函数。页面构造函数对应的形式参数包括系统菜单页面的消息参数指针和消息数据长度,具体代码可为void menu_xx_structure(void*p_param,uint8_t len);其中xx表示系统菜单页面的页面ID。其它系统菜单页面切换过来时,传递过来的实参都传递到形式参数void*p_param(消息参数指针),uint8_t len(消息数据长度)中,在具体业务中根据传递过来的数据做相应的业务初始化,形式参数用于进行数据传入。
作为可选地实施方式,消息处理模块为结构体变量,结构体名为event_t,结构体成员变量包括系统菜单页面的消息类型、消息数据指针和消息数据长度,结构体变量名为sys_event_t。消息处理模块的具体代码为:
struct event_t{
uint8_t type;//消息类型
uint8_t*pvalue;//消息数据指针
uint8_t len;//消息数据长度
}sys_event_t;
页面处理函数的形式参数包括结构体变量、参数指针和数据长度,具体为enummenu_id_e menu_xx_handler(struct event_t msg,uint8_t*p_param_o,uint8_t*plen_o);其中此处的enum枚举类型为具体应用的系统菜单页面信息,与具体应用的页面功能有关。msg为消息处理模块传递过来的系统消息,比如单击事件,双击事件等,实现事件驱动。如图3所示,系统菜单页面切换的时候,只需要把消息处理模块的返回值设置成需要切换的页面ID即可,需要传递的数据只需要赋值给形参uint8_t*p_param_o,uint8_t*plen_o即可,uint8_t*p_param_o,uint8_t*plen_o在系统菜单页面切换的时候进行数据传递,不同页面之间切换都是通过这个指针进行数据传递,用来进行数据传出。页面调度控制模块对结构体的成员变量值进行修改(通过结构体变量sys_event_t进行相应修改),即将值传递给页面处理函数的形式参数,能够将其消息传输到当前系统菜单页面的处理函数中,实现相应的调度和控制。
基于上述系统菜单页面和消息处理模块的代码,本发明的新型嵌入式系统框架占用的Flash与RAM资源非常少,flash占用不到800字节,每添加一个新的菜单页面只需要增加15Bytes的RAM,由于没有任务切换的消耗,因此使得系统功耗可以做到极低。
作为可选地实施方式,各个系统菜单页面之间能够进行业务数据传输,便于各个系统菜单页面之间相互引用,便于进行系统菜单页面的业务逻辑拓展。
一种新型嵌入式系统框架设备,包括存储器、处理器及存储在存储器上并可通过处理器上运行的计算机程序。计算机程序通过本发明提供的新型嵌入式系统框架运行,从而新型嵌入式系统框架设备具有了新型嵌入式系统框架的优点。新型嵌入式系统框架设备为单片机、手机或PC。本发明提供的新型嵌入式系统框架是一个通用的框架,可运行在任何嵌入式硬件平台(平台有无操作系统均可),硬件也不局限于单片机,手机或PC均可,与具体业务无关,任何具体的业务应用都可以在本系统框架中添加相应的业务处理逻辑,适应性强。由于本发明运行过程中不需要进行人机交互,既可以运行在没有LCD、OLED等显示的系统设备上,也可以运行在含有LCD、OLED等显示设备的系统上。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种新型嵌入式系统框架,其特征在于,包括页面调度控制模块和系统菜单页面;所述系统菜单页面的数量为多个,每个所述系统菜单页面能够封装不同的业务逻辑代码;所述页面调度控制模块能够通过其消息处理模块对多个所述系统菜单页面进行消息广播,调度和控制所述系统菜单页面中的任意一个。
2.根据权利要求1所述的新型嵌入式系统框架,其特征在于,所述系统菜单页面包括页面ID、页面构造函数和页面处理函数。
3.根据权利要求2所述的新型嵌入式系统框架,其特征在于,所述页面ID为全局变量,所述页面调度控制模块通过所述页面ID进行各个所述系统菜单页面的调度与控制。
4.根据权利要求2所述的新型嵌入式系统框架,其特征在于,所述页面构造函数对应的形式参数包括所述系统菜单页面的消息参数指针和消息数据长度。
5.根据权利要求2所述的新型嵌入式系统框架,其特征在于,所述消息处理模块为结构体变量,所述结构体成员变量包括所述系统菜单页面的消息类型、消息数据指针和消息数据长度。
6.根据权利要求5所述的新型嵌入式系统框架,其特征在于,所述页面处理函数的形式参数包括所述结构体变量、参数指针和数据长度。
7.根据权利要求6所述的新型嵌入式系统框架,其特征在于,所述页面调度控制模块对所述结构体的成员变量值进行修改,能够将其消息传输到当前所述系统菜单页面的处理函数中。
8.根据权利要求1所述的新型嵌入式系统框架,其特征在于,各个所述系统菜单页面之间能够进行业务数据传输。
9.一种新型嵌入式系统框架设备,包括存储器、处理器及存储在所述存储器上并可通过所述处理器上运行的计算机程序,其特征在于,所述计算机程序通过权利要求1-8中任一所述的新型嵌入式系统框架运行。
10.根据权利要求9所述的新型嵌入式系统框架设备,其特征在于,所述新型嵌入式系统框架设备为单片机、手机或PC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011601410.3A CN112597413A (zh) | 2020-12-29 | 2020-12-29 | 一种新型嵌入式系统框架及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011601410.3A CN112597413A (zh) | 2020-12-29 | 2020-12-29 | 一种新型嵌入式系统框架及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597413A true CN112597413A (zh) | 2021-04-02 |
Family
ID=75203871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011601410.3A Pending CN112597413A (zh) | 2020-12-29 | 2020-12-29 | 一种新型嵌入式系统框架及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597413A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113655932A (zh) * | 2021-08-13 | 2021-11-16 | 北京数码大方科技股份有限公司 | 用于信息系统的接口调用方法及接口调用装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662669A (zh) * | 2012-03-31 | 2012-09-12 | 中船重工(武汉)凌久高科有限公司 | 一种开发安防类嵌入式设备应用软件系统的方法 |
CN103279105A (zh) * | 2013-05-29 | 2013-09-04 | 武汉科瑞新电气自动化有限公司 | 基于嵌入式模块化平台的工业数据监测系统 |
CN105068794A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮软件股份有限公司 | 一种支持Web页面本地研发的实现方法 |
CN105389168A (zh) * | 2015-11-10 | 2016-03-09 | 科大智能电气技术有限公司 | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 |
CN110580153A (zh) * | 2018-06-07 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 一种应用程序的开发方法和装置 |
-
2020
- 2020-12-29 CN CN202011601410.3A patent/CN112597413A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662669A (zh) * | 2012-03-31 | 2012-09-12 | 中船重工(武汉)凌久高科有限公司 | 一种开发安防类嵌入式设备应用软件系统的方法 |
CN103279105A (zh) * | 2013-05-29 | 2013-09-04 | 武汉科瑞新电气自动化有限公司 | 基于嵌入式模块化平台的工业数据监测系统 |
CN105068794A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮软件股份有限公司 | 一种支持Web页面本地研发的实现方法 |
CN105389168A (zh) * | 2015-11-10 | 2016-03-09 | 科大智能电气技术有限公司 | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 |
CN110580153A (zh) * | 2018-06-07 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 一种应用程序的开发方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113655932A (zh) * | 2021-08-13 | 2021-11-16 | 北京数码大方科技股份有限公司 | 用于信息系统的接口调用方法及接口调用装置 |
CN113655932B (zh) * | 2021-08-13 | 2023-08-08 | 北京数码大方科技股份有限公司 | 用于信息系统的接口调用方法及接口调用装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102077209B (zh) | 受保护模式操作调度 | |
Reusing | Comparison of operating systems tinyos and contiki | |
CN110825488A (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
CN102375761A (zh) | 业务管理方法和装置、以及设备 | |
CN105683939A (zh) | 用于在诸如fpga的动态可重新配置硬件装置以及诸如cpu的指令集处理器上同时执行进程的计算平台、可重新配置硬件装置和方法、以及相关的计算机可读介质 | |
CN108400992B (zh) | 一种流式通信数据协议解析软件框架实现系统及方法 | |
CN112671760A (zh) | 基于Socket的客户端跨平台网络通信方法及其相关设备 | |
AU2015101899A4 (en) | System realizing script operation in preset embedded system | |
CN112597413A (zh) | 一种新型嵌入式系统框架及设备 | |
CN112416571A (zh) | 工业物联网节点的资源管理方法、操作系统及管理装置 | |
US7418714B2 (en) | Employing three parameter buffer access in connection with SMBus notifications | |
CN107391274A (zh) | 离线消息的处理方法及装置 | |
CN110532045A (zh) | 一种跨进程调用方法及相关装置 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN101976206A (zh) | 一种中断处理方法和装置 | |
CN102016803B (zh) | 操作系统快速运行命令 | |
CN115617407A (zh) | 一种嵌入式操作系统的硬件驱动方法 | |
CN101246421A (zh) | 一种基于工作流引擎实现的通用框架 | |
CN113641577A (zh) | 一种终端产品应用程序的调试方法、装置 | |
Lu et al. | A UML profile to model safety-critical embedded real-time control systems | |
Zhou et al. | An event-driven multi-threading real-time operating system dedicated to wireless sensor networks | |
CN114064153A (zh) | 一种基于多核处理器的嵌入式动态模块加载方法及装置 | |
GB2388213A (en) | Improvements relating to task dispatch in priority pre-emptive real-time operating systems | |
Zhou et al. | LIMOS: a tiny real-time micro-kernel for wireless objects | |
CN117768051A (zh) | 一种算法级无线电信号快速仿真生成方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210402 |