[发明专利]适用于处理器实时控制的软件编程及其汇编链接方法有效

专利信息
申请号: 201810569188.X 申请日: 2018-06-05
公开(公告)号: CN108776594B 公开(公告)日: 2021-02-09
发明(设计)人: 梅魁志;赵海波;伍健;郑斐;李恒杰;张瑞智;程军;舒伟华;谷新宇 申请(专利权)人: 西安交通大学
主分类号: G06F9/30 分类号: G06F9/30;G06F9/448
代理公司: 西安通大专利代理有限责任公司 61200 代理人: 徐文权
地址: 710049 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 适用于 处理器 实时 控制 软件 编程 及其 汇编 链接 方法
【权利要求书】:

1.一种适用于处理器实时控制的汇编链接方法,其特征在于,基于适用于处理器实时控制的软件编程方法,所述适用于处理器实时控制的软件编程方法包括以下步骤:

将所有函数划分为若干组,汇编器对每个函数定义进行词法及语法分析,并将每个函数的信息均记录于函数信息链表中,其中,每个函数的信息为函数信息链表中的一个节点;同时对每个函数组定义进行分析,将每个函数组的信息记录于函数组信息链表;

每个函数的信息均包括函数的函数名、函数包含的指令的机器码、函数的起始物理地址及函数的结束物理地址;

每个函数组的信息均包括函数组id以及函数组包含的函数名;

包括以下步骤:

在ROM中定义函数入口地址数组USR_PROG_ARR及空间映射配置数组MAP_REG_ARR,其中,通过USR_PROG_ARR数组记录每个函数的起始物理地址,同时通过USR_PROG_ARR数组按顺序连续存放各个函数组中的函数,每个函数组起始处对应的元素为该函数组的id;MAP_REG_ARR数组记录每个函数所在的ROM段的基址,MAP_REG_ARR数组中的元素与USR_PROG_ARR数组中的函数一一对应,MAP_REG_ARR数组中的元素值由函数的起始物理地址与ROM段的大小相除再取整得到,MAP_REG_ARR数组中的元素值与MAP_REG寄存器中的值一致,然后通过内核程序执行函数组的运行调度。

2.根据权利要求1所述的适用于处理器实时控制的汇编链接方法,其特征在于,通过内核程序执行函数组的运行调度的具体操作为:

1)内核程序定义指针USR_PROG_POINTER及MAP_REG_POINTER,USR_PROG_POINTER的初始位置指向USR_PROG_ARR数组的头部,MAP_REG_POINTER的初始位置指向MAP_REG_ARR数组的头部,当执行函数组调用时,则转至步骤2);

2)USR_PROG_POINTER加1;

3)判断USR_PROG_POINTER指向函数组的位置,当USR_PROG_POINTER指向函数组的id标识时,表明已经完成了该函数组的调用,则退出此次函数组的调用;当USR_PROG_POINTER没有指向函数组的id标识时,表明此时USR_PROG_POINTER指向函数组中某个函数的入口地址,则转至步骤4):

4)取MAP_REG_POINTER指向的函数组中的数据,并将MAP_REG_POINTER指向的函数组中的数据赋值给空间映射寄存器MAP_REG;

5)MAP_REG_POINTER加1,以指向下一个函数所在的ROM段基址;

6)取USR_PROG_POINTER指向的函数组中的数据,并调用该函数;

7)重复步骤2)至步骤6),直至完成该函数组的调用为止;

8)USR_PROG_POINTER加1,然后转至步骤3),直至完成所有函数组的调用为止。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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