KEIL-MDK的配置向导ConfigurationWizard
作⽤:可在图形化参数配置界⾯修改宏的值
问题
什么是配置向导?它有什么作⽤?
takecareof
回答
配置向导是μVision最近添加的功能。它⽀持汇编器,C或调试器初始化⽂件的菜单驱动配置。配置向导使⽤嵌⼊到配置⽂件注释中的控件项来构建这些菜单。
MDK-ARM⼯具⼴泛使⽤脚本⽂件,这些菜单为⽤户提供了⼀种显⽰和修改脚本和初始化⽂件设置的简便⽅法。
先看看图⽚,有个直观的感受:
heracles sk
就是在代码⾥⾯嵌⼊⼀些特定的注释,KEIL-MDK可以将其“翻译”为图形⽤户界⾯,以便在其中⽅便地更改配置。
启⽤配置向导
1,注释中必须包括以下特定内容,才能启⽤配置向导。该注释必须放在代码⽂件的前100⾏以内。
// <<< U Configuration Wizard in Context Menu >>>
2,可以添加以下注释 ,以结束配置向导。此项是可选的。
// <<< end of configuration ction >>>
男生祛痘的小窍门分组语法
分组标题
使⽤和来标识⼀个分组。在配置向导中可以折叠。英文版童话
<h>
...
</h>
例如:
// <h> External Bus Interface (EBI)
// <e1.13> Enable Chip Select 0 (CSR0)
// </e>
// <e1.13> Enable Chip Select 1 (CSR1)
// </e>
// </h>
实现的效果为:
2010年江苏高考英语
惟妙惟肖造句
点击“+”可以展开,展开后的效果为:
使能标题
使⽤和来标识⼀个分组,并且该分组可以整体被使能/禁⽌。在配置向导中既可以折叠,也可以使能/禁⽌。
<e>
...
</e>
例如:
// <e1.5> WSE: Enable Wait State Generation
// <o1.2..4> NWS: Number of Standard Wait States <1-8><#-1>
/
/ </e>
实现的效果为:当勾选标题⾏时,组内的内容正常显⽰,可以编辑:
当取消选择标题⾏时,组内的内容变灰,不能编辑:
帮助提⽰
表⽰对上⼀个配置项的提⽰。可以有多⾏。
// <i> U MY_CPU_VARIANT, and t the include file
显⽰效果为:
编辑配置项的值
默认情况下,可以在图形⽤户界⾯中更改相应的注释项后⾯的第⼀个数值。 例如,在注释中配置:
// <o> Program Entry Point
PC = 0x04000000;
实现的效果为:
图形⽤户界⾯中的项⽬标题为后⾯的⽂本内容,修改项为注释后⾯的第⼀个数字。
可以在图形⽤户界⾯中编辑该配置项的值,⽐如,改为0x04008000
编辑后,代码中的值也会随即改变。
跳过N个值
学习英语口语
注释中也可以配置为“跳过”接下来的N个值。⽐如:
// <o1.9..11> TDF: Data Float Output Time <0-7>
// <i> Number of Cycles Added after the Transfer
// </e>
_WDWORD(0xFFE00000, 0x01002489); // EBI_CSR0: Flash
由于后⾯有个数字1,则表⽰它编辑的数字要先跳过1个,即,此时编辑后,受影响的值不是_WDWO
RD函数的第⼀个参数,⽽是第⼆个参数。
编辑某些位
⽐如上例中,q1.4中的“.4"表⽰编辑数值的第4位(从bit0开始)。
也可以编辑连续多个位。⽐如下图中<o1.9…11>中的”9…11“则代表编辑数字的第9位~第11位。
// <o1.9..11> TDF: Data Float Output Time <0-7>
// <i> Number of Cycles Added after the Transfer
_WDWORD(0xFFE00004, 0x04003485); // EBI_CSR1: RAM
在图形⽤户界⾯中,把0x02改为0x03:
代码中的数值也由0x04003485变为0x04003685:
化学成分
数据项的编辑类型
数值型:
数值型的修改项可以指定数值的范围:
可以指定数值范围中的步长:
则表⽰有效范围为:0x00000000 ~ 0xFFF0 0000,并且以0x10 0000为单位进⾏步进。显⽰ 为⼗六进制。
可以设定为枚举型:
显⽰效果为:
读书与成长在使⽤⽤户输⼊的数字之前,可以对输⼊项进⾏运算,再合并到被修改项。⽀持加减乘除4种运算。格式举例:
·<#+1>
·<#-1>
·<#*8>
·<#/5>
例如:
表⽰,NWS: Number of Standard Wait States的⽤户可输⼊范围为1-8(⼩于1则取值为1,⼤于8则取值为8),最终合并到数值之前需要将⽤户输⼊的数字减去1。
⽐如,输⼊8时:
代码中的数字变为0x040036BD:其中第2~4位为7(0b111) (0xBD = 0b1011 1101)
选择型:
例如,
// <q1.4> DRP: Data Read Protocol
// <0=> Standard Read
// <1=> Early Read
_WDWORD(0xFFE00024, 0x00000010); // EBI_MCR: Data Read Protocol
在图形⽤户界⾯中的显⽰效果为⼀个”复选框“:
选中为1,取消选中为0.取消勾选后,_WDWORD函数的第⼆个函数由0x00000010变为0x00000000了。
字符串型:
// <s> Change ID
// <s1.30> Change Password String
#define ID "My Ur ID"
char pw[] = "My Password";
importing
其中<s1.30>表⽰跳过⼀个字符串(编辑第⼆个字符串”My Password"),最⼤长度为30,显⽰效果为:
代码型:
// <c1> U MY_CPU_VARIANT
// <i> U MY_CPU_VARIANT, and t the include file
#define MY_CPU_VARIANT
#include "MyCpuVariant.h"
// </c>