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