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.創建" />

女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CW32F003E4芯片入門學習:3.工程模板的創建(不使用例程或模板)

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2024-03-27 09:37 ? 次閱讀

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52169

    瀏覽量

    436098
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17834

    瀏覽量

    360347
  • 工程模板
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7000
  • CW32
    +關注

    關注

    1

    文章

    242

    瀏覽量

    1093
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    HarmonyOS5云服務技術分享--Serverless抽獎模板部署

    startRaffle) 結束抽獎回調函數(比如endRaffle) 記下函數名,后續配置要用到 3?? ??工程包準備?? 下載官方提供的抽獎模板工程包 解壓后重點檢查portal
    發表于 05-22 20:25

    基于LockAI視覺識別模塊:C++多模板匹配

    。 minLoc:最小值的位置。 maxLoc:最大值的位置。 mask:可選的掩碼矩陣。 返回值:無。 3. 綜合代碼解析 3.1 流程圖 3.2 代碼解釋 使用多模板匹配函數
    發表于 05-14 15:00

    基于LockAI視覺識別模塊:C++多模板匹配

    模板匹配是一種在圖像中同時尋找多個模板的技術。通過對每個模板逐一進行匹配,找到與輸入圖像最相似的區域,并標記出匹配度最高的結果。本實驗提供了一個簡單的多模板匹配案例,并將其封裝為一個
    的頭像 發表于 05-14 14:37 ?214次閱讀
    基于LockAI視覺識別模塊:C++多<b class='flag-5'>模板</b>匹配

    基于LockAI視覺識別模塊:C++模板匹配

    的掩碼矩陣,用于指定要搜索的像素范圍。 返回值: 無 3. 綜合代碼解析 3.1 流程圖 3.2 代碼解釋 **模板匹配函數應用 ** double similarityThreshold
    發表于 05-13 14:40

    基于LockAI視覺識別模塊:C++模板匹配

    模板匹配是一種在圖像中尋找特定模式的技術。它通過滑動一個模板圖像(較小的圖像)在輸入圖像上進行比較,找到最相似的區域。本實驗提供了一個簡單的模板匹配案例,并將其封裝為一個自定義函數performTemplateMatching,
    的頭像 發表于 05-13 14:14 ?101次閱讀
    基于LockAI視覺識別模塊:C++<b class='flag-5'>模板</b>匹配

    請問SX3實用程序提供的模板只能在開發板上使用嗎?

    SX3 實用程序提供的模板只能在開發板上使用嗎?
    發表于 05-09 06:47

    如何快速創建用戶自定義Board和App工程

    概述自HPM_SDKv1.7.0發布開始,在HPM_ENV中新增了user_template文件夾,以方便用戶快速創建自定義的Board和App工程。user_template是用戶模板工程
    的頭像 發表于 02-08 13:38 ?395次閱讀
    如何快速<b class='flag-5'>創建</b>用戶自定義Board和App<b class='flag-5'>工程</b>

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】00、開發板開箱與環境搭建

    RA4E2_Projects的文件夾來存放項目。 3.3 創建工程模板 請按下圖順序創建工程,我在這里將工程命名為Template。 錯
    發表于 12-12 22:44

    如何用VSCODE創建一個LE5010的工程模板

    我想問下,就是怎么用vscode來創建LE5010的工程模板,我看網上的資料很少很少,官方給的SDK有,但是只能SDK里面來寫代碼,所以就想問一問! (有償)
    發表于 12-04 10:01

    FS-MCore-F800E STM32例程

    FS-MCore-F800E STM32例程
    發表于 11-18 15:10 ?0次下載

    圖紙模板中的文本變量

    “ ?文本變量和系統自帶的內置變量,可以幫助工程師靈活、高效地配置標題欄中的信息,而不用擔心模板中的文字對象被意外修改。 ? ” 文本變量的語法 文本變量以?${VARIABLENAME}?的方式
    的頭像 發表于 11-13 18:21 ?536次閱讀
    圖紙<b class='flag-5'>模板</b>中的文本變量

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

    “ ?圖紙模板規范了圖紙的尺寸大小,同時可以在標題欄顯示與圖紙相關的信息,如產品名稱、版本、日期等。從標準化的角度考慮,公司通常會定義A0~A4的圖紙模板,用于不同的設計場合。KiCad提供了一種
    的頭像 發表于 11-13 18:13 ?1302次閱讀
    A0到A<b class='flag-5'>4</b>的圖框只要一個圖紙<b class='flag-5'>模板</b>就搞定了?

    手寫圖像模板匹配算法在OpenCV中的實現

    OpenCV中的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個主要的原因是查找最大閾值,只能匹配一個,自己比對閾值,又導致無法正確設定閾值范圍,所以問題很多。于是我重新寫了純Python版本的NCC圖像模板匹配的代碼實現了一個Python版本的,簡單易用,支持
    的頭像 發表于 11-11 10:12 ?665次閱讀
    手寫圖像<b class='flag-5'>模板</b>匹配算法在OpenCV中的實現

    RX23E-A 24bit ΔΣADC 應用篇 (2) 創建RX23E-A工程

    本節學習項目開發,熟悉e2 studio和Smart Configurator,創建工程
    的頭像 發表于 08-02 11:59 ?1860次閱讀
    RX23<b class='flag-5'>E</b>-A 24bit ΔΣADC 應用篇 (2) <b class='flag-5'>創建</b>RX23<b class='flag-5'>E</b>-A<b class='flag-5'>工程</b>

    TPD4F003.TPD6F003.TPD8F003八通道EMI濾波器數據表

    電子發燒友網站提供《TPD4F003.TPD6F003.TPD8F003八通道EMI濾波器數據表.pdf》資料免費下載
    發表于 07-11 10:44 ?1次下載
    TPD<b class='flag-5'>4F003.TPD6F003.TPD8F003</b>八通道EMI濾波器數據表