久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

stm32 開發(fā)環(huán)境MDK+庫文件配置-Changing's Blog

 杭州文軒 2014-11-27

stm32 是一款arm cortex-m3 架構(gòu)的芯片 結(jié)合庫函數(shù)使用 可以更方便的實現(xiàn)各種功能 尤其是結(jié)合各種總線開發(fā)應(yīng)用時 因為庫函數(shù)已經(jīng)封裝很多總線的處理方法和驅(qū)動 直接調(diào)用對應(yīng)庫函數(shù) 就可以操作各個總線 相比于 直接操作寄存器來說 操作I2C SPI CAN 等總線結(jié)構(gòu) 會簡單很多

stm32 的開發(fā)工具有很多MDK ADS AVR 等 我用的是MDk 其實就是可以編譯arm的keil 界面和keil是一樣的 之前安裝過keil 直接把MDK 覆蓋原來的keil 就可以支持51單片機(jī)和arm的芯片的開發(fā)

MDK官網(wǎng)下載地址 :https://www./arm/demo/eval/arm.htm

stm32 V3.5.0 庫文件官網(wǎng)下載:stm32f10x_stdperiph_lib.zip

stm32 相關(guān)資料:http://www./internet/mcu/product/164492.jsp

關(guān)于開發(fā)應(yīng)用 是使用庫函數(shù) 還是直接操作寄存器的問題 我覺得使用庫函數(shù) 有很多的好處 尤其是在團(tuán)隊開發(fā)應(yīng)用的時候 每個程序員都有自己的代碼風(fēng)格 加上操作寄存器的復(fù)雜 項目巨大的代碼量 會讓開發(fā)和維護(hù)變得困難 當(dāng)然想更為深入了解arm 的原理 直接操作寄存器當(dāng)然可取 而且當(dāng)你熟悉到一定程度  可能寫出的代碼 會比庫函數(shù)的效率更高 不過一般的應(yīng)用 使用庫函數(shù)都可以實現(xiàn) 庫函數(shù)很類似于 php 等語言中框架的概念 對開發(fā)很有幫助

固件庫設(shè)置

庫函數(shù)中很多內(nèi)容是可以刪減的  減小項目的大小 可以根據(jù)自己的習(xí)慣 改變庫函數(shù)結(jié)構(gòu)

首先解壓縮下載的固件庫(保留一個備份,,你懂的)

    _htmresc : ST 的logo 完全無用,可以刪去,。

    Libraries: 比較重要的文件包含STM32的系統(tǒng)文件和大量頭文件,,也就是庫文件了。

    Project: 包含大量外設(shè)的例程,,和各個軟件版本的評估版工程模板,。KEIL 對應(yīng)的就是MDK-ARM 文件下的工程模板,。你也可以利用這個工程模板來修改,得到你自己的工程模塊,開發(fā)中不需要,,可以刪去,。

    Utilities: 就是評估版的相關(guān)文件:也不會用到,可以刪去,。

需要先去掉這四個文件的只讀屬性,選擇文件夾后,,右鍵屬性,勾去只讀,。,。。

我刪減后庫函數(shù)結(jié)構(gòu)如下圖:

 

stm32_lib_file.jpgSTM32 v3.5 庫函數(shù)實際文件結(jié)構(gòu)

Cmsis 包含微控制器外設(shè)訪問層和內(nèi)核設(shè)備訪問層文件,;

Startup 當(dāng)然包含的是stm32的 啟動文件,與芯片F(xiàn)lash容量有關(guān),,詳見手冊

Libraries 包含的是 標(biāo)準(zhǔn)外設(shè)庫驅(qū)動源文件(src文件夾) 和 (inc) 標(biāo)準(zhǔn)外設(shè)庫驅(qū)動頭文件

User中包含的是項目的代碼 和中斷代碼

Project 用于包含編譯是時生成的一系列文件,Output 用來放置輸出文件 .hex .axf,,Listing用來放置Listing信息

 

 

 

MDK設(shè)置

在庫函數(shù)壓縮包中找到相應(yīng)文件  如上圖分配好各個文件 (可參考此文:stm32固件庫使用V3.5) 就可以繼續(xù)下一步 

在keil中新建工程  比如建TEST.uvproj,保存在剛才的Project 文件夾下面,。選擇你使用的STM32芯片,比如我用的是103RB 的,,就選擇那個,,確定后,會跳出來個窗口,,問你是否復(fù)制啟動代碼,,選擇否,因為我們庫函數(shù)中已經(jīng)有了,,前面的準(zhǔn)備工作不是白做的,。

option_keil.png

然后右鍵TARGET 1,選擇Manage Ccmponents,根據(jù)剛才的庫函數(shù)文件結(jié)構(gòu)把文件加進(jìn)去,,新建文件夾,,再加入相應(yīng)文件。

設(shè)置好的界面如下:

set_keil.png

keil下的這些文件夾會虛的 不一定是對應(yīng)存在的文件夾的 

最后在右鍵TARGET 1,,選擇Options for TARGET1 ,。。在tab頁 Listing,Output下點(diǎn)擊Select Folder for Objects...設(shè)置對應(yīng)的輸出文件夾 ,。

Output設(shè)置如下:

Output_set.png

 

在C/C++下 還需要設(shè)置下Include Paths路徑,,這個路徑根據(jù)你的實際文件目錄結(jié)構(gòu)相關(guān):

C_tab_set_mdk.png

 

設(shè)置完成后就可以編譯一下測試 庫函數(shù)可以正常運(yùn)行。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多