Ubuntu下安裝Stm32的Eclipse的開發環境(1)

轉載地址 https://blog.csdn.net/zhengyangliu123/article/details/56670282

STM32高級開發(15)-使用eclipse開發STM32

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/zhengyangliu123/article/details/56670282
在最起初的時候,我剛剛接觸linux上單片機的開發,最喜歡的就是 eclipse + arm-plug-in + arm-none-eabi 的開發環境,因爲這是在Linux上最接近於windows下keil、IAR等IDE的開發方式,然而那是由於對eclipse亦或是makefile等編譯過程中的工具的不甚瞭解,很多時候會遇到一些莫名的錯誤,也導致了那是覺得這樣的環境很鬼畜,現在看來多是一些很淺顯的問題,直到最近我再一次的嘗試了eclipse開發環境的搭建和使用,我才很順利的完成了程序的配置。現在也把這個方法推薦給大家,不過在使用這個方式前,還是建議大家先把之前的文章內容看懂了,否則很多時候遇到問題都會不知道怎麼解決。

安裝java
與CubeMX一樣,eclipse也是運行在java環境下的,所以我們首先要在環境下安裝Java庫。方式在上一篇中已經介紹過了,這裏就不再做更多闡述了。

還有就是eclipse在顯示readme時會自動的加載markdown格式的預覽,需要系統安裝libwebkitgtk-1.0-0才能使用。

$ sudo apt-get install libwebkitgtk-1.0-0
1
安裝eclipse
在eclipse的官網上下載系統eclipse安裝包。注意一定下載CDT 版本的就是 Eclipse IDE for C/C++ Developers 版本,這個纔是給C/C++語言開發用的版本,裏面已經預裝好了CDT的插件。

https://www.eclipse.org/downloads/eclipse-packages/

解壓後放到自己喜歡的位置就可,我一般會把外部的程序放在用戶路徑下application的文件夾中。而後實際上我們這時候只要點擊解壓後文件夾內的eclipse運行程序就能打開了。但是爲了在系統菜單中添加一個快捷方式,我們同樣的像上一篇中,在 /usr/share/applications/ 的路徑下添加一個desktop的文件。

$ sudo gedit /usr/share/applications/eclipse
1
寫入內容,注意執行文件路徑和圖標路徑根據自己的位置修改。

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse Platfrom
Comment=Eclipse IDE
Exec=/home/yangliu/Application/eclipse/eclipse
Icon=/home/yangliu/Application/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application
Categories=Development
1
2
3
4
5
6
7
8
9
10
然後我們就能在開始菜單中找到eclipse的快捷方式了把它拖到我們左側的快捷啓動欄然後開啓吧~。在第一次打開軟件後eclipse會要求設置一個工作目錄也就是日後我們默認的創建工程的目錄,我一般會選擇默認的在用戶路徑下的workspace目錄,點擊use as default 就會默認了,之後我們再啓動就不會需要再點擊確定了。

偶爾會我們遇到eclipse卡頓,對操作反應很慢的情況,大家如果碰到了可以參照這位大大的文章修復。 
http://blog.csdn.net/u010652906/article/details/51626257

安裝GNU ARM Eclipse plug-ins
其實按照eclipse的特性來說,我們單純的使用CDT eclipse + 工具鏈就可以完成整個工程的編譯,但是在那種情況下要設置很多的參數,十分的麻煩。所以在這裏我們選擇安裝一個國外大神製作的arm 開發插件,用插件來配置我們的工程會極大的加快我們初始的工作。

這個插件的項目主頁在這裏,裏面有安裝插件的詳細介紹,不過我們下下面也會講到。

http://gnuarmeclipse.github.io/

在下面這個網站中下載插件的zip壓縮包,不用解壓。

https://github.com/gnuarmeclipse/plug-ins/releases

打開eclipse,點擊菜單欄上的help-> Install New Software

點擊 add -> archive 選擇我們剛剛下載好的插件壓縮包,eclipse就會自動讀取裏面的內容了,在選擇框內全選插件的所有內容,然後開始安裝。之後就是一些安裝過程中的協議確認什麼的常見過程沒什麼好介紹的,等安裝完畢後,eclipse會提示重啓軟件,我們點重啓就行。

配置eclipse開發環境
在我們安裝插件完畢後,還需要進行一些設置,來優化我們的eclipse顯示和操作,用以適應嵌入式開發,點擊 windows -> preference 打開全局設置。然後根據一下官網的說明完成即可。除此之外我默認大家的Ubuntu中已經安裝好了arm-none-eabi 的工具鏈且配置到了系統PATH中,如果沒有請參照本系列之前的文章安裝。

http://gnuarmeclipse.github.io/eclipse/workspace/preferences/

