stm32開發板例程講解之一:使用IAR 5.3建立工程

2020-12-23 電子產品世界

學習stm32,入門是非常關鍵的,而自己建的第一個也就顯得很重要了。儘快入門,建立起學習的信心,對後續的學習有非常大的幫助。本文將講述任何在IAR上建立一個project,並開始自己學習stm32的第一個實驗。

實驗所需:安富萊stm32F103ZE開發板一塊,J-Link V8仿真器 1個,安裝iar embedded workbench 5.3,安裝JLinkARM_V420a,下載STM32F10x_StdPeriph_Lib_V3.3.0,安富萊開發板board文件。

本文引用地址:http://www.eepw.com.cn/article/201611/322397.htm

第一步,新建一個文件夾,命名為GPIO_IOTG,準備所需的文件,先將STM32F10x_StdPeriph_Lib_V3.3.0目錄下的Libraries文件夾拷貝到GPIO_IOTG文件夾中;再在STM32F103ZE-EK基礎例程ExampleGPIO_IOToggle和STM32F103ZE-EK基礎例程錄下找到所需文件,複製到GPIO_IOTG文件夾中,如圖1:


第二步,點擊菜單 File --> New -->Workspace 創建一個新的Workspace;然後點擊菜單 Project --> Create New Project 創建一個項目 (empty 空白項目),保存到GPIO_IOTG文件夾下,如圖2:


第三步,在Workspace窗口中,右擊GPIO_IOTG,在彈出的菜
單中選擇add,再選擇group,給工程添加組,以方便管理文件,然後添加需要的文件,如圖3:

各組的組名可以根據自己的習慣來命名。

其中APP組為應用程式,包含main.c和stm32f10xit.c,main.c,主函數,整個程序的默認入口,所有文件調用都在這裡,stm 32f10x_it.c,全系統中斷程序全部在這裡;

CMSIS中為cortex-m3核的外設訪問層源文件和系統設備訪問層源文件,完成堆棧和系統的初始化,其中core_cm3.c為核心設置,包括C語言類型,彙編語言等等,不用改動。system_stm32f10x.c,系統環境設置,包括寄存器變量,運行頻率;DOC為說明文檔;

EMARMv5組為系統啟動文件,根據自己的晶片類型和編譯的環境選擇不同的tartup;

StdPeriph_Driver——可以添加的硬體模塊驅動,庫自帶的模板已經添加了;

STM32-EVAL——針對開發板的LCD驅動以及LED,按鍵和埠的驅動。

第四步,選項配置,主要包括微處理器類型的選擇、編譯器的配置、連接器的配置、調試器的選擇和配置,其他的部分可以選擇默認設置。

(1)微處理器類型的選擇及Library的配置

點擊 general options

設置 Taget:Device 選擇 ST STM32F10xE;Endian mode 選擇 Little。

配置Library:若在串口程序中用到printf,Library Configuration標籤頁中的Library選擇為Full,否則選擇normal就可以了。


(2)編譯器的配置

最重要的部分是Preprocessor 的配置,要配置project中用到各種頭文件的路徑,如果路徑錯誤,編譯就不會通過,從而出現error。

$PROJ_DIR$
$PROJ_DIR$LibrariesCMSISCM3CoreSupport
$PROJ_DIR$LibrariesCMSISCM3DeviceSupportSTSTM32F10x
$PROJ_DIR$LibrariesSTM32F10x_StdPeriph_Driverinc
$PROJ_DIR$......UtilitiesSTM32_EVAL
$PROJ_DIR$Board
$PROJ_DIR$BoardSTM32F103ZE-EK

註:1)PROJ_DIR$是在工程文件夾目錄下,是一個相對的目錄。

2)$PROJ_DIR$......UtilitiesSTM32_EVAL是在工程文件所在磁碟目錄下,可以包含不是工程文件夾中的頭文件。

若在內存中啟動,需要在 defined symbols 裡面寫上 VECT_TAB_RAM;如果程序比較大則需要在flash中啟動,就不需要配置這一項。


