1.2.1.新建keil工程文件夾
創(chuàng)建一個(gè)文件夾為CW32_new_pro,注意避免出現(xiàn)中文路徑和特殊符號(hào)
1.2.2.創(chuàng)建keil工程
打開(kāi)keil,選擇Project->New uVision Project,選擇CW32_new_pro文件夾目錄,輸入項(xiàng)目名稱(chēng),例子使用CW32_new_pro
1.2.3.選擇芯片型號(hào)
芯片型號(hào)為CW32F003F4,如下:
1.2.4.選擇CMSIS固件
1.2.5.復(fù)制CW32庫(kù)文件和啟動(dòng)文件
復(fù)制CW32庫(kù)文件和啟動(dòng)文件到CW32_new_pro
庫(kù)文件路徑:CW32F003_StandardPeripheralLib_V1.4Libraries,
啟動(dòng)文件路徑:CW32F003_StandardPeripheralLib_V1.4IdeSupportMDKstartup_cw32f003.s
1.2.6.創(chuàng)建main.c
在keil中右鍵Source Group1(根據(jù)自己的group名稱(chēng)還選擇),選擇Add New Item toGroupxxx,創(chuàng)建main.c文件.
1.2.7.添加庫(kù)文件和啟動(dòng)
在Groups,新建group取名為cw32_lib
選擇cw32_lib,點(diǎn)擊AddFiles,找到CW32_new_proLibrariessrc目錄,把所有.c選中,點(diǎn)擊Add->Close->OK,完成添加。
添加啟動(dòng)文件
1.2.8.添加頭文件路徑
1.2.9.選擇編譯器
1.2.10.main.c文件編寫(xiě)
示例如下:
#include "base_types.h"
#include "cw32f003.h"
#include "system_cw32f003.h"
int32_t main(void)
{
CW_SYSCTRL- >AHBEN_f.GPIOC = 1U; // Open GPIOC Clk
CW_GPIOC- >ANALOG_f.PIN0 = 0U; // Digital
CW_GPIOC- >BRR_f.BRR0 = 1U; // Reset PA00
CW_GPIOC- >DIR_f.PIN0 = 0U; // Output
while (1)
{
CW_GPIOC- >TOG = bv0;//電平發(fā)名字卷
FirmwareDelay(100000);
}
}
1.2.11.編譯
點(diǎn)擊上圖所示的編譯選項(xiàng),會(huì)出現(xiàn)下圖所示的錯(cuò)誤,原因是重復(fù)定義了。
打開(kāi)cw32f003_systick.c文件將164行的 __weak void SysTick_Handler(void) 修改為 void SysTick_Handler(void)。 即可解決14點(diǎn)的錯(cuò)誤
再次點(diǎn)擊編譯,無(wú)錯(cuò)誤,完成工程創(chuàng)建。
可以看到0個(gè)錯(cuò)誤,0個(gè)警告,至此,工程模板創(chuàng)建完成。
1.2.12 探討1.2.11的編譯報(bào)錯(cuò)原因:
CW32要用AC5編譯器,用AC6編譯會(huì)報(bào)錯(cuò),可能是這樣的錯(cuò)誤,還有一堆的警告
KEIL從MDK5.37版本開(kāi)始已經(jīng)不集成AC5編譯器了,想用最新版本有兩個(gè)方法:
方法1: 最簡(jiǎn)單的方法是先安裝5.36再安裝最新版本,這樣AC5可以自動(dòng)集成到MDK中。
方法2: 安裝最新版本后手動(dòng)添加AC5編譯器
安裝完MDK后把ARMCC文件夾手動(dòng)放到keil安裝目錄的ARM文件夾中
然后在keil中手動(dòng)添加,選擇剛剛添加的文件夾
如果不想折騰安裝AC5編譯器,可以對(duì)現(xiàn)有工程代碼修改以適應(yīng)AC6的編譯規(guī)則
CW32的例程直接用AC6編譯的話一般會(huì)報(bào)這個(gè)錯(cuò)誤
AC6中__weak這個(gè)關(guān)鍵字不能被識(shí)別,改為_(kāi)_WEAK就好了(或如上刪去),關(guān)鍵字的不同可以看這個(gè)圖:
更多的關(guān)于MDK適配AC6的內(nèi)容可以下載KEIL官方的文檔進(jìn)行查看
[https://developer.arm.com/documentation/kan298/latest/]
或者看ARM的AC6介紹,里面也有說(shuō)明如何從AC5轉(zhuǎn)向AC6
[https://developer.arm.com/documentation/100068/latest/]
1.2.13 補(bǔ)充:用AC6編譯有中文的代碼會(huì)報(bào)-Winvalid-source-encoding的警告
用AC6編譯有中文的代碼會(huì)報(bào)-Winvalid-source-encoding的警告
可以在下方如圖位置填入-Wno-invalid-source-encoding 將該警告信息屏蔽
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
459文章
51905瀏覽量
433406 -
mcu
+關(guān)注
關(guān)注
146文章
17699瀏覽量
357887 -
工程模板
+關(guān)注
關(guān)注
0文章
10瀏覽量
6982 -
CW32
+關(guān)注
關(guān)注
1文章
232瀏覽量
1028
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【CW32模塊使用】SG90舵機(jī)

FA15-220E12F2D4 FA15-220E12F2D4

【瑞薩**RA2L1入門(mén)學(xué)習(xí)】+**UART測(cè)試實(shí)驗(yàn)
如何快速創(chuàng)建用戶自定義Board和App工程

【RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用】00、開(kāi)發(fā)板開(kāi)箱與環(huán)境搭建
如何用VSCODE創(chuàng)建一個(gè)LE5010的工程模板
圖紙模板中的文本變量

A0到A4的圖框只要一個(gè)圖紙模板就搞定了?

手寫(xiě)圖像模板匹配算法在OpenCV中的實(shí)現(xiàn)

RX23E-A 24bit ΔΣADC 應(yīng)用篇 (2) 創(chuàng)建RX23E-A工程

TPD4F003.TPD6F003.TPD8F003八通道EMI濾波器數(shù)據(jù)表

使用通用串口模塊下載CW32F030芯片的方法

CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

評(píng)論