KEIL-MDK的配置向导Configuration Wizard

2024-03-21 14:20

本文主要是介绍KEIL-MDK的配置向导Configuration Wizard,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自https://blog.csdn.net/booksyhay/article/details/82802553

作用:可在图形化参数配置界面修改宏的值

问题

什么是配置向导?它有什么作用?

回答

    配置向导是μVision最近添加的功能。它支持汇编器,C或调试器初始化文件的菜单驱动配置。配置向导使用嵌入到配置文件注释中的控件项来构建这些菜单。

    MDK-ARM工具广泛使用脚本文件,这些菜单为用户提供了一种显示和修改脚本和初始化文件设置的简便方法。

先看看图片,有个直观的感受:
在这里插入图片描述
    就是在代码里面嵌入一些特定的注释,KEIL-MDK可以将其“翻译”为图形用户界面,以便在其中方便地更改配置。

启用配置向导

1,注释中必须包括以下特定内容,才能启用配置向导。该注释必须放在代码文件的前100行以内。

// <<< Use Configuration Wizard in Context Menu >>>

2,可以添加以下注释 ,以结束配置向导。此项是可选的。

// <<< end of configuration section >>>

分组语法

分组标题

使用和来标识一个分组。在配置向导中可以折叠。

<h>
...
</h>

例如:

// <h> External Bus Interface (EBI)
//   <e1.13> Enable Chip Select 0 (CSR0)
//   </e>
//   <e1.13> Enable Chip Select 1 (CSR1)
//   </e>
// </h>

实现的效果为:
在这里插入图片描述

点击“+”可以展开,展开后的效果为:
在这里插入图片描述

使能标题

    使用和来标识一个分组,并且该分组可以整体被使能/禁止。在配置向导中既可以折叠,也可以使能/禁止。

<e>
...
</e>

例如:

//     <e1.5>      WSE: Enable Wait State Generation
//       <o1.2..4>   NWS: Number of Standard Wait States <1-8><#-1>
//     </e>

实现的效果为:当勾选标题行时,组内的内容正常显示,可以编辑:
在这里插入图片描述
当取消选择标题行时,组内的内容变灰,不能编辑:
在这里插入图片描述

帮助提示

表示对上一个配置项的提示。可以有多行。

// <i> Use MY_CPU_VARIANT, and set the include file

显示效果为:
在这里插入图片描述

编辑配置项的值

    默认情况下,可以在图形用户界面中更改相应的注释项后面的第一个数值。 例如,在注释中配置:

// <o> Program Entry PointPC = 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个,即,此时编辑后,受影响的值不是_WDWORD函数的第一个参数,而是第二个参数。

编辑某些位

    比如上例中,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 User ID"
char pw[] = "My Password";

其中<s1.30>表示跳过一个字符串(编辑第二个字符串”My Password"),最大长度为30,显示效果为:
在这里插入图片描述
代码型:

// <c1> Use MY_CPU_VARIANT
// <i> Use MY_CPU_VARIANT, and set the include file
#define MY_CPU_VARIANT
#include "MyCpuVariant.h"
// </c>

显示效果为:
在这里插入图片描述
取消勾选后,代码内容变为:
在这里插入图片描述
还可以使用<!c>和语法来标记代码段,与…的区别是,勾选后代码被注释;取消勾选后代码有效。

参考

官方帮助:

http://www.keil.com/support/man/docs/uv4/uv4_ut_configwizard.htm

例程全部代码:

//*** <<< Use Configuration Wizard in Context Menu >>> ***FUNC void Setup (void) {// <h> External Bus Interface (EBI)//   <e1.13> Enable Chip Select 0 (CSR0)
//     <o1.20..31> BA: Base Address <0x0-0xFFF00000:0x100000><#/0x100000>
//                 <i> Start Address for Chip Select Signal
//     <o1.7..8>   PAGES: Page Size      <0=> 1M Byte    <1=> 4M Bytes
//                                       <2=> 16M Bytes  <3=> 64M Bytes
//                 <i> Selects Active Bits in Base Address
//     <o1.0..1>   DBW: Data Bus Width   <1=> 16-bit     <2=> 8-bit
//     <o1.12>     BAT: Byte Access Type <0=> Byte-write
//                                       <1=> Byte-select
//     <e1.5>      WSE: Enable Wait State Generation
//       <o1.2..4>   NWS: Number of Standard Wait States <1-8><#-1>
//     </e>
//     <o1.9..11>  TDF: Data Float Output Time <0-7>
//                 <i> Number of Cycles Added after the Transfer
//   </e>_WDWORD(0xFFE00000, 0x010024A9);   // EBI_CSR0: Flash//   <e1.13> Enable Chip Select 1 (CSR1)
//     <o1.20..31> BA: Base Address <0x0-0xFFF00000:0x100000><#/0x100000>
//                 <i> Start Address for Chip Select Signal
//     <o1.7..8>   PAGES: Page Size      <0=> 1M Byte    <1=> 4M Bytes
//                                       <2=> 16M Bytes  <3=> 64M Bytes
//                 <i> Selects Active Bits in Base Address
//     <o1.0..1>   DBW: Data Bus Width   <1=> 16-bit     <2=> 8-bit
//     <o1.12>     BAT: Byte Access Type <0=> Byte-write
//                                       <1=> Byte-select
//     <e1.5>      WSE: Enable Wait State Generation
//       <o1.2..4>   NWS: Number of Standard Wait States <1-8><#-1>
//     </e>
//     <o1.9..11>  TDF: Data Float Output Time <0-7>
//                 <i> Number of Cycles Added after the Transfer
//   </e>_WDWORD(0xFFE00004, 0x040034A5);   // EBI_CSR1: RAM//   <q1.4>        DRP: Data Read Protocol
//                      <0=> Standard Read
//                      <1=> Early Read_WDWORD(0xFFE00024, 0x00000010);   // EBI_MCR:  Data Read Protocol_WDWORD(0xFFE00020, 0x00000001);   // EBI_RCR:  Remap Command// </h>// <o> Program Entry PointPC = 0x04000000;}// <s> Change ID// <s1.30> Change Password String#define ID  "My User ID"char pw[] = "My Password";/*********************************************************/
/*  Example for enabling and disabling code              */// <c1> Use MY_CPU_VARIANT
// <i> Use MY_CPU_VARIANT, and set the include file
#define MY_CPU_VARIANT
#include "MyCpuVariant.h"
// </c>// <!c1> Disable log
// <i> Disable log file generation
#define _USE_LOG
// </c>// <c1>  Example of inconsistent comment
// <i> a mix of commented and uncommented lines in the block create an inconsistency// This type of comment, mixed with uncommented lines, creates the inconsistency
/* You can use this type of comment without creating an inconsistency */do_whatever;              // adding this type of comment here is allowed// </c>//*** <<< end of configuration section >>>    ***

在这里插入图片描述 在这里插入图片描述

参考资料:
keil 的 配置向导 configuration wizard (转)

这篇关于KEIL-MDK的配置向导Configuration Wizard的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/u014783785/article/details/92687854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/832872

相关文章

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de