導入CubeMX工程
再配置好我們的eclipse後,我們就要開始正式的開發過程了,這裏我推薦大家使用CubeMX來生成工程模板。我們在上一章中已經教大家生成了GNU下使用的stm32工程,也嘗試使用了makefile去編譯運行它嗎,那麼我們現在來看看eclipse下怎麼編譯它吧。

點擊新建工程 C project 或 C++ project ,選擇一個空工程,toolchain設置爲 cross arm gcc。並在project name 的地方給工程起個名字。

之後選擇工具鏈設置其位置,並選擇編譯配置模板。最後點擊finish完成。

在完成設置後,我們會在工作區看到一個空的工程。這是我們在工程上點擊右鍵選擇 import ,選擇導入文件結構。並在選擇中工程文件夾勾選它後點擊finish 進行導入操作。

設置編譯參數
在我們導入後可能會看到很多的報錯和警告,我們先不要理會他們,首先我們要做的是把 startup下的 .s 彙編寫成的啓動文件的改爲 .S 因爲eclipse默認是識別大寫S 爲彙編文檔的。我們在資源管理器中右鍵,啓動文件 rename 修改即可。

而後我們需要右鍵資源欄中的工程設置工程參數。

在下面的界面中設置編譯參數,然後保存我們就可以編譯了,這些參數的設定就相當於我們把makefile 變成了一個圖形化的配置界面放了過了,最後eclipse會在工程下創建一個debug目錄,並在裏面存放自動生成的makefile和編譯的中間結果及最終對象。它的實際make目錄就是在debug 下進行的。如果編譯報錯了,大家可以根據這些去看看自己是不是有些參數或路徑有問題。只要看看編譯過程中的指令輸入和後面的參數,再對應設置菜單,我想大家只要看過之前的篇目就會很快理解這些小問題了。

至於一開始的報錯,我們在完成設置後,右鍵工程,選擇index -> fresh all files 來讓eclipse重建索引目錄就可以完成了。

eclipse下的特性
在eclipse下,我可以享受很多keil IAR下沒有的開發功能,比如 格式化代碼 ,灰色顯示未啓用的 宏定義區塊,快速查找 函數位置等等一系列的方便功能,在windows下也就只有由 eclipse 再開發的 Truestdio 能夠與之相比。

其次eclipse也是支持運行用戶自己的makefile的,只有在make窗口中新建指令就可以實現。雙擊即可執行。

使用eclipse調試工程
在eclipse下開發與我們之前的裸開發方式最大的不同我想也就是在調試過程中了,我們接下來就來爲大家介紹eclipse下使用 OpenOCD的調試方式。這裏我們同樣默認我們已經安裝了OpenOCD了。

選擇debugconfig 然後在GDB OpenOCD上雙擊建立一個調試配置。 


如下根據自己的板卡設置好參數。

配置好後我們點擊debug就可以愉快的開始調試啦~。有圖形界面的調試是不是還是挺爽的?哈~。同樣的如果這裏產生報錯我們只要查看一下報錯指令很快就能修復。只要我們能夠理解eclipse上所有的操作只相當於幫助用戶在終端輸了一大串的指令,當我們點下一個按鈕的時候背後都是一條或多條終端指令的執行。我想對於大家這麼久以來跟着我一步一步從命令行開發走過的小夥伴,只要明白這一點,看着eclipse console下的信息解決一些報錯和問題想來絕不是難事了。

最後幾句
最近有些忙,近期的幾篇文章可能寫的有些趕了,講的不是很詳細,如果大家遇到一些問題可以在下面留言,我會盡可能的解答的。同時在最後我也附上個參考的網址,大家可以自己去看看,裏面有很多很有一些的東西哦~。比如自動讀取RTOS任務序列啦之類的很炫酷又實用的東西,很多我都沒有自己去嘗試過,也希望大家在試驗成功後能夠寫一篇博客,在評論區告訴我,大家多交流嘍~

在eclipse上開發arm :

https://mcuoneclipse.com/

DIY Free Toolchain for Kinetis :

https://mcuoneclipse.com/2013/08/04/diy-free-toolchain-for-kinetis-part-5-freertos-eclipse-kernel-awareness-with-gdb/

openocd 怎樣能支持FreeRTOS 8.1.2

http://blog.csdn.net/rickleaf/article/details/41006699

樣板工程
哦對了差點忘了,放上我們配置好的樣例工程的鏈接,大家自己下載下去參考參考吧~。下載後記得要用導入功能加入eclipse哦,否則會遇到一些工程路徑設置什麼的問題,需要手動修改才能正常編譯。

標準的eclipse工程配置:https://github.com/zhengyangliu/Stander_Cross_GCC_STM32F429iDISCO

帶有arm插件的工程配置:https://github.com/zhengyangliu/Stander_Cross_ARM_GCC_STM32F429iDISCO
--------------------- 
作者:Foresights 
來源:CSDN 
原文:https://blog.csdn.net/zhengyangliu123/article/details/56670282 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章