SPEC253 集成开发环境帮助手册.docx
《SPEC253 集成开发环境帮助手册.docx》由会员分享,可在线阅读,更多相关《SPEC253 集成开发环境帮助手册.docx(95页珍藏版)》请在冰豆网上搜索。
![SPEC253 集成开发环境帮助手册.docx](https://file1.bdocx.com/fileroot1/2023-4/21/6334613c-7f89-472d-b346-4a3085158159/6334613c-7f89-472d-b346-4a30851581591.gif)
SPEC253集成开发环境帮助手册
SPE-C2.53集成开发环境
帮助手册
北京时代民芯科技有限公司
2009年11月
目录
第一章概述1
第二章集成开发环境3
2.1开发环境介绍3
2.2主菜单与工具条5
2.3信息输出6
第三章工程与工程管理9
3.1创建和打开工程9
3.1.1新建工程9
3.1.2打开工程11
3.2创建和打开文件13
3.2.1创建文件13
3.2.2打开文件13
3.3工程管理14
3.3.1工程文件管理14
3.3.2添加移除文件16
3.3.3定义为首个编译文件19
3.3.4文件改名19
3.3.5函数导航20
3.3.6工程属性21
第四章文件编辑23
4.1编辑源代码23
4.1.1基本功能23
4.1.2快捷插入及书签23
4.1.3自动同步24
4.2搜索与替换25
4.3编辑器设置28
第五章编译31
5.1编译器参数设置31
5.1.1调试配置31
5.1.2警告信息配置32
5.1.3优化配置选项33
5.1.4代码生成选项34
5.1.5链接地址35
5.1.6生成文件36
5.1.7调试器选项37
5.1.8处理器选择37
5.2编译及链接设置37
5.2.1附加命令行参数37
5.2.2文件/目录选项39
5.2.3Build选项40
5.2.4使用自定义Makefile41
5.2.5编译套件选择42
5.3库的生成44
5.4编译流程44
第六章系统配置47
6.1环境选项47
6.2工具配置48
6.2.1添加计算器49
6.2.2添加控制台50
第七章调试53
7.1调试介绍53
7.2调试器配置55
7.2.1调试信息添加55
7.2.2调试程序下载地址55
7.2.3处理器选择56
7.3服务器设置56
7.4开始调试57
7.5调试信息60
7.5.1存储器62
7.5.2寄存器堆64
7.5.3调用栈64
7.5.4片上寄存器64
7.5.5变量66
7.5.6指令跟踪67
7.6参考调试命令行68
7.7使用控制台GDB调试69
7.8使用gdbtk调试71
第八章链接、boot和rom固化74
8.1程序布局及链接74
8.1.1程序布局74
8.1.2链接75
8.1.3映像文件生成77
8.2引导79
8.2.1boot的原理79
8.2.2boot示例79
8.2.3其它80
8.3flash烧写81
8.4整体解决82
8.4.1流程82
8.4.2在IDE中的实现82
8.5注意事项87
第九章常见问题89
9.1开发89
9.2编译90
9.3调试91
9.4系统常用快捷键93
9.5c语言开发94
9.5.1关键字extern与short、char类型94
第一章概述
SPE-C是SPARCv8兼容系列处理器(MXT0105,MXT0106等)的专用集成开发环境,它使用C语言做为其编程语言,运用SPARCV8平台适用的gcc作为编译器,能在本地Win32的环境下运行。
它具备了集成开发环境所有必要的功能,包括集成的源代码编辑,工程管理,编译调试,环境设置等,方便用户基于MXT0105/MXT0106系列处理器的应用开发和程序调试。
新的SPE-C版本主要增强了调试部分的功能,实现了编辑开发和调试功能的集成,极大的提高了开发环境的易用性和方便性。
新集成的调试部分功能包括断点、逐语句/过程运行、查看和修改寄存器堆/存储器/片上寄存器、指令跟踪等,实现了调用栈和变量的查看等。
总体来说,SPE-C有如下主要特点:
✧编程语言为C语言
✧支持GCC编译器
✧集成调试功能
✧新建工程提供系统初始化模版框架
✧提供可供修改的全定制链接脚本
✧创建生成文件脚本
✧工程管理,分类预览
✧支持中英文两种语言
✧工程独有属性
-编译属性
-编译链接属性
-编译库配置属性
-用户自定义参数
✧文件函数预览
✧代码编辑,语法高亮
✧变量属性提示
✧函数浏览及快速检索,快速定位(文内及工程)及文字替换
✧支持打印及系统统计
✧文件内书签功能
第二章集成开发环境
SPE-C安装在硬盘上之后,由安装程序生成程序组,选择SPE-C程序的图标,双击使之运行,这样便启动了SPE-C的集成开发环境(IDE)。
在集成开发环境内可以管理工程、编写代码、配合硬件开发调试程序。
2.1开发环境介绍
第一次运行SPE-C集成开发环境程序时,系统将默认设置为中文界面,下图为SPE-C的主界面。
图2-1IDE启动界面
初次使用或者从旧版本升级,建议首先进行系统配置,避免使用系统的历史遗留配置和初始配置,主要进行配置的项目包括环境选项和编辑器选项。
打开系统菜单“工具”一栏,有“环境选项”和“编辑器选项”可进行系统界面风格,编辑、显示习惯等项目的设置。
关于各选项设置的详细说明,见第六章。
下图为集成开发环境在开发和调试时可见的主界面,它集成了工程编辑、编译、调试等开发的主要元素:
左侧为工程管理和类导航区,上方是主菜单和工具栏按钮,右侧为调试信息区域,中间为编辑区,下方上部是编译和查找等输出信息,最下部是状态栏。
图2-2IDE主界面
在系统主菜单“视图”中,取消选中“工程管理”,将会使工程管理部分隐藏,反之选中后会出现。
同样,选中“状态条”会使状态条出现在IDE界面的最下部,取消选中后消失。
图2-3视图菜单
工程管理和状态条这两项系统默认是选中的,系统启动时它们自动出现。
2.2主菜单与工具条
IDE主界面的上方是主菜单和工具条。
通过操作主菜单,用户可以完成各种操作;主菜单和工具条如下图所示:
图2-4主菜单与工具条
工具条(Toolbar)中的加速按钮是带有图案的按钮,它是执行命令的快捷方法。
用鼠标单击加速按钮会执行某个特定的任务,所有的加速按钮执行的命令均可以通过菜单操作实现。
工具条主要包括主工具条、编辑、查找、编译、工程相关,还有帮助、文件、查看函数、调试状态和调试控制工具条,其具体功能说明如下:
主工具条
新建文件/工程,插入时间/模版,
设置和使用标签
文本查找/替换等
文本编辑时撤销/重做
工程编译/全部编译
工程中添加/移除文件
函数导航/跳至文件
调试状态信息
调试控制
工具条的内容可以修改:
用鼠标右击工具条区,弹出菜单可以修改工具条的内容;选中某个条目,相应的项目会出现在工具条区,反之消失。
点击系统菜单“视图”选“工具条”下拉菜单也可以进行选择。
图2-5工具条菜单
当工具条菜单被勾选时,相应的工具条就出现在工具条区域。
反之不出现。
工具条的位置用户可以拖动进行修改,工具条是否出现及出现的位置经过修改之后下次启动界面后会保持。
2.3信息输出
在IDE的下方,有信息输出的区域。
输出的信息包括编译时产生的错误、警告信息,编译时使用的命令行信息,搜索的结果等。
点击“关闭”页面可以取消此区域的显示。
图2-6信息输出区域
编译时产生的错误信息和警告信息以行的形式显示在表格中,如下图所示。
双击表格中带行号的行,可以准确定位到源代码中出错的位置。
图2-7编译器信息
编译日志一项会显示编译命令脚本makefile文件被执行的命令行。
如果编译出错,会在错误处停止。
当命令行执行成功时,在编译日志中也会显示此命令行执行的结果。
图2-8编译日志输出
搜索信息框显示搜索的结果,包括行号,文件名等,以行的形式显示。
单击其中的一行可以在编辑器中跳到相应的文件中的指定行,如下图所示:
图2-9搜索结果输出
搜索包括在文件中搜索和在工程中搜索。
在调试程序时,调试部分的中间信息会在调试界面输出,用户可以在这里和后台的gdb进行交互,具体见第7.6节:
图2-10调试输出
用户可以直接在下方的输入框进行输入,以回车来确认。
第三章工程与工程管理
3.1创建和打开工程
进行一个新的软件项目的开发时,需要创建一个新工程。
打开SPE-C,当用户鼠标点中“文件”菜单中的“新建”选项时,菜单显示子菜单两项:
“源代码”和“工程”。
两个子菜单项分别对应实现了新建源代码和新建工程。
3.1.1新建工程
创建新工程可以点击系统菜单“新建”,选择“新建工程”,如下图所示。
图3-1新建工程菜单
点击“建新工程”将弹出界面如下所示:
图3-2新建工程界面
新建工程时,选择“SPARCExecutableImage”将创建一个能生成可执行程序的工程;可选择工程为C工程,或者C++工程(一般应选择C工程),在相应的编辑框中填写工程名称,选择工程路径,然后按确定按钮即可。
处理器选择是让用户选择所开发程序的目标处理器类型,目前可选择的有MXT0105一种。
创建工程时系统会自动生成trap.S汇编源文件、C语言源文件main.c、一个链接脚本文件linksparc.ld,和一个芯片相关的头文件,并自动添加到工程中。
trap.S、linksparc.ld、两个文件的模版在sparc-elf\lib\目录下;MXT0105适用的是MXT0105_trap.S文件,头文件是MXT0105.h。
用户可以直接修改以便创建工程时自动使用最新版本;但要记得备份。
图3-3新建的工程
系统自动添加的这三个文件保存在用户指定的工程文件路径下,用户可以在工程中修改,不影响模版。
如果用户指定的工程文件路径下已经包含这几个文件,则会被直接添加到工程中。
在工程路径选择时,尽量不要使用含有类似“新建文件夹(4)”带标点符号(全角符号,空格等)的路径,避免调试时无法下载程序(可以正常启动gdbserver但是下载程序失败)导致调试失败。
3.1.2打开工程
打开工程可以选择从工程文件打开,从工程文件中打开时打开文件需要选择.spe为后缀的SPE-C工程文件。
图3-4从工程文件打开
打开工程时如果当前有工程打开将先关闭当前工程,关闭前有系统提示:
图3-5关闭工程确认
也可以选择从历史打开纪录中打开工程:
图3-6从历史记录打开
历史记录中打开过的工程如果被删除(在原位置不存在了),则未关闭SPE之前再次打开,系统提示:
图3-7未找到文件
下次打开SPE的时候,此历史记录将被清除。
3.2创建和打开文件
3.2.1创建文件
新建工程之后,可以新建文件添加到这个工程中。
点击“文件”菜单下“新建”中的“源代码”选项,会建立一个新的空文件,并在代码编辑器中显示一个空文档,命名为Untitled*,用户可以编辑这个文件。
图3-8创建文件
当存在一个工程时,用户在创建新文件时会提示“是否在工程中添加新单元”,如下:
图3-9添加新单元提示
如果用户点击确定,则把这个新建的文件加入到当前工程中。
3.2.2打开文件
用户在编辑或查看文件时,需要先打开文件。
要打开工程中的文本文件,建议用户从工程的文件树状导航区选择打开。
用户可以选择打开的文件包括C语言源文件,头文件和文档文件(.c,.txt,.h,.s,.asm,.ld)等文本文件,打开后的文本文件显示在编辑界面中。
当用户选择打开其它二进制文件(.bin,.exe,.doc,.pdf等)时,IDE系统的编辑界面将显示为乱码。
用户打开一个文件,若此文件不在工程中,则用户关闭工程时此文件不被关闭。
图3-10打开文件
当用户选择的文件是.spe结尾的工程文件时,系统将启用打开工程的功能,打开此工程。
用户在保存文件时,请勿将其它文本文件保存为.spe结尾的文件(即.spe结尾的文件为SPE-C工程专用文件),以避免下次打开时出现错误。
3.3工程管理
在IDE的左侧是工程管理与导航区域,分为两个页面,标题为左右排列。
3.3.1工程文件管理
打开一个工程后,在工程管理界面显示工程名称和它包含的文件,并以下拉树结构实现。
树中可以显示的元素包括四种类型:
文档文件,映像文件,头文件和源文件等工程文档。
用户点击每种类型前的“+”号,可以展看查看其中的多个文件。
图3-11树状工程文件导航
文档文件中包括用户添加的对本工程的说明注释文件;
源代码部分包括系统可编译的c语言文件和汇编文件;
头文件部分包括用户加入的c语言头文件(.h)文件;
在映像文件中包括:
链接脚本(linksparc.ld)、
makefile文件(makefile.win)
工程的可执行文件(*.exe)
二进制映像文件(*.bin)
反汇编文件(*.asm)
带源代码的反汇编文件(*_src.asm)文件;(其中的.exe/.bin/.asm/_src.asm文件只有在编译完成系统生成后才能显示在映像文件这一类别中)
相关文件的可处理情况如下:
源文件、头文件(*.c、*.h)
可查看,可编辑,可移除
链接文件(*.ld)
可查看,可编辑,不可移除
反汇编文件(*.asm、*_src.asm)
可查看,不可编辑,可移除
目标文件(*.bin、*.exe)
不可操作
文档文件(.txt等)
可查看,可编辑,可移除
源文件在树状表示中所出现的位置,以用户把这个文件加入工程的顺序为准,编译/链接的顺序也以此顺序为准。
3.3.2添加移除文件
在工程管理树状结构中选中当前工程,点击鼠标右键弹出菜单如下图所示:
图3-12工程管理菜单
✓添加文件:
选择“工程”菜单选项中“添加”选项进行添加,或者在工程管理中的右键菜单中选择“添加”,可以同时往工程里添加多个系统可以识别的文件,包括.txt/.c/.C/.s/.S/.ld等,且系统将分类显示在工程管理的树状结构中。
注意:
已经在工程中的文件不能重复加入工程。
如果添加了同一个文件,则系统提示如下:
图3-13重复添加文件提示
系统应用的链接脚本文件为linksparc.ld文件和stack.ld文件(stack.ld文件不能手工修改),其余添加的ld文件用户只能在自定义Makefile中使用。
✓移除文件:
有多种方式从工程中删除文件,可以选择“工程”菜单选项,然后选择“移除”,选择列表中需要删除的文件,或者直接从工程中需要删除的文件点右键选择,并选择“移除”即可,系统提示如下,按“Yes”即可。
图3-14移除文件确认
从“工程”菜单移除文件的界面如下(此时无提示):
图3-15移除文件界面
✓导出文件
点击导出bin文件,选择文件夹即可把工程中的.bin文件拷贝到指定的文件夹中。
图3-16导出文件路径选择
当.bin文件不存在时,用户需要重新生成。
图3-17待导出文件不存在提示
✓进入文件夹
进入文件夹可以进入用户当前工程所在的文件夹,便于查找文件。
3.3.3定义为首个编译文件
在确定源文件的编译顺序时,通常以源文件加入工程中的顺序为先后来生成目标文件和链接,有时候需要把后加入的源文件定义为首个编译文件,比如trap.S(因为trap.S中对trap的处理表通常安排在存储器的首部),此时可以在需要提为第一个的源文件上右击,弹出菜单如下:
图3-18定义为首个编译文件菜单
选择“定义为首个编译文件”之后,此文件就会在树状导航的窗口的第一个位置出现。
3.3.4文件改名
在树状文件导航中右击具体的某个文本文件(源文件,头文件和文档文件),弹出的菜单中还可以选择为此文件改名。
图3-19文件重命名输入
在随后弹出的输入框中键入新的文件名,确认即可实现改名。
改名后提示改名成功。
图3-20改名成功提示
如果用户键入的新文件名和原文件名有冲突,则系统进行提示:
图3-21文件改名失败提示
此时用户对文件的改名失败。
3.3.5函数导航
查看函数功能是导航系统的主要功能之一。
在查看函数部分显示了系统中的主要函数和全局变量以及所定义的数据结构和类型声明等。
图3-22树状函数导航
当用户选择当前工程文件时,在导航视图中将显示所有源文件中的变量和函数;当用户选择当前文件时,当前激活窗口的c文件中的变量和函数会显示在导航视图中,此时用户在各源文件之间切换时,导航内容也会随文件内容切换。
与文件导航相类似,单击函数导航中某个条目可跳至其在相应文件中的相应位置。
主工具条上的导航选择也可以起到同样的作用:
从右侧选择相应的函数,可以在编辑框跳转到响应的代码处。
3.3.6工程属性
点击菜单中的“工程”中的“工程属性”会出现如下工程选项界面,工程选项中默认页“普通”,显示了在开发工程的一些基本属性:
图3-23工程基本属性
在这里可以看到工程名,文件名,输出文件和文件统计信息。
其余工程属性的选项见编译和调试章节介绍。
第四章文件编辑
4.1编辑源代码
4.1.1基本功能
在IDE的主区域可以进行源代码的编辑。
编辑时除了使用键盘操作之外,还可以使用IDE提供的菜单及其相应的快捷方式进行操作,主要的快捷方式和Windows环境下通用的的快捷方式类似。
图4-1编辑菜单
编辑后的文本内容用户需要进行保存,或者在编译前系统自动保存。
4.1.2快捷插入及书签
在源代码编辑功能中,除了基本的撤销键入、重复键入、剪切、复制、粘贴、全选等常用的编辑功能相应的菜单和快捷键外,还有插入时间和文件头注释以及书签功能,像工具栏上的
的后三个按钮所具备的功能。
当用户在“编辑”菜单选择“插入”时,扩展菜单包括两项:
图4-2快捷插入
当选择日期/时间时,在代码查看界面中光标位置处添加当前时间年月日及时间,如:
01-11-0611:
33。
当选择程序注释时,在代码查看界面中光标位置处添加:
/**
*Name:
*Copyright:
*Author:
*Date:
当前时间
*Description:
*Changelog:
*
**/
用户可以根据需要修改。
当用户在编辑界面按下Ctrl+数字键时,就在此处添加了一个书签;当按下Alt+数字键时,就可以将编辑光标移动到书签处,如下所示:
图4-3编辑界面中的书签
在同一个地方添加第二次书签,新书签将生效;同一个书签号则书签被取消。
书签的添加和使用只在同一个文件中有效,不同的文件将不会存在书签重复的现象;也不能利用书签在文件中跳转。
4.1.3自动同步
当用户在IDE中打开的文件被其它编辑器修改并保存时,IDE可以自动探测到此变化,并对用户进行提示:
图4-3同步文件提示
当用户在IDE中打开的文件被从硬盘上删除时,IDE可以自动探测到此变化,并对用户进行提示(打开的文件内容仍然显示):
图4-4文件不存在提示
4.2搜索与替换
系统提供了整套的搜索与替换菜单便于用户操作:
图4-5搜索菜单
搜索功能包括在本当前文件中查找和在整个工程中查找。
图4-6在文件中搜索
查找的结果会在SPE-C界面下方显示结果。
对于结果的每一行,双击即可定位到源代码中的相应位置。
还可以扩大搜索的范围,在工程中查找。
图4-7在工程中搜索
下图为替换界面:
图4-8替换
跳至函数和跳至指定行的功能也为用户的编辑提供了方便,跳至函数可以使光标跳至用户指定工程中的任意函数处,界面如下所示:
图4-9跳至函数
图4-10跳至行
使用跳至函数和跳至行可以方便用户在开发和调试过程中的定位。
4.3编辑器设置
编辑器选项定义了编辑器运行环境的基本参数,其中包括:
基本设置、编辑器显示字体、大小设置、编辑文件中语法显示颜色设置、函数浏览设置等,用户可以根据自己的喜好和开发的习惯进行选择。
点击“工具”菜单中的“编辑器选项”一条,即可弹出编辑器选项的选择界面,各个页面如下所示:
图4-11编辑器属性菜单
在显示属性中用户可以设置编辑器的字体,装订线及行号等内容。
图4-12编辑器属性中显示属性设置
图4-13编辑器属性中语法设置
图4-14编辑器属性中浏览类界面
浏览类功能和代码补全功能尚不完善,正在建设中。
当用户允许类浏览时,才能正常使用导航菜单中的函数导航。
以上在用户做了修改以后,点击“确定”即可立即生效。
第五章编译
这章主要讲解了如何配置编译器和如何编译用户的程序。
5.1编译器参数设置
打开工程后,在系统主菜单“工程”下点击“工程属性”一项,可弹出工程选项相关设置。
选择工程选项中的“编译器”一页会出现编译器设置相关选项:
图5-1编译器设置
在这一页中分别显示了编译器参数设置,链接器参数设置和调试器参数设置三个大类,每大类下都有若干小类,下面分小类进行说明。
5.1.1调试配置
生成调试信息-g
如果选择YES则编译完成生成的exe文件中带有调试信息,如果用户要调试源代码或要生成带有源码的反汇编文件,就需要加入这个参数。
图5-2调试配置
5.1.2警告信息配置
图5-3警告信息设置
警告信息置是设置编译器在编译代码时是否要产生相应类型的警告信息:
1、忽略所有警告信息-w
2、设置所有警告信息-Wall
3、变量屏蔽另一个变量警告-Wshadow
4、ANSIC扩展警告-pedantic
5、程序返回值警告-Wbad-function-cast
6、指针限定警告-Wcast-qual
7、变量未使用警告-Wunused
8、指针指示地址未对齐警告-Wcast-align
9、强制类型转化警告-Wconversion
10、变量未预先声明警告-Wmissing-declarations
11、TraditionalandANSIC警告-Wtraditional
其中1和2两项不可同时选中。
5.1.3优化配置选项
图5-4优化选项
优化选择对应的参数:
没有优化-O0
普通优化-O1
更多优化-O2
最佳优化-O3(这四项选择用户不可同时打开两项及以上)
注意:
编译器可以对用户程序代码进行适当的优化,有不同的优化级别可以选择。
O2和O3两种优化对代码的优化侧重点不一样,并不一定O3比O2优化力度大,如果用户有特定的优化要求,可以人工添加在如5.2.1节所示的地方。
如果用户没有选择,那么编译选项在优化方面将不做设定。
如果用户要调试代码,在编译时尽量不要选择优化,因为代码优化后顺序可能进行更改,调试时会出现和源代码不匹配现象。
5.1.4代码生成选项
图5-5生成代码选项
代码生成选项主要定义了在代码编译过程中如何进行数据类型转换和数据分配:
Double浮点类型和f