[发明专利]一种调试嵌入式系统多中断的方法和装置有效
申请号: | 201710110051.3 | 申请日: | 2017-02-27 |
公开(公告)号: | CN106933661B | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 董时舫;赵谊科 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 李艳丽 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调试 嵌入式 系统 中断 方法 装置 | ||
1.一种调试嵌入式系统多中断的方法,其特征在于,所述方法包括:
仅在编译期间静态地或在系统初始化时为包括N个元素的环形结构数组分配一次内存,所述N为大于2的整数,所述环形结构数组包含被中断的地址;
按照一个元素写入一个系统中断的中断运行状态信息的方式,向所述环形结构数组循环写入多个系统中断的中断运行状态信息;
当有输出要求时,输出所述环形结构数组中写入的中断运行状态信息;
所述按照一个元素写入一个系统中断的中断运行状态信息的方式,向所述环形结构数组循环写入系统中断的中断运行状态信息,包括:在中断服务子程序的入口处调用数据采集函数,以执行下述操作:若CPU不关闭中断,则关闭系统总中断;执行所述数据采集函数的数据采集功能,将系统当前中断的中断运行状态信息写入所述环形结构数组对应于当前写入序号的元素中;开启所述系统总中断。
2.如权利要求1所述的方法,其特征在于,所述将系统当前中断的中断运行状态信息写入所述环形结构数组对应于当前写入序号的元素中之后,所述方法还包括:
将所述当前写入序号的值增1;
将值增1后的写入序号与所述N进行模运算;
将所述模运算后的结果重新赋值给所述写入序号。
3.如权利要求1或2所述的方法,其特征在于,所述当有输出要求时,输出所述环形结构数组中写入的中断运行状态信息,包括:
当有输出要求时,调用输出函数,以执行下述操作:
关闭系统总中断;
将所述环形结构数组对应于当前读出序号的元素中的内容输出至输出通道;
判断所述环形结构数组的所有元素中的内容是否读完;
若所述环形结构数组的所有元素中的内容已经读完,则开启所述系统总中断,否则继续输出所述环形结构数组元素中的内容。
4.如权利要求3所述的方法,其特征在于,所述判断所述环形结构数组的所有元素中的内容是否读完,包括:
将所述环形结构数组对应于当前读出序号的元素中的内容输出至输出通道后,对所述当前读出序号的值执行增1操作;
将值执行增1操作后的读出序号的值与所述N进行模运算并赋值给所述读出序号;
若已读取元素的总个数达到N,则确定所述环形结构数组的所有元素中的内容已经读完。
5.一种调试嵌入式系统多中断的装置,其特征在于,所述装置包括:
内存分配模块,用于仅在编译期间静态地或在系统初始化时为包括N个元素的环形结构数组分配一次内存,所述N为大于2的整数,所述环形结构数组包含被中断的地址;
写入模块,用于按照一个元素写入一个系统中断的中断运行状态信息的方式,向所述环形结构数组循环写入多个系统中断的中断运行状态信息;
输出模块,用于当有输出要求时,输出所述环形结构数组中写入的中断运行状态信息;
所述写入模块包括:第一调用单元,用于在中断服务子程序的入口处调用数据采集函数;第一关闭单元,用于若CPU不关闭中断,则关闭系统总中断;信息写入单元,用于执行所述数据采集函数的数据采集功能,将系统当前中断的中断运行状态信息写入所述环形结构数组对应于当前写入序号的元素中;第一开启单元,用于开启所述系统总中断。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第一自增模块,用于所述信息写入单元执行所述数据采集函数的数据采集功能,将系统当前中断的中断运行状态信息写入所述环形结构数组对应于当前写入序号的元素中之后,将所述当前写入序号的值增1;
第一模运算模块,用于将值增1后的写入序号与所述N进行模运算;
赋值模块,用于将所述模运算后的结果重新赋值给所述写入序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710110051.3/1.html,转载请声明来源钻瓜专利网。