相關焦點

  • IAR STM32 函數和變量的絕對地址定位
    即使是兩個不同的工程,比如第一個工程為實際工程,裡面有所有的工程文件,第二個工程為更新專用工程,裡面僅僅只有test.c文件,裡面的函數是同名的,定位地址與第一個工程也一樣。那麼這樣編譯後,第二個工程裡面的固件片斷,是可以用來更新一個工程的固件的。
  • STM32 OTA例程之ESP8266:你會不會正確使用?
    在STM32 FOTA Demo工程裡,我們用它來實現無線通信。下面先來認識一下該模塊,然後在Demo裡重點介紹基於ESP8266 晶片相關底層驅動的實現過程。 使用雙引號表示字符串數據。比如「123」,就是一個字符串,而123就是數字。
  • STM32開放式開發環境:釋放創造力的利器
    - 功能包:一套利用STM32 Nucleo開發板和STM32Cube軟體為一些最常用用例開發的功能性例程(代碼示例)。  - 每個軟硬體功能模塊都配備描述詳盡的技術文檔。此外,USB接口支持虛擬COM埠和大容量存儲接口(兼容ARM mbed)  - 2個按鍵(微控制器復位信號和開發者專用按鍵)  - 3支LED燈(5V電源、開發者專用、ST-Link調試器狀態)  用戶可以為板子選用不同的電源:  - 5V USB供電  - 5V外部電源  - 外部電源VIN (7-12V)
  • STM32開發環境(工具)之Keil MDK 介紹
    本章將先對STM32常用的開發工具Keil MDK和IAR EWARM進行簡單介紹,然後結合STM32_SK仿真評估板和STM32F103C的開發板講解STM32片上資源使用,最後給出一個基於STM32的數據採集器的應用實例。
  • keil5.24創建uCOSIII工程實現stm32實時作業系統(環境配置)
    3:工程文件預覽  下面是我的示例工程,我用到了GPIO口輸出LED,模擬的時候可以看我的程序是否正常工作。 關鍵字:keil5  24  uCOSIII  stm32  實時作業系統 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/2018/ic-news100641524.html
  • STM32F407單片機使用攻略:中文手冊、實戰問答20篇
    中文資料篇在STM32F4DISCOVERY上移植EMWIN(圖片+源碼)EMWIN 是NXP和Segger公司聯合開發的圖形庫,界面比起UCGUI更加漂亮和直觀,美中不足的是,在不購買其專利授權情況下,無法獲取源碼,只有編譯好的 庫使用,目前庫版本已經更新到5.20。現在分享一個4.15D版本的EMWIN在STM32F4DISCOVERY上的移植。
  • STM32固件庫V3.5在Keil MDK環境下使用方法
    在這裡我和大家分享一下使用V3.x庫的方法,希望大家喜歡,如有錯誤請指出。本文引用地址:http://www.eepw.com.cn/article/201611/322321.htm這篇教程分以下幾個方面,一:建立工程,設置工程屬性。二:建立條理清晰的GROUP;三:使用JLINK仿真調試。下面就分別逐個說明。
  • 基於stm32的數字示波器設計方案
    與模擬示波器相比,數字示波器不僅具有可存儲波形、體積小、功耗低,使用方便等優點,而且還具有強大的信號實時處理分析功能。因此,數字示波器的使用越來越廣泛。目前我國國內自主研發的高性能數字示波器還是比較少,廣泛使用的仍是國外產品。因此,有必要對高性能數字示波器進行廣泛和深入研究。  本文通過採用高速高性能器件,設計了一實時採樣率為60 msa/s的寬帶數字示波器。
  • fpga開發板哪個好?fpga開發板推薦
    打開APP fpga開發板哪個好?FPGA 開發板。然而大多數人對FPGA,不時很了解不能選擇好的產品,以至於影響自己的使用。接下來小編將根據使用者身份的不同給出一些建議如下:   1 初學者自己購買FPGA開發板學習: 因為是自己用,而且一般對價格有一定的接受限度。
  • 單片機長在MDK下建立STM32工程二
    這一篇根據上一篇的結果繼續完善我們創建的工程。四、添加main.c文件在「new_project\user路徑下」直接新建一個main.c文件,當然也可以從別的工程挪一個過來。然後把main.c文件添加到工程的user條目下。
  • ST開發板申請活動最後一天,想入手的趕緊來!
    ,不填或填寫錯誤取消獲取資格,由其他申請者增補)3、所有參與申請的用戶,請進入麵包板社區福利群:ST開發板免費申請群。並依次名次優選選擇開發板。5、 核對郵寄信息,完成郵寄,並說明評測任務。看完獲取方法,我們來了解一下免費獲得開發板以後的任務。
  • STM32分配堆棧空間不足問題原因及解決方法
    在開發過程中,我們有時候可能會遇到數據錯誤的情況,而這個情況發生多數是由於堆棧溢出導致,這裡我們將詳細講解復現堆棧溢出會導致的問題及提供相應的解決方法。   先說結論,以STM32F103RCT6為例,初始的棧空間是1KB,堆空間是512Byte。如果動態內存分配需求過多時,需要手動調節堆空間。
  • 十個中文例程教會你輕鬆上手製作Arduino智能小車
    你可以自己自己動手製作,也可以購買成品套裝;Arduino所使用到的軟體都可以免費下載。硬體參考設計 (CAD 文件)也是遵循availableopen-source協議, 你可以非常自由地根據你自己的要求去修改他們。本文精選了Arduino教程、例程、設計案例,集結了國內外官方資料和資深工程師的經驗,是學習AArduino的必備寶典。
  • 第37章 基於SD卡的FatFs文件系統—零死角玩轉STM32-F429系列
    與串行Flash的FatFs文件系統移植例程相比,FatFs文件系統部分的代碼只有diskio.c文件有所不同,其他的不用修改,所以一個簡易的移植方法是利用原來工程進行修改。下面講解利用原來工程實現SD卡的FatFs文件系統。37.1 FatFs移植步驟上一章我們已經完成了SD卡驅動程序以及進行了簡單的讀寫測試。
  • 【世說設計】中文文檔《SAME54 Curiosity Ultra開發板用戶指南》
    SAME54 Curiosity Ultra開發板用戶指南 SAM E54 Curiosity Ultra 開發板(DM320210)包括集成式編程器和調試器,因而無需額外的硬體即可開始使用
  • 視頻教程 | 正點原子手把手教你學STM32-M7
    STM32新建工程 4)STM32 GPIO使用 5)STM32 定時器使用 6)STM32 看門狗使用 7)STM32外部中斷和中斷優先級管理  2、中級篇,主要介紹STM32基本外設使用,包括:GPIO,串口,定時器,外部中斷等。
  • 瑞薩電子推出首款基於ARM Cortex-A處理器的mbed微處理器開發板
    瑞薩利用RZ/A1微處理器產品開發出全球首個基於ARM Cortex-A9處理器的mbed微處理器開發板,該產品將方便互聯設備設計人員更快地開發出高性能、高功能型嵌入式系統產品。  "瑞薩電子已生產出優秀的創新型開發板,該開發板將擴展ARM mbedIoT平臺的應用範圍,"ARM IoT業務平臺總監Simon Ford說道。"與瑞薩電子的合作凸顯了我們幫助開發人員加速多種智能化的高級互連器件的創建和部署這一承諾。"
  • FreeRTOS 在STM32上的移植 V1.0
    list.c 是一個鍊表的實現,主要供給內核調度器使用;queue.c 是一個隊列的實現,支持中斷環境和信號量控制;croutine.c 和task.c是兩種任務的組織實現。對於croutine,各任務共享同一個堆棧,使RAM的需求進一步縮小,但也正因如此,他的使用受到相對嚴格的限制。而task則是傳統的實現,各任務使用各自的堆棧,支持完全的搶佔式調度。