如何利用keil的AGSI接口
来源:网络收集 点击: 时间:2024-07-29仿真难点:软件仿真的难点主要在于keil平台本身并没有提供诸如fopen/fread等函数接口,所以我们要想脱离硬件方便快速的在windows平台对MP3/WMA解码逻辑进行分析验证,就必须找到一个类似的接口,就如同在硬件平台上一样通过ReadFile将u-disk或者sd card中的数据读取到我们的share buffer中,然后进行分析。

解决途径:Keil提供的AGSI接口,全畜温称为“Advanced Generic Simulator Interface“。AGSI接口其实就是一个由VC编写的DLL,因此keil无法进行的操作诸如fopen和fread等都可以通过该dll来进行。

交互原理:
当keil平台在simulator的模式下面开始运行的时候会调用该DLL的入口函数AGSI entry。然后通过监控mem,SFR等来实现和DLL的交互。注:Keil uVision2以上版本凤泪才可以使用该接口。详细介绍请见Apnt_154.pdf。

软件配置:
打开keil 软件平台,新建或者打开任意一个工程,右击该工程在弹出的菜单中选中option for target,在随后弹出的对话框中选择debug选项,如下图:
--
选中Use Simulator。在左下角dialog DLL的Parameter下的编辑框中输入-dSPeriDLL,其中SPeriDLL是VC工程编译生成的DLL文件名字,-d是命令。另外在进行软仿真的时候如果选中Limit Speed to Real-Time则表示使用本机CPU的时钟进行模拟,近伐蹲这样可以得到更快的仿真速度。
注: Limit Speed to Real-Time选项在8.16和8.16以前版本中代表的含义是相反的。

VC软件配置:
打开VC6.0,选择project-settings,选中debug选项,在executable for debug session编辑框中通过browse找到C:\Keil\UV3\Uv3.exe。再选择custom build选项,然后在commands中输入copy $(InputPath) C:\KEIL\C51\BIN\$(InputName).dll,在output编辑框中输入C:\KEIL\C51\BIN\$(InputName).dll。至此软件配置完成,以后每次VC程序的更改,编译后生成的dll都会被拷贝到keil的目录下面,可直接运行keil,进行软仿真,也可以通过VC启动keil然后和keil进行联调。

开发前定好软件访问共享buffer的协议规则
注意buffer的大小与存储方法
软件开发版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1032035.html