本发明属于单片机,尤其涉及一种底层内核驱动与应用分离开发实现方法、介质及终端。
背景技术:
1、新世纪里,以计算机技术、通信技术和软件技术为核心的信息技术取得了迅猛的发展,各种装备与设备上嵌入式计算与系统的广泛应用大大地推动了行业的渗透性应用。嵌入式实时操作系统使用包括lot、工业控制、机器人、边缘计算、电力行业、航天航空等等,软件系统越来越庞大,分工越来越明细,稳定性、安全性、要求越来越高,大规模软件往往需要底层和应用隔离开发,现有处理方式是底层做好封装统一接口,提供给库或源代码、应用调用接口,而在同一个工程编译生成固件会导致安全性较低,耦合性非常高,lot升级也存在升级固件特别庞大的问题。
2、公开号为cn114780234a的专利申请提供了一种实现boot和应用程序分离的方法、装置及相关组件,包括将mcu的flash存储空间划分成boot区和app应用区;以及从mcu的ram存储空间中划分出中断函数地址存储区域;新建boot工程,并设置boot工程在编译时所分配的flash范围在boot区;新建应用程序工程,并设置应用程序工程在编译时所分配的flash范围在app应用区;将boot工程和应用程序工程在执行时的中断函数地址存放至中断函数地址存储区域,并将存储于boot区的mcu的硬件绝对中断地址与中断函数地址存储区域中的中断函数地址进行映射。此专利所提供的方法虽然提高了升级过程中的安全性,但是对于如何解决现有技术升级存在固定特别庞大的问题,并未给出相关技术方案。
3、因此,如何提供一种不存在升级固件特别庞大的问题,同时安全性能高、耦合性低的底层内核驱动与应用分离开发实现方法,是本技术领域人员亟待解决的问题。
技术实现思路
1、针对现有技术的不足,本发明的目的是提供一种底层内核驱动与应用分离开发实现方法,以解决现有技术升级过程中固件特别庞大,安全性能低、耦合性特别高的问题;另外本发明还提供了一种底层内核驱动与应用分离开发实现介质及终端。
2、为了解决上述技术问题,本发明采用了如下的技术方案:
3、第一方面,本发明提供了一种底层内核驱动与应用分离开发实现方法,包括以下步骤:
4、s10、底层内核驱动与普通正常工程相互独立编译开发,通过系统请求获取描述符号表;
5、s20、底层内核驱动提供应用系统请求指令响应接口,用于响应应用获取底层接口请求;
6、s30、应用编译成与位置无关的指令和数据代码;
7、s40、底层内核驱动根据应用描述符号表启动应用并进入应用,应用起始代码初始化,系统请求进入底层获取底层接口总入口函数。
8、进一步的,所述步骤s10中,描述符号表记录应用入口地址、代码大小、内存使用大小、版本和校验信息。
9、进一步的,所述步骤s30中,r9寄存器是应用内存起始基础地址,所有的内存访问均会基于r9值相对偏移。
10、进一步的,所述步骤s40中,将分配应用需要的内存起始地址传递给r9寄存器。
11、进一步的,所述步骤s40中初始化的是内存、bss段和data段。
12、第二方面,本发明还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法。
13、第三方面,本发明还提供了一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上所述方法。
14、本发明提供的底层内核驱动与应用分离开发实现方法、介质及终端与现有技术相比,至少具有如下有益效果:
15、现有技术中底层和应用隔离开发的处理方式是底层做好封装统一接口,提供给库或源代码、应用调用接口,而在同一个工程编译生成固件会导致安全性较低,耦合性非常高,lot升级也存在升级固件特别庞大的问题。本发明流程简单、功能强大,使用mcu底层内核驱动与应用app分离开发、分离编译、分离升级,使底层内核驱动与应用完全隔离解耦,也可以使稳定代码集成在内核,使app升级固件大小降低,适合大规模物联网开发模式,适合内核驱动与应用是不同部门或不同厂家的人员分离开发模式,适合厂家想保护源代码不被窃取的场景,厂家只需把编译好的固件烧写到mcu即可,应用厂家开发自己应用烧写进去即可运行完成保密,保证了底层内核驱动安全性与可靠性,解决了现有技术升级过程中固件特别庞大的问题。
1.一种底层内核驱动与应用分离开发实现方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种底层内核驱动与应用分离开发实现方法,其特征在于,所述步骤s10中,描述符号表记录应用入口地址、代码大小、内存使用大小、版本和校验信息。
3.根据权利要求2所述的一种底层内核驱动与应用分离开发实现方法,其特征在于,所述步骤s30中,r9寄存器是应用内存起始基础地址,所有的内存访问均会基于r9值相对偏移。
4.根据权利要求1所述的一种底层内核驱动与应用分离开发实现方法,其特征在于,所述步骤s40中,将分配应用需要的内存起始地址传递给r9寄存器。
5.根据权利要求1所述的一种底层内核驱动与应用分离开发实现方法,其特征在于,所述步骤s40中初始化的是内存、bss段和data段。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法。
7.一种电子终端,其特征在于,包括:处理器及存储器;
