技术领域
本发明涉及物联网系统技术领域,尤其涉及一种嵌入式MCU程序分段编译方法及系统。
背景技术
物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理,公知的,物联网系统,使用通讯模块+MCU设计,通讯模块,LORAWAN,LORA等都含有MCU,运行通讯协议栈,由专业厂商设计,MCU主要运行用户程序,通讯模块内MCU运行通讯协议栈,并提供用户接口。
物联网系统如果使用在监测开关量,温度等,程序简单,耗费RAM,Flash资源少的场合,此种模式下使用传统的通讯模块+MCU设计,浪费软硬件资源,推高系统成本。
发明内容
本发明的目的在于提供一种嵌入式MCU程序分段编译方法及系统,以解决上述现有技术中的不足之处。
为了实现上述目的,本发明采用了如下技术方案:一种嵌入式MCU程序分段编译方法,包括以下步骤:
S1:分配通讯协议栈,用户程序占用空间;
S2:通讯协议栈定义一个用户程序入口函数,并指定该函数地址;
S3:编写通讯协议栈,用户程序的链接脚本文件;
S4:编译通讯协议栈,生成烧写文件,导出通讯协议栈内API,并封装为API静态库,头文件;
S5:编译用户程序,生成烧写文件。
作为上述技术方案的进一步描述:
所述通讯协议栈内API为通讯协议栈内通讯接口函数,实现通讯协议栈与用户程序进行衔接的约定。
作为上述技术方案的进一步描述:
所述用户程序包含API静态库,头文件。
作为上述技术方案的进一步描述:
所述用户程序入口函数地址指定为步骤S1中用户程序占用空间指定的地址,且户程序入口函数的函数原型与步骤S1相同。
作为上述技术方案的进一步描述:
所述步骤S3中编写用户程序的链接脚本文件和步骤S4中导出通讯协议栈内API均为通过软件自动生成。
作为上述技术方案的进一步描述:
所述通讯协议栈,用户程序通过C/C++编译器编译。
作为上述技术方案的进一步描述:
通讯协议栈使用嵌入式操作系统。
一种嵌入式MCU程序分段编译系统,包括传感器和通讯模块;
所述传感器与通讯模块通信连接,实现将传感器采集到的数据信息通信传输至通讯模块中;
所述通讯模块中含有单颗MCU,且单颗所述MCU中运行有通讯协议栈和用户程序。
本发明提供了一种嵌入式MCU程序分段编译方法及系统。具备以下有益效果:
该嵌入式MCU程序分段编译方法通过通讯模块中含有的单颗MCU运行通讯协议栈和用户程序,用户程序可更改,通讯协议栈与用户代码互不可见,通讯协议栈主动加载用户程序,并提供API给用户程序,满足在监测开关量、温度等程序简单需求下,节省物联网硬件成本,采用类似动态库的程序架构,实现程序解耦,保证各程序代码不泄露,有效保证了代码的保密性,体现分工合作理念。
由于上述嵌入式MCU程序分段编译方法具有上述技术效果,该嵌入式MCU程序分段编译方系统也应具有相应的技术效果。
附图说明
图1为本发明提出的一种嵌入式MCU程序分段编译方法的流程图;
图2为本发明提出的一种嵌入式MCU程序分段编译系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-2,一种嵌入式MCU程序分段编译方法,包括以下步骤:
S1:分配通讯协议栈,用户程序占用空间;
S2:通讯协议栈定义一个用户程序入口函数,并指定该函数地址;
S3:编写通讯协议栈,用户程序的链接脚本文件;
S4:编译通讯协议栈,生成烧写文件,导出通讯协议栈内API,并封装为API静态库,头文件;
S5:编译用户程序,生成烧写文件。
该嵌入式MCU程序分段编译方法实现通讯模块中单颗MCU运行通讯协议栈,用户程序,用户程序可更改。通讯协议栈与用户代码互不可见。通讯协议栈主动加载用户程序,并提供API给用户程序,节省物联网硬件成本,程序解耦,保证各程序代码不泄露。
通讯协议栈内API为通讯协议栈内通讯接口函数,实现通讯协议栈与用户程序进行衔接的约定,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码。
用户程序包含API静态库,头文件。
用户程序入口函数地址指定为步骤S1中用户程序占用空间指定的地址,且户程序入口函数的函数原型与步骤S1相同。
步骤S3中编写用户程序的链接脚本文件和步骤S4中导出通讯协议栈内API均为通过软件自动生成。
通讯协议栈,用户程序通过C/C++编译器编译,编译器相同。
通讯协议栈使用嵌入式操作系统,方便控制用户程序运行时间。
本发明实施例还提供一种嵌入式MCU程序分段编译系统,包括传感器和通讯模块;传感器与通讯模块通信连接,实现将传感器采集到的数据信息通信传输至通讯模块中;通讯模块中含有单颗MCU,且单颗MCU中运行有通讯协议栈和用户程序。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料过着特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
机译: 在嵌入式微控制器中实现多种格式寻址的方法,一种用于实现该方法的编译器以及一种用于使用该方法和编译器的微控制器
机译: 嵌入式程序开发设备,编译方法和编译器程序
机译: 一种计算机实现的方法,一种计算机程序产品以及一种嵌入式系统,用于通过嵌入式系统上的客户端来提高数据检索的速度