[发明专利]一种单片机应用层开发方法、系统、终端及介质有效

专利信息
申请号: 202011224309.0 申请日: 2020-11-05
公开(公告)号: CN112306539B 公开(公告)日: 2023-08-01
发明(设计)人: 吴英;刘根利;翟渊;向毅;刘宇;施金良 申请(专利权)人: 重庆科技学院
主分类号: G06F8/658 分类号: G06F8/658;G06F8/41;G06F16/35
代理公司: 北京国坤专利代理事务所(普通合伙) 11491 代理人: 赵红霞
地址: 401331 重*** 国省代码: 重庆;50
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 单片机 应用 开发 方法 系统 终端 介质
【权利要求书】:

1.一种单片机应用层开发方法,其特征是,包括以下步骤:

将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库;

根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层;

根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层;

根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用;

将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储;

所述API函数接口布置具体为:在固件层的启动文件中,通过汇编语言为所有固件工程的函数分配连续的4字节对齐空间,4字节对齐空间存储对应API函数接口的函数地址;在启动文件中的中断函数向量表的末尾有序添加固件工程的函数名,通过在中断函数结尾有序添加对应的函数接口以实现动态添加函数;

在固件层中,通过将应用层所需函数的函数地址存储在FLASH固定位置为应用层提供API函数接口;在应用层中,通过申明函数指针结构体以及创建函数指针结构体变量,将该变量指向固件层中函数地址的存储位置,应用层以函数地址的形式实现对固件层函数的调用,同时在应用层中按照固件工程的形式创建应用层的入口函数Appmain()和重定向函数FirmwareInit()。

2.根据权利要求1所述的一种单片机应用层开发方法,其特征是,所述函数指针结构体成员由应用层所需的全部函数地址指针组成;

在正常进入到应用层APPMian函数之前,固件层调用FirmwareInit函数将应用层的代码进行重定向,为应用层的正常运行创建相应的运行环境,具体为:

将FLASH中的RW段拷贝到RAM的RW段运行地址上以及将RAM中的ZI段清零进行重定向;固件层调用应用层的重定向函数实现重定向。

3.根据权利要求1所述的一种单片机应用层开发方法,其特征是,将固件层中的结构体定义、申明以及宏定义添加到应用层中相应的头文件中以实现一般函数的形参、实参、返回值使用,并且确定固件层和应用层的结构体定义、申明以及宏定义完全一致。

4.根据权利要求1所述的一种单片机应用层开发方法,其特征是,所述固件层、应用层中添加相应的分散加载文件,分散加载文件用于配置对应的固件层、应用层中编译后的二进制代码在单片机FLASH中的存储信息和RAM运行空间信息。

5.根据权利要求1所述的一种单片机应用层开发方法,其特征是,还包括创建由uvprojx文件和uvmpw文件组成的keil5工程文件;

uvprojx文件通过XML语法,将用到的源代码文件、路径、名称、类型信息添加到工程中,同时还保存有单片机相关的配置信息;

uvmpw文件主要实现应用层和固件层的管理,主要记录uvprojx文件中工程的名称和路径信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆科技学院,未经重庆科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011224309.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top