- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDSP集成开发环境设计与实现
EDSP集成开发环境设计和实现
[摘要] 基于嵌入式芯片的应用开发需要一个良好的集成开发平台,本文分析了嵌入式系统集成开发环境基本功能,针对ADSP218x系列改进的EDSP218x系列芯片,提出了嵌入式系统集成开发环境的设计思想,对指令仿真和调试器仿真做了详细探讨,并介绍了程序实现方法。
[关键词] 集成开发环境(IDE) 解释模拟编译模拟断点调试ELF
引言
软件开发工具的效用已经成为选择一款DSP处理器时最重要的标准之一。目前商用集成开发环境大多数只支持某一系列的产品,若用户对芯片进行改进,原有开发环境就不能满足开发需要,这给开发者造成了极大的不便。通过对嵌入式集成开发环境系统的研究,作者研制了一套开放的集成开发环境,可方便用户在此平台上进行交叉开发。
一、嵌入式系统集成开发环境简介
L.P. Maguire在文中指出,作为一款完整的嵌入式集成开发环境(Integrated development environment,以下简称IDE)应包括基本工具、首选工具和可选工具。其中基本工具包括编辑器、编译/汇编器、调试器、模拟器。首选工具包括配置管理、工程管理、仿真工具等。可选工具包括系统分析和设计、数学工具等。而目前国内对嵌入式集成开发环境的研究起步较晚,自主产品较少,大多是在国外产品的基础上进行二次开发。作者通过对国外嵌入式集成开发环境的研究,结合EDSP218X系列芯片的特性开发了EDSP集成开发环境。
本系统集代码编辑、工程管理、编译、调试和第三方工具集于一体,充分考虑了IDE的可扩展性,方便用户自由添加第三方工具。本系统提供了对基于Analog Device公司ADSP218x系列改进的EDSP218X系列芯片的仿真,在此平台下可对应用软件进行实时调试并进行交叉开发。下面侧重介绍本系统的对EDSP218X系列芯片的硬件仿真和调试器仿真。系统的开发界面如图1所示。
二、硬件仿真
1.DSP仿真
DSP仿真就是通过软件来模拟DSP硬件运行,建立模拟运行环境。它主要包括指令仿真、寄存器仿真等。下面介绍EDSP218X系列芯片仿真的原理和在VC6.0中的实现方法。
(1)寄存器仿真
硬件中寄存器主要用来缓存数据,状态表示等。在EDSP218x系统芯片中共有198个寄存器,我们用多个结构来表示这些寄存器,以便分类。例如:
typedef unsigned long Reg;
struct DAGReg //用此结构表示所有数据地址发生器中寄存器
{
Reg I0;
……;
Reg L7;
}
(2)指令仿真
目前,指令仿真主要采用解释模拟和编译模拟两种。解释模拟可以清晰地表述出指令的执行过程,简单易懂,它的时间主要开销在取指令和解码指令,速度较慢。编译模拟效率高,它的时间主要开销在编译和计算。根据实验比较,被模拟程序运行一次,解释模拟的性能比编译模拟要优。集成开发环境中我们对EDSP218x指令集用解释模拟,解释模拟的流程如图2所示。
EDSP218x系列芯片指令分为七大类,每条指令长度为3字节。我们通过指令模拟器来模拟每一条指令的运行及运行结果的反馈。首先我们用指令掩码来判断指令类型,然后调用相应指令的模拟函数完成指令运行。掩码数据结构定义如下:
typedef unsigned long OPCODE;
typedef struct
{
OPCODEInsMask; //掩码
OPCODEInsVal; //指令与掩码的操作结果
void (*detype)(OPCODE x);//*detype为该类指令模拟函数指针,x为输入的指令代码
} InstuctionType;
例如:指令7800B3通过指令掩码可判断为带寄存器写的移动指令,其汇编语言为:dm(I4,M7) = MR0,含义为将寄存器MR0中的值送到数据存储器I4+M7地址处。我们用下面的函数来模拟其运行:
MovWithDMWrite()
{
Unsigned int add;
add = I4 + M7;
WriteDataMemory(add, MR0); //写数据存储器
UpdateRegister(); //更新寄存器数据显示
}
2.存储器仿真
硬件中存储器主要用来存储代码和数据。在EDSP218x中分为程序存储区、数据存储区、字节存储区和I/O存储区。存储器空间一般比较大,如果在程序中动态申请开销很大。所以我们通过定义固定数组来实现对存储器的仿真。源文件经过编译生成可执行文件后,我们通过一组
您可能关注的文档
最近下载
- 班主任工作手册:日常管理与学生指导.docx VIP
- 三级综合医院应急预案与流程汇编.pdf
- 工会规章制度总汇编.pdf VIP
- 中小学班主任工作手册与日常管理.docx VIP
- 2025上半年广西现代物流集团社会招聘、校园招聘149人笔试备考题库及答案解析.docx VIP
- 2025年教科版(2024)小学科学二年级上册(全册)教学设计(附目录).docx
- FMFQ100×2型气压磨粉机..doc VIP
- 生物信息学软件:QIAGEN CLC二次开发_(11).高级功能与优化.docx VIP
- 生物信息学软件:QIAGEN CLC二次开发_(8).基因组浏览器使用.docx VIP
- 生物信息学软件:CLC Genomics Workbench二次开发_(14).算法优化与性能提升.docx VIP
原创力文档


文档评论(0)