[发明专利]一种VisualDSP++环境下外设读写模拟方法有效
| 申请号: | 201811269317.X | 申请日: | 2018-10-29 | 
| 公开(公告)号: | CN109408388B | 公开(公告)日: | 2021-07-20 | 
| 发明(设计)人: | 陈俊文;冯云;陈琦;王之鹏 | 申请(专利权)人: | 北京控制与电子技术研究所 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 中国航天科工集团公司专利中心 11024 | 代理人: | 葛鹏 | 
| 地址: | 100038 *** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 visualdsp 环境 外设 读写 模拟 方法 | ||
本发明公开一种VisualDSP++环境下外设读写模拟方法,通过构建外设读写模拟系统、在内部存储空间添加外设地址虚拟寄存器、在程序读写外设处插桩、在外设地址虚拟寄存器上建立观察点、获取外设读写时机和模拟外设接口数据步骤实现。本发明解决了在VisualDSP++环境下外设地址上的观察点不能触发DSP暂停问题。
技术领域
本发明涉及一种IDE环境下的模拟方法,特别是一种VisualDSP++环境下外设读写模拟方法。
背景技术
VisualDSP++是控制软件典型的集成开发环境,由于控制软件的通讯、数据采集、时序控制功能通过读写接口外设地址实现,为实现控制软件闭环仿真运行,需要模拟外设接口功能,一般的外设模拟方法是通过集成开发环境调试运行控制软件的DSP程序,在外设地址上建立观察点,当程序读写接口外设地址时触发DSP暂停,向该地址注入激励数据以完成读外设操作模拟,或获取该地址的输出数据以完成写外设操作模拟。但是,VisualDSP++提供的观察点功能对外部存储空间范围的地址无效,程序读写外设地址无法触发DSP暂停,不能提供时机给用户进行外设数据模拟。
发明内容
本发明目的在于提供一种VisualDSP++环境下外设读写模拟方法,解决在VisualDSP++环境下外设地址上的观察点不能触发DSP暂停的问题。
一种VisualDSP++环境下外设读写模拟方法的具体步骤为:
第一步 构建VisualDSP++环境下外设读写模拟系统
VisualDSP++环境下外设读写模拟系统,包括:VisualDSP++控制模块和外设模拟模块。
VisualDSP++控制模块的功能为:设置外设地址虚拟寄存器、对程序进行插桩、编译生成目标码文件、设置观察点和获取外设模拟时机。
外设模拟模块的功能为:保存和注入外设接口数据。
第二步 VisualDSP++控制模块在内部存储空间添加外设地址虚拟寄存器
VisualDSP++控制模块分析DSP程序的内存映射文件,找出DSP程序未占用的两个内存地址,分别记为$PRA,$PWA。
第三步 VisualDSP++控制模块在程序读写外设处插桩
VisualDSP++控制模块在DSP程序读外设的代码块起始位置之前插入一段指令,将源外设地址保存到$PRA;在DSP程序写外设的代码块结束位置之后插入一段指令,将目的外设地址保存到$PWA。重新编译生成目标码文件。
第四步 VisualDSP++控制模块在外设地址虚拟寄存器上建立观察点
VisualDSP++控制模块加载DSP程序目标码文件,在$PRA上建立一个存储器观察点,触发类型设置为写触发,触发值为程序读外设代码块的源地址;在$PWA上建立一个存储器观察点,触发类型设置为写触发,触发值为程序写外设代码块的目的地址。
第五步 VisualDSP++控制模块获取外设读写时机
VisualDSP++控制模块将$PRA和$PWA地址单元的值清零后,记当前指令周期数为0,启动调试运行DSP程序。
VisualDSP++控制模块在DSP暂停时,读取当前指令周期数,利用VisualDSP++的内存查看功能读取$PRA和$PWA地址单元的值,当指令周期数发生变化且$PRA地址单元的值非零时,视为读外设事件;当指令周期数发生变化且$PWA地址单元的值非零时,视为写外设事件。
第六步 外设模拟模块模拟外设接口数据
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制与电子技术研究所,未经北京控制与电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811269317.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:页面测试方法及装置
 - 下一篇:一种基于深度学习的代码缺陷检测方法及装置
 





