<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM DS-5開(kāi)發(fā)STM32程序(Eclipse配合Keil插件使用)

ARM DS-5開(kāi)發(fā)STM32程序(Eclipse配合Keil插件使用)

作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò ) 收藏
ARM DS-5是基于Eclipse的ARM開(kāi)發(fā)環(huán)境,有完善的編譯流程,配合Keil插件開(kāi)發(fā)STM32效果更佳。廢話(huà)不多,先介紹思路:

1.安裝MDK軟件,就有編譯STM32的工具鏈。我使用是MDK 4.72的。

本文引用地址:http://dyxdggzs.com/article/201611/317296.htm

http://pan.baidu.com/s/1o6iHPVG

2.安裝DS-5,并注冊社區版(免費閹割)。

http://pan.baidu.com/s/1mgHX2JY

補充:社區版激活代碼:

http://ds.arm.com/zh-cn/ds-5-community-edition/getting-started/

3.運行DS-5安裝Keil插件

安裝好Keil插件后只是使用了Keil的調試和下載功能,真正與DS-5合體需要在Eclipse設置。

4.設置編譯工具鏈,打開(kāi)eclipse,Windows->Preferences,彈出Preferences窗口后選擇DS-5->Toolchains,點(diǎn)擊Add。選擇keil安裝目錄下的ARMARMCCbin,然后確認點(diǎn)next、next通常會(huì )檢測出armcc的版本

確認后如下圖,黃色的就是添加后的工具鏈。
ds-5的環(huán)境設置到這里完成,然后進(jìn)行項目設置。
5.源碼復制到DS-5項目。由于Eclipse和mdk的項目文件顯示不一樣,Eclipse是項目文件夾有什么在Eclipse就顯示什么,Keil要在設置并加入文件才在項目顯示。所以Eclipse加入程序源碼只要在項目文件夾新建文件并復制源碼就行。
首先在Eclipse新建arm項目,New->C Project,選擇Empty Project和ARM Compiler 5.03,同時(shí)輸入項目名稱(chēng)Finish,下圖因為之前有test1這個(gè)項目才出現錯誤。
然后添加原來(lái)的源碼到Eclipse的項目文件夾就是了,下圖可以對比一下Keil與Eclipse的項目表示方式,
6.構建設置。項目源碼添加后還要設置給編譯工具鏈的參數。點(diǎn)到項目右鍵選擇Properties,C/C++ Build->Tool Chain Editor,Current builder有CDT Internal Builder和Gnu Make Builder選擇,Gun的使用Makefile,CDT是命令形式。在win7下CDT編譯是明顯快一點(diǎn)。這兩個(gè)builder還有的區別是文件路徑的表示不一樣,不過(guò)影響不是很大。
然后是C/C++ Build->Settings,根據下面圖基本ok,其實(shí)Preprocessor和Includes的設置都與MDK設置對應的。Target CPU是Cortex-M3,
在A(yíng)RM Linker設置里面涉及一個(gè)比較關(guān)鍵一點(diǎn),就是scat文件,在Keil其實(shí)也有但是幾乎看不到它的身影。
在Eclipse里面就要通過(guò)這個(gè)給鏈接器,所以在項目下新建一個(gè)Templet.scat,DS-5支持scat后綴的文件有特別的查看方式,不過(guò)對于STM32應該不重要。0x08000xxx和0x2000...數字的意義懂stm32的存儲器地址都明白吧。寫(xiě)好scat文件后記得在A(yíng)RM Linker的Image Layout設置Scatter file。
最后設置打印出來(lái)的信息,-map就打印出每個(gè)函數和變量的地址。--list就打印到文件,空著(zhù)打印到console。
基本的設置完成,利用Keil插件可以進(jìn)行調試和下載。
補充:
1.不想編譯某文件,點(diǎn)擊文件右鍵->Resource Configurations->Exclude from Build..,并勾上就可以。
2.關(guān)于bin文件制作,在stm32使用IAP會(huì )發(fā)送2進(jìn)制文件給芯片。除了要scat文件里面設置地址外,還要使用keil的自帶軟件生成bin。設置同樣在C/C++ Build->Setting->Build,設置Post-build steps的Comand。
STM32開(kāi)發(fā)基本上使用keil和iar,keil很強大,運行快速,設置簡(jiǎn)單直觀(guān),模擬和調試工具都做的不錯。IAR個(gè)人覺(jué)得比較丑陋,雖然keil也不是很漂亮。。而Eclipse,其實(shí)一開(kāi)始我是拒絕的。。。因為它設置比較復雜而且一開(kāi)始加載很慢,對比keil有沒(méi)什么優(yōu)勢。但是當你的工程越來(lái)越多,分支也開(kāi)始多的時(shí)候,就發(fā)現Eclipse的優(yōu)勢:
1.清晰的項目管理,不用再開(kāi)多個(gè)keil軟件和文件夾
2.與svn方便使用,Eclipse安裝了svn插件就容易的進(jìn)行版本管理


補充:附上配置好的工程文件

http://pan.baidu.com/s/1kTH5IEb



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>