符 号 | 意 义 |
Load$$region_name$$Base | 域的载入地址 |
Image$$region_name$$Base | 域的执行地址 |
Image$$region_name$$Length | 执行域字节长度(4的倍数) |
Image$$region_name$$Limit | 执行区末尾地址 |
Image$$region_name$$ZI$$Base | 执行域中ZI段的执行地址 |
Image$$region_name$$ZI$$Length | ZI输出段的长度(4的倍数) |
Image$$region_name$$ZI$$Limit | 执行域中ZI段的末尾地址 |
符 号 | 说 明 |
” | 引号用于表示BNF语法中的字符被用作普通字符。 例如,定义B"+"C,它只能替换为模式B+C。而定义B+C可以替换为模式BC、BBC或BBBC |
A ::= B | 将A定义为B。例如,A::= B"+" | C 表示A相当于B+或C。 在其组件方面,::=表示法用于定义高级结构。每个组件可能还有一个::=定义,对更简单的组件进行定义。 例如,A::=B以及B::= C | D表示定义A相当于模式C或D |
符 号 | 说 明 |
[A] | 可选元素A。例如,A::= B[C]D 表示定义A可以扩展为BD或BCD |
A+ | 元素A可以出现一次或多次。例如,A::= B+表示定义A可以扩展为B、BB或BBB等 |
A* | 元素A可以不出现或多次出现 |
A|B | 出现元素A或B,但不能同时出现 |
(A|B) | 元素A和B组合在一起。 这在使用 | 操作符时,或重复复杂模式时尤其适用。 例如,A::=(B C)+ (D | E) 表示定义A可以扩展为BCD、BCE、BCBCD、BCBCE、BCBCBCD或BCBCBCE |
| 注意 | load_region_name与执行域exec_region_name不同,load_region_name不用于生成Load$$region_ name符号。 |
| 注意 | ARM在RVCT中不提供重叠机制。要在同一个地址使用多个执行区,必须提供自己的重叠管理程序。 |
| 注意 | 所指定的域值必须以字为单位。 |
| 注意 | 只有根执行区可以使用ZEROPAD属性进行0初始化。对非根执行区使用ZEROPAD属性将出现警告信息,并且忽略该属性。 |
| 注意 | 最好不要依赖编译程序生成的或ARM库代码使用的输入段名。因为,这些名称在每次编译之间可以变化,例如编译选项的改变或编译器版本发生变化,都可能引起输入段名称的变化。 |
欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |