1.2.1.新建keil工程文件夾
創(chuàng)建一個(gè)文件夾為CW32_new_pro,注意避免出現(xiàn)中文路徑和特殊符號
1.2.2.創(chuàng)建keil工程
打開keil,選擇Project->New uVision Project,選擇CW32_new_pro文件夾目錄,輸入項(xiàng)目名稱,例子使用CW32_new_pro
1.2.3.選擇芯片型號
芯片型號為CW32F003F4,如下:
1.2.4.選擇CMSIS固件
1.2.5.復(fù)制CW32庫文件和啟動(dòng)文件
復(fù)制CW32庫文件和啟動(dòng)文件到CW32_new_pro
庫文件路徑:CW32F003_StandardPeripheralLib_V1.4Libraries,
啟動(dòng)文件路徑:CW32F003_StandardPeripheralLib_V1.4IdeSupportMDKstartup_cw32f003.s
1.2.6.創(chuàng)建main.c
在keil中右鍵Source Group1(根據(jù)自己的group名稱還選擇),選擇Add New Item toGroupxxx,創(chuàng)建main.c文件.
1.2.7.添加庫文件和啟動(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文件編寫
示例如下:
#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),會出現(xiàn)下圖所示的錯(cuò)誤,原因是重復(fù)定義了。
打開cw32f003_systick.c文件將164行的 __weak void SysTick_Handler(void) 修改為 void SysTick_Handler(void)。 即可解決14點(diǎn)的錯(cuò)誤
再次點(diǎn)擊編譯,無錯(cuò)誤,完成工程創(chuàng)建。
可以看到0個(gè)錯(cuò)誤,0個(gè)警告,至此,工程模板創(chuàng)建完成。
1.2.12 探討1.2.11的編譯報(bào)錯(cuò)原因:
CW32要用AC5編譯器,用AC6編譯會報(bào)錯(cuò),可能是這樣的錯(cuò)誤,還有一堆的警告
KEIL從MDK5.37版本開始已經(jīng)不集成AC5編譯器了,想用最新版本有兩個(gè)方法:
方法1: 最簡單的方法是先安裝5.36再安裝最新版本,這樣AC5可以自動(dòng)集成到MDK中。
方法2: 安裝最新版本后手動(dòng)添加AC5編譯器
安裝完MDK后把ARMCC文件夾手動(dòng)放到keil安裝目錄的ARM文件夾中
然后在keil中手動(dòng)添加,選擇剛剛添加的文件夾
如果不想折騰安裝AC5編譯器,可以對現(xiàn)有工程代碼修改以適應(yīng)AC6的編譯規(guī)則
CW32的例程直接用AC6編譯的話一般會報(bào)這個(gè)錯(cuò)誤
AC6中__weak這個(gè)關(guān)鍵字不能被識別,改為__WEAK就好了(或如上刪去),關(guān)鍵字的不同可以看這個(gè)圖:
更多的關(guān)于MDK適配AC6的內(nèi)容可以下載KEIL官方的文檔進(jìn)行查看
[https://developer.arm.com/documentation/kan298/latest/]
或者看ARM的AC6介紹,里面也有說明如何從AC5轉(zhuǎn)向AC6
[https://developer.arm.com/documentation/100068/latest/]
1.2.13 補(bǔ)充:用AC6編譯有中文的代碼會報(bào)-Winvalid-source-encoding的警告
用AC6編譯有中文的代碼會報(bào)-Winvalid-source-encoding的警告
可以在下方如圖位置填入-Wno-invalid-source-encoding 將該警告信息屏蔽
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
450文章
49636瀏覽量
417170 -
mcu
+關(guān)注
關(guān)注
146文章
16667瀏覽量
347786 -
工程模板
+關(guān)注
關(guān)注
0文章
10瀏覽量
6806 -
CW32
+關(guān)注
關(guān)注
1文章
168瀏覽量
502
發(fā)布評論請先 登錄
相關(guān)推薦
評論