介紹
Keil作為使用廣泛的一款嵌入式開發(fā)IDE,大多數(shù)的工程師只用到了編譯和仿真功能,其實只需要一些編程小技巧就可以通過Keil將代碼的一些配置可視化。
本篇將要介紹的是Keil的一項功能叫做 Configuration Wizard (配置向?qū)?,這是內(nèi)嵌在Keil編輯器中的一項功能,按照既定規(guī)則在代碼中標記后則可以產(chǎn)生配置可視化的效果(如下圖所示),由于是以注釋的形式進行標記,所以并不會實際影響代碼的移植編譯以及正常功能。
配置向?qū)дZ法
當編輯器檢測到代碼中存在有
//*** < Use Configuration Wizard in Context Menu >> >***
并且以如下代碼結(jié)束
//***< < end of configuration section >> >***
那么Keil的編輯器則會識別并解析注釋內(nèi)容生成對應(yīng)的圖形化配置界面,編碼的規(guī)則如下所示
范例代碼
如下是介紹章節(jié)顯示圖對應(yīng)的幫助文檔提供的范例代碼,可以參考實際編碼操作一下
//*** < < 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 Point
PC = 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幫助文檔中的配置向?qū)?/strong>部分內(nèi)容,文檔內(nèi)容位置如下圖所示,實際配置效果大家自行動手實踐一下能加深印象。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3593瀏覽量
129527 -
RAM
+關(guān)注
關(guān)注
8文章
1368瀏覽量
114754 -
仿真器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
83781 -
MCR
+關(guān)注
關(guān)注
0文章
19瀏覽量
10997 -
Flash存儲
+關(guān)注
關(guān)注
0文章
38瀏覽量
8305
發(fā)布評論請先 登錄
相關(guān)推薦
評論