<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        使用Keil4新建ST32工程

        作者:槍炮紫苑   來源:轉自槍炮紫苑   點擊數:  更新時間:2014年07月09日   【字體:
        網上搜索了一些方法,匯總了下,挑選了一個可行的寫出來,如下。

        1、新建工程!Project New  uVision Project,保存。

        2、選擇芯片型號!。這里用:STM32F103C8。


        3、提示是否拷貝,選擇!



        4、新建文件夾!在工程文件根目錄下新建幾個文件夾:User、CMSIS、Lib、Obj、List(這里是為了養成良好的習慣。︰ser放置用戶代碼;CMSIS放置固件庫的啟動文件,Lib放置庫文件


        PS:普及(CMSIS:Cortex Microcontroller Software Interface Standard,是 ARM Cortex 微控制器軟件接口標準,是ARM公司為芯片廠商提供的一套通用的且獨立于芯片廠商的處理器軟件接口。

        5、拷貝!把固件庫的Libraries \ STM32F10x_StdPeriph_Driver目錄下的incsrc這兩個文件夾復制到剛才新建的Lib文件夾中。
           將固件庫的Libraries \ CMSIS \ Core \ CM3文件夾下的全部文件復制到剛才新建的CMSIS文件夾中,Startup / arm目錄下一般有三個啟動文件,分別為,startup_stm32f10x_ld.s,startup_stm32f10x_md.s,
        startup_stm32f10x_hd.s,按順序是小,中,大容量Flash單片機的啟動文件。我們這里用的是
        STM32F103C8128 K Flash。所以,稍后,把startup_stm32f10x_md.s添加到我們的工程中。不同大小的Flash對應的啟動文件不同,這點要注意。

            最后,用戶的代碼(例如main.c)都放在User文件夾下。

        6、建組!鼠標右擊“Target1”→Manage Componets,彈出如下的對話框,在中間列依次建立:CMSIS、Lib、User文件夾,將原有的Source Group1改為startup,并在最右列依次添加所需要的文件。
            Startup中startup_stm32f10x_md.s文件,USER組里添加main.c,stm32f10x_it.c這兩個文件,FWlib組里面添加src里面的全部驅動文件。


        PS:src里面的驅動文件,也可以需要哪個就添加哪個,這里全部添加,是為了后續開發的方便。并且,我們可以通過配置stm32f10x_conf.h文件來選擇性添加,只有在stm32f10x_conf.h中被配置的文件才會被編譯。
        PS:注意,在組里面添加的,都是匯編文件和C文件 ( 即,以 .s .c為后綴的文件 ),即,都是源程序文件 ( 可能還有其它類型的文件,但是,都必須是源程序文件 ),并且,一般地,所有源程序文件都必須添加到組里面才行。但是,頭文件是不需要添加到組里面的。

        7、設置!右鍵“Target1”→Options For Target “Target1”,彈出下面的對話框。
           ①點擊“Output”選項卡,點擊“Select Folder for Objects”按鈕,可以為編譯時產生的輸出文件,設置一個文件夾“Obj”,把這些輸出文件都輸出到該文件夾下。還可以把“Creat HEX File”選項框勾上,這樣,就可以在編譯時,輸出16進制的可執行文件了。


           點擊“Listing”選項卡,點擊“Select Folder for Listings”按鈕,可以為編譯時產生的鏈接文件,設置一個文件夾“List”,把這些鏈接文件都輸出到該文件夾下。

           點擊“C / C++”選項卡,這里有兩個設置很重要 (Define”和“Include Paths”,如下圖 ),設置不對,編譯會出很多錯誤。另外,下圖中的“One ELF Section per function”一般要選上。


        PS:注意:定義STM32F10X_HD,是因為我們用的芯片是大容量的。添加了STM32F10X_MD這個宏以后,庫文件里面為大容量芯片定義的寄存器,我們都可以使用了。芯片是小容量,或者,中容量時,宏要換成,STM32F10X_LD或者STM32F10X_HD。其實,不管什么容量,我們只要添加STM32F10X_HD這個宏即可。當我們用小,或者,中容量的芯片時,那些為大容量定義的寄存器,不去訪問就是了,反正,也訪問不了。

         

                Include Paths是設置,頭文件的搜索路徑的。我們的工程中,用到的頭文件在哪個路徑,就把該路徑添加進來。有時,也可以根據編譯錯誤,發現哪些頭文件,編譯器找不到,再把這些頭文件的路徑添加進來。一般要填入的路徑有以下一些,每個不同的路徑以分號間隔: ..\ ”表示工程根目錄。
        例如:..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;這里主要有幾個必須要添加,一是inc的庫,也就是頭文件庫;二是CMSIS的路徑必須要添加!
        PS:注意:因為編譯器不會自動搜索指定目錄的子文件夾,所以每個路徑都要添加,就算,路徑1是路徑2的子目錄,路徑1和路徑2都必須同時添加,才行。 在添加目錄時要注意,在下圖界面下,必須把藍色條移到最后的空白處,再點擊“OK”,最后一個路徑才能被添加成功,否則,最后一個路徑會丟失。

         

         

         

           點擊“Debug”選項卡,選中左邊的Use Simulator,就是使用軟件仿真模式調試,選中右邊的Use,就是使用硬件仿真,調試。由于我們多使用開發板加J-Link調試,所以選中“Cortex–M / R  J-LINK / J-Trace”項,其它選項,默認即可。如下圖。


           點擊“Utilities”,選中“Use Target Driver for Flash Programming”,在它下面選擇“Cortex–M / R  J-LINK / J-Trace”項。其它設置,默認即可。如下圖。


           
           在上圖的界面中,點擊“Settings”按鈕,彈出下面的對話框,添加Flash。如果,已經有Flash了,就不用添加了,如果沒有的話,就一定要添加Flash,否則,無法下載程序到開發板。
        編譯即可
        PS:main.c中的頭文件需要引用。例如:#include "stm32f10x_gpio.h"、#include "stm32f10x_rcc.h"等

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