Realview MDK 中启动代码的配置详解
Realview MDK 不仅提供了默认的启动代码,而且这些启动代码可以通过图形化界面配置。启动代码的图形化配置界面非常类似于网页的界面,甚至后台处理的脚本也与 HTML 语言十分接近。下面将详细解析图形化界面的设计与配置。
启动代码配置界面
启动代码的配置界面由程序中的注释代码控制。各个标签的详细信息见表一。
表一 启动代码中的各个标签说明表
每一个标签的前面必须加“;//”符号,这是因为在 ARM 的汇编中,分号 ;
表示注释,且 Realview MDK 中是这么规定的。下面将举例详细说明:
例1
;// <h> Heap Configuration
;// <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF>
;// </h>
上面的代码将生成一个数据编辑文本框(见下图的红色区域),当修改该文本框中的内容后,相应代码中变量的值会自动修改。
例2
;// <e> Reset Controller (RSTC)
;// <o1.0> URSTEN: User Reset Enable
;// <i> Enables NRST Pin to generate Reset
;// <o1.8..11> ERSTL: External Reset Length <0-15>
;// <i> External Reset Time in 2^(ERSTL+1) Slow Clock Cycles
;// </e>
上面的代码可以控制相应的代码是否编译(见下图的红色区域),同时还可以单独设置数据中位域的值。当改变复选框中的内容后,相应代码中变量的值会自动修改。
例3
;// <e> Embedded Flash Controller 1 (EFC1)
;// <o1.16..23> FMCN: Flash Cycle Number <0-255>
;// <i> Number of Master Clock Cycles in 1us
;// <o1.8..9> FWS: Flash Wait State
;// <0=> Read: 1 cycle / Write: 2 cycles
// <1=> Read: 2 cycle / Write: 3 cycles
// <2=> Read: 3 cycle / Write: 4 cycles
// <3=> Read: 4 cycle / Write: 4 cycles
;// </e>
上面的代码以选择框的形式(见下图的红色区域)修改代码中相应变量的位域值。当改变选择框中的内容后,相应代码中变量的值会自动修改。
注意事项
在包含进行图形化配置界面的汇编文件中,前 50 行代码以内必须包含下面的一行注释,以示该汇编文件中包含图形化配置界面:
;/* <<< Use Configuration Wizard in Context Menu >>> */
通过上面的三个例子可以看出,通过图形界面的方式配置启动代码的参数方便快捷,且不容易出错。因此,在使用 Realview MDK 时,尽量在汇编代码中使用图形界面控制标签进行参数的配置。