⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 其他资料 整理 ads 设定.txt

📁 ads1.2学习资料,对arm初学者有帮助.
💻 TXT
📖 第 1 页 / 共 2 页
字号:

嵌入式实验介绍
----- 软件平台介绍
实验环境ADS和Multi ICE
ADS是一个使用方便的集成开发环境,全称是"ARM Developer Suite v1.2 ",它是由ARM公司提供的专门用于ARM相关应用开发和调试的综合性软件.我们在本实验指导书中用到了"CodeWarrior for ARM Developer Suite"和"AXD Debugger"两个部件.
其中CodeWarrior for ARM Developer Suite用于生成和编译工程,AXD Debugger用于下载和调试工程项目. 
一,ADSv1.2( ARM Developer Suite v1.2)
Multi-ICE Server是由ARM公司提供的Windows操作系统下ARM JTAG的配置程序.通过它可以使ARM JTAG与目标板建立通讯连接,并能够反馈目标板上ARM处理器的硬件信息.Multi-ICE Server可以适应大多数JTAG仿真器而不需要其它特别的驱动.
这个软件为主机(上位机)和实验板(下位机)之间打建了软件的桥梁(硬件的桥梁就是仿真器).在工程的下载,调试,单步运行中这个软件要始终打开. 
二, Multi-ICE Server
ADS介绍
1,打开ADS
点击:桌面-开始-程序-ARM Developer Suite v1.2-CodeWarrior for ARM Developer Suite: 
2,打开ADS IDE中的CodeWarrior 编译器,打开拷贝到硬盘的"\assemble"目录下的Assemble.mcp工程文件.
窗体上部1部分是项目类型,点击下箭头出现下面下拉菜单: 
其中,Debug是调试类型,Release是发布类型,DebugRel是通用类型,我们选用DebugRel. 
3,点击窗口中2按钮打开设置窗口: 

设置Target Setting选项组

Linker用于选择使用的连接器,可能取值如下:
ARM Linker:选择ARM连接器armlink连接编译器和汇编器生成的目标文件
ARM Librarian:选择ARM的library工具,将编译器和连接器生成的文件转化为ARM库文件.
None:不使用任何连接器,这时工程项目中文件不会被汇编器和编译器处理.
Pre-Linker:CodeWarrior IDE for ARM当前没有使用本选项
Post-Linker:用于选择对连接器输出的文件的处理方式,可能的取值如下:
None:不进行连接后的处理
Arm fromELF: 使用ARM工具fromELF处理连接器输出的ELF格式的文件,它可以将ELF格式的文件转换成各种二进制文件
Batch File Runner:在连接完成后运行一个dos格式的批处理文件.
Output Directory:用于定义本工程项目的数据目录.工程项目的生成文件存放在该目录中,默认取值为{Project}.

设置Access Paths选项组

User Paths:用于指定用户路径,默认为{Project},是当前工程项目所在的路径.ADS中各种工具在用户路径中搜索以下内容:用户头文件,头文件对应的库文件以及用户的源文件.当用户将某个目录的源文件添加到项目时,该目录自动添加到User Paths中.
System Paths:用于指定系统路径,默认为{compiler}lib和{compiler}include. ADS中各种工具在系统路径中搜索以下内容:C++系统头文件和头文件对应的系统库文件.
Always Search User Paths:用于指定在用户路径下搜索系统头文件.

设置Build Extras选项组

Use modification date caching复选框:如果源文件在CodeWarrior IDE之外被修改, CodeWarrior IDE不检查该修改日期,可以节省编译时间.当使用第三方编译器或处于多用户环境时,不要选择本复选框.
Cache subprojects复选框:选择该复选框可以提高多工程项目时的更新和连接速度,不选择可以节省CodeWarrior IDE需要的存储空间.
Activate Browse复选框:可以产生CodeWarrior IDE需要的浏览器信息
User External debugger复选框:选中该复选框可使用第三方调试器.
Runtime Setting选项组:该选项组当前在CodeWarrior IDE for ARM里没有使用.
设置File Mapping选项组:用于指定特定文件扩展名称所对应的CodeWarrior IDE中内嵌的工具.比如:扩展名.c对应着ARM C语言汇编器.该选项组中的选项确定了CodeWarrior IDE认识哪些扩展名称的文件
设置Source Trees选项组:其中定义的路径名称可以被Access Paths等选项组中的选项使用.
设置ARM Target选项组:
Output Name:选择输出文件名,默认为工程名.
Output Type:选择输出文件种类,默认为ARM连接.

汇编器选项设置:设置ARM Assembler

