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)建" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32F003E4芯片入門學(xué)習(xí):3.工程模板的創(chuàng)建(不使用例程或模板)

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-03-27 09:37 ? 次閱讀

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 將該警告信息屏蔽

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417170
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347786
  • 工程模板
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6806
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    168

    瀏覽量

    502
收藏 人收藏

    評論

    相關(guān)推薦

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

    電子發(fā)燒友網(wǎng)站提供《TPD4F003.TPD6F003.TPD8F003八通道EMI濾波器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-11 10:44 ?0次下載
    TPD<b class='flag-5'>4F003.TPD6F003.TPD8F003</b>八通道EMI濾波器數(shù)據(jù)表

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

    顯示不同的值需要用到CW32的定時(shí)器功能,在定時(shí)器的中斷服務(wù)程序里面執(zhí)行顯示刷新的動(dòng)作。有關(guān)CW32的定時(shí)器和中斷的相關(guān)知識請查看鏈接:【CW32F003E4核心板】入門
    的頭像 發(fā)表于 05-31 15:23 ?351次閱讀
    <b class='flag-5'>CW</b>32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    CW32F003E4芯片入門學(xué)習(xí)3.工程模板創(chuàng)建不使例程模板

    創(chuàng)建一個(gè)文件夾為CW32_new_pro,注意避免出現(xiàn)中文路徑和特殊符號
    的頭像 發(fā)表于 04-24 14:15 ?346次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:<b class='flag-5'>3.</b><b class='flag-5'>工程</b><b class='flag-5'>模板</b>的<b class='flag-5'>創(chuàng)建</b>(<b class='flag-5'>不使</b>用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    CW32F003E4芯片入門學(xué)習(xí)4.工程模板創(chuàng)建(使用例程模板)

    模板路徑:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate
    的頭像 發(fā)表于 04-24 14:14 ?290次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:<b class='flag-5'>4</b>.<b class='flag-5'>工程</b><b class='flag-5'>模板</b><b class='flag-5'>創(chuàng)建</b>(使用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    STM32L4R5生成工程模板時(shí),必須使用CubeMx,但是生成的程序編譯極慢為什么?

    開發(fā)STM32L4R5芯片。在生成工程模板時(shí),必須使用CubeMx,但是生成的程序編譯極慢 1、采用compiler 5編譯很慢,但是不報(bào)錯(cuò)。 2、采用complier6編譯較快,但是
    發(fā)表于 04-19 07:32

    CW32F003E4芯片入門學(xué)習(xí):器件包安裝

    安裝CW32的pack包,可以從武漢芯源官網(wǎng)下載固件庫
    的頭像 發(fā)表于 04-02 14:25 ?478次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:器件包安裝

    CW32F003E4芯片入門學(xué)習(xí):開發(fā)環(huán)境安裝

    最近,Keil官方推出了一則消息:Keil MDK新增了一個(gè)版本,MDK社區(qū)版(MDK_Community edition)。
    的頭像 發(fā)表于 04-02 14:22 ?1098次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:開發(fā)環(huán)境安裝

    CW32F003E4芯片入門學(xué)習(xí)4.工程模板創(chuàng)建(使用例程模板)

    1.3.1拷貝模板工程和庫文件 模板路徑:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate 庫文件路徑
    的頭像 發(fā)表于 03-27 09:39 ?395次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:<b class='flag-5'>4</b>.<b class='flag-5'>工程</b><b class='flag-5'>模板</b><b class='flag-5'>創(chuàng)建</b>(使用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    CW32F003E4芯片入門學(xué)習(xí):2.器件包安裝

    “Next”按鈕進(jìn)行安裝,如圖1-2-3所示。 注:其他CW32芯片包的安裝方式均相同。 1.1.3 可能遇到的報(bào)錯(cuò)及解決辦法 雙擊pack包安裝時(shí),會彈出這個(gè)報(bào)錯(cuò): 原因可能是 KEIL 版本更新,對器件包格式有新的限定。
    的頭像 發(fā)表于 03-27 09:32 ?481次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:2.器件包安裝

    CW32F003E4芯片入門學(xué)習(xí):1.開發(fā)環(huán)境安裝

    1.1.Keil社區(qū)版介紹 最近,Keil官方推出了一則消息:Keil MDK新增了一個(gè)版本,MDK社區(qū)版(MDK_Community edition)。 該版本主要有以下幾個(gè)特點(diǎn): 可供電子愛好者、學(xué)生、學(xué)者等群體非商業(yè)免費(fèi)評估和使用。 沒有代碼大小限制。 支持Arm Compiler 6:可為所有基于Arm Cortex-M的產(chǎn)品提供精簡的代碼和強(qiáng)大的性能。 可訪問超過9500款支持基于Cortex-M處理器的微控制器器件。 可用于基于Arm架構(gòu)的微處理器的CMSIS標(biāo)準(zhǔn)框架。 大量可免費(fèi)使用的中間件(keil RTX5、lwIP、CMSIS-FreeR
    的頭像 發(fā)表于 03-27 09:27 ?359次閱讀
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b>:1.開發(fā)環(huán)境安裝

    如何使用CMW500測試頻譜模板

    在使用CMW500測試頻譜模板之前,首先我們需要了解什么是頻譜模板以及其在通信系統(tǒng)測試中的作用。頻譜模板是指在特定的頻率范圍內(nèi),記錄了該頻率范圍內(nèi)的信號功率譜密度的一種圖形表示。在通信系統(tǒng)測試中
    的頭像 發(fā)表于 12-25 15:10 ?1120次閱讀

    N76E003例程介紹

    電子發(fā)燒友網(wǎng)站提供《N76E003例程介紹.zip》資料免費(fèi)下載
    發(fā)表于 12-21 09:45 ?1次下載

    OpenCV邊緣模板匹配算法原理詳解

    OpenCV中自帶的模板匹配算法,完全是像素基本的模板匹配,特別容易受到光照影響,光照稍微有所不同,該方法就會歇菜了!搞得很多OpenCV初學(xué)者剛學(xué)習(xí)到該方法時(shí)候很開心,一用該方法馬上很傷心
    的頭像 發(fā)表于 12-07 10:56 ?1103次閱讀
    OpenCV邊緣<b class='flag-5'>模板</b>匹配算法原理詳解

    【中科微CSM32RV003綠色開發(fā)板免費(fèi)體驗(yàn)】3.使用流程

    可以實(shí)現(xiàn)與芯片的通信和調(diào)試,這無疑為我在軟件開發(fā)過程中提供了強(qiáng)大的支持。 在配置好CJlink調(diào)試器后,我就可以開始編譯和運(yùn)行工程了。官方例程介紹道,這款芯片并沒有復(fù)位引腳,需要在程序
    發(fā)表于 10-14 00:05

    如何通過模板模式重構(gòu)代碼

    1、什么是模板模式? Define the skeleton of an algorithm in an operation, deferring some steps to subclasses.
    的頭像 發(fā)表于 10-08 16:15 ?362次閱讀
    如何通過<b class='flag-5'>模板</b>模式重構(gòu)代碼