汇编器选项设置:设置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状态.设置该选项不能切换系统状态,程序中必须包含进行程序状态切换的代码.
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 选项卡设置: (ARM and Thumb Procedure Call Standard)
ARM/Thumb 程序调用标准有关的选项
设置合适的ATPCS选项可以使汇编器在生成的目标文件中包含相应的属性标识符,这些属性标识符可以供连接器使用
Calling Standard: 指定汇编程序代码是否遵守一定的ATPCS标准.
Predeclare Register Names : 指定汇编器是否认识ATPCS标准中预定义的寄存器名称.
ARM and Thumb Procedure Call Standard
ARM/Thumb interwork:选中,则指定源程序中有ARM和Thumb指令混合使用
ReadOnly Position Independent:选中,则指定源程序是ROPI(只读位置无关),ARMASM默认/noropi.
noropi把源程序汇编成只读的位置相关的代码或数据,这意味着应该为程序段指定绝对地址。
Read-Write Position Independent:选中,则指定源程序是RWPI(读写位置无关), ARMASM默认/norwpi
当选择 inter 选项时,编译器会在不同状态的子程序调用时加入一段代码 veneers,帮助完成状态转换。但是在使用汇编语言时,可以用BX,BLX指令实现这种转换,这时不需要编译器加入程序段 veneers.
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将认为该指令错误
在对源程序汇编时将检查指令 LDM 和 STM 的寄存器列表,要求寄存器列表符合以下条件:
1. STM指令,寄存器列表不得多于5个;对于所有LDM指令.寄存器列表不得多于5个且不得包含PC.
2. 如果LDM指令包含PC,则存器列表不得多于4个.
上述条件是为了避免多寄存器传输引起中断延时.
Predefines 选项卡设置:预定义有关的选项,可以定义一个全局变量,并可以赋值.
Variable输入全局变量的名称;在Directive下拉列表中选择为该变量赋值的伪操作;Numeric为全局变量赋值
List of predefines 中可以选择已经定义的全局变量
List Control 选项卡设置:
list o: 列表文件选项.选择该项,在对源程序汇编时会生成一个详细的列表文件.后缀名为lst.
terse: 精简列表文件选项.将不被执行的代码不编译成目标代码.
Cross-references: 交叉引用符号信息选项,选中,则列表文件包含各文件之间交叉引用的符号信息.
width,length:列表文件的宽度和文件长度.默认 79(宽) * 66 行.
Extras 选项卡设置:
可以设置一个via格式的配置文件,这样各汇编选项的值可以从该文件读入
额外的不可在图形中不存在,或默认,或没有必要的设置.
-errors errorfile . 图形方式下,自动生成错误列表,文本方式下需要设置
-help 帮助信息
-maxcache 设置最大缓冲区选项.
-memaccess [attributes]
存储器访问属性选项.
该选项规定目标存储器的访问属性.默认的存储器访问属性是:在地址对准的情况下,允许字节,半字和字传送(加载和存储).选择该项则修改了默认值:
-L41 对于加载类指令 LDRs,允许地址非对准
-L22 不允许半字加载
-S22 不允许半字存储
-L22-S22 不允许半字加载和存储
-o filename 指定列表文件名.
-unsafe 不安全选项.选择该项,对于某些与处理器型号不相符的指令,只被列在警告中,默认在错误中. (?未定义指令?).