Target 选项卡设置:
Architecture or Processor下拉列表框:用于选择目标系统中的ARM体系结构版本号或者处理器编号.
Floating Point下拉列表:用于选择系统中浮点部件的体系结构,设置本选项后将使得特定CPU型号所含的浮点部件的体系结构失效.可能取值如下:
FPA Formats and Instructions:选择使用浮点加速器(FPA).
VFPv1 Formats and Instructions:系统中包含硬件的向量浮点运算部件,如ARM10v0,该部件符合vfpv1标准.
VFPv2 Formats and Instructions:系统中包含硬件的向量浮点运算部件,如ARM10v0,该部件符合vfpv2标准.
Old-Style Mixed-Endian softfp:使用软件的浮点运算库,该浮点运算库支持混合的内存模式,可以同时包含big-endian和little-endian.
Pure-Endian softfp:使用软件的浮点运算库,该浮点运算库支持单一的内存模式,要么为big-endian格式,要么为little-endian格式.
VFP with softvfp calling standard:可以支持软件浮点运算库,也支持到硬件VFP的连接.适合在系统中存在Thumb指令,同时包含硬件VFP的场合.
No floating point:不支持浮点运算.
Initial State:决定运行用户程序时,系统的状态是ARM状态还是Thumb状态.设置该选项不能切换系统状态,程序中必须包含进行程序状态切换的代码.
字节单元A+3
字节单元A+2
字节单元A+1
字节单元A
字单元A
31
24 23
16 15
8 7
0
图1 Big-endian格式的存储系统
字节单元A
字节单元A+1
字节单元A+2
字节单元A+3
字单元A
31
24 23
16 15
8 7
0
图2 little-endian格式的存储系统
Byte Order:使用big-endian内存模式还是little-endian内存模式.
big-endian:地址为A的字单元包括字节单元A,A+1,A+2和A+3字节单元由 高位到低位字节顺序为A,A+1,A+2,A+3.
little-endian:地址为A的字单元包括字节单元A,A+1,A+2和A+3字节单元由高位到低位字节顺序为A+3,A+2,A+1,A.

ATPCS 选项卡设置:

设置合适的ATPCS选项可以使汇编器在生成的目标文件中包含相应的属性标识符,这些属性标识符可以供连接器使用
Calling Standard: 指定汇编程序代码是否遵守一定的ATPCS标准.
Predeclare Register Names : 指定汇编器是否认识ATPCS标准中预定义的寄存器名称.
ARM/Thumb interwork:选中,则指定源程序中有ARM和Thumb指令混合使用
ReadOnly Position Independent:选中,则指定源程序是ROPI(只读位置无关),ARMASM默认/noropi.
Read-Write Position Independent:选中,则指定源程序是RWPI(读写位置无关), ARMASM默认/norwpi 
Software stack: 有三个单选按钮
On 指定源程序进行软件数据栈限制检查
Off 指定源程序不进行软件数据栈限制检查
Not Applicable 指定源程序既与进行软件数据栈限制检查的程序兼容,也与不进行软件数据栈限制检查的程序兼容

Options 选项卡设置:

Check Register Lists :选中则ARMASM检查指令RLIST,LDM等指令的寄存器列表,保证其按编号由小到大顺序排列,否则产生警告.
No Warning:选中ARMASM不产生警告
Source Line Debug:选中则ARMASM产生DRAWF2 格式的调试信息表
Keep Symbols:选中,则ARMASM将局部符号保留在目标文件的符号表中,供调试器进行调试使用.
Ignore C-Style escape characters : 选中则ARMASM忽略C风格的转义字符如"\n"
Fault long running Load and Store Multiples:选中,则如果指令LDM/STM中的寄存器个数超标, ARMASM将认为该指令错误
Predefines 选项卡设置:可以定义一个全局变量,并可以赋值.
Variable输入全局变量的名称;在Directive下拉列表中选择为该变量赋值的伪操作;Numeric为全局变量赋值
List of predefines 中可以选择已经定义的全局变量

List Control 选项卡设置:

Extras 选项卡设置:

可以设置一个via格式的配置文件,这样各汇编选项的值可以从该文件读入

编译器选项设置:有ARM C,ARM C++,Thumb C和Thumb C++四种编译器,这几种编译器设置方法相同,以ARM C为例介绍.
Target and Source选项卡设置:
Architecture or Processor下拉列表框:用于选择目标系统中的ARM体系结构版本号或者处理器编号.
Floating Point下拉列表:用于选择系统中浮点部件的体系结构,设置本选项后将使得特定CPU型号所含的浮点部件的体系结构失效.取值范围与前面汇编器介绍相同.
Byte Order:使用big-endian内存模式还是little-endian内存模式.
big-endian:地址为A的字单元包括字节单元A,A+1,A+2和A+3字节单元由高位到低位字节顺序为A,A+1,A+2,A+3.
little-endian:地址为A的字单元包括字节单元A,A+1,A+2和A+3字节单元由高位到低位字节顺序为A+3,A+2,A+1,A.
Source Language:确定源文件的类型,可能取值如下:
ANSI/ISO Standard C:指定源程序满足比较严格的ANSI C标准,这时删除了一些语言特性,扩展了一些细小的功能.
Strict ANSI/ISO Standard C:指定源程序满足严格的ANSI C标准.
对于C++编译器来说还有下面三个选项:
ISO/IEC Standard C++:基本满足ISO/IEC C++标准,扩展了一些细小的功能.
Strict ISO/IEC Standard C++:严格满足ISO/IEC C++标准.
Embedded C++:指定源程序满足工业C++标准,即Embedded C++标准. Embedded C++语言是标准C++语言的一个子集,它主要用于嵌入式应用环境,更注重代码执行效率.
连接器选项设置:包括5个选项卡,分别为Output,Option,Layout,Listings和Extras.

Output选项卡:用来控制连接器进行连接操作的类型,可以有三种类型的连接操作,如图为Partial,Simple和Scattered.

Output选项卡

Linktype选项组中的单选按钮确定使用的连接方式.
Partial:连接器执行部分连接操作,部分连接生成ELF格式的目标文件.这些文件可以在作为进行进一步连接时的输入文件,也可以作为armar工具的输入文件.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -