1.2.1.新建keil工程文件夾
創(chuàng)建一個(gè)文件夾為CW32_new_pro,注意避免出現(xiàn)中文路徑和特殊符號(hào)
1.2.2.創(chuàng)建keil工程
打開keil,選擇Project->New uVision Project,選擇CW32_new_pro文件夾目錄,輸入項(xiàng)目名稱,例子使用CW32_new_pro
1.2.3.選擇芯片型號(hào)
芯片型號(hào)為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),會(huì)出現(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編譯會(huì)報(bào)錯(cuò),可能是這樣的錯(cuò)誤,還有一堆的警告
KEIL從MDK5.37版本開始已經(jīng)不集成AC5編譯器了,想用最新版本有兩個(gè)方法:
方法1: 最簡單的方法是先安裝5.36再安裝最新版本,這樣AC5可以自動(dòng)集成到MDK中。
安裝完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í)別,改為__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)向
AC6https://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 將該警告信息屏蔽
-
CMSIS
+關(guān)注
關(guān)注
0文章
40瀏覽量
11892 -
CW32
+關(guān)注
關(guān)注
1文章
203瀏覽量
626
原文標(biāo)題:CW32F003E4芯片入門學(xué)習(xí):3.工程模板的創(chuàng)建(不使用例程或模板)
文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論