https://blog.csdn.net/cdemtronix/article/details/78327434
(進(jìn)入環(huán)境變量設置頁(yè)面使用eclipse編譯環(huán)境完全替換KEIL、IAR等需要授權才能使用工具是非常好的選擇)
英創(chuàng )公司開(kāi)發(fā)的ETA321單片機模塊,是基于STM32F103RC單片機設計的實(shí)時(shí)任務(wù)處理單元模塊。
ETA321模塊作為客戶(hù)端,使用USB與英創(chuàng )公司的ARM工控主板進(jìn)行數據傳輸、通訊,根據工控主板應用程序發(fā)出來(lái)的指令,執行相應的實(shí)時(shí)任務(wù)處理,如實(shí)現:電機控制、數據采集、高速D/A輸出、狀態(tài)采集保護等。另外,用戶(hù)可以基于英創(chuàng )公司構建好的USB通訊結構,利用KEIL、IAR、eclipse等集成編譯環(huán)境,在ETA321模塊上編寫(xiě)自己特殊的應用程序。英創(chuàng )公司推薦使用eclipse編譯環(huán)境。
由于eclipse軟件編譯工具是開(kāi)源、免費的工具,在windows環(huán)境下編譯linux應用軟件的用戶(hù)也比較多,因此在windows環(huán)境中,搭建eclipse的STM32編譯環(huán)境,就變得非常有意義:可以很好地與linux編譯環(huán)境進(jìn)行整合;不用擔心開(kāi)發(fā)軟件的版權問(wèn)題;eclipse編譯環(huán)境也能支持各種調試工具。
因此,使用eclipse編譯環(huán)境完全替換KEIL、IAR等需要授權才能使用工具,是非常好的選擇。但是榙建基于eclipse的STM32的開(kāi)發(fā)環(huán)境,需要好幾個(gè)軟件與插件,且相應的版本需要能兼容,才能正確搭建好開(kāi)發(fā)環(huán)境。
為了協(xié)助客戶(hù)快速搭建eclipse編譯環(huán)境,英創(chuàng )公司編寫(xiě)了這篇文章,詳細說(shuō)明了整個(gè)eclipse環(huán)境搭建、工程建立、目標代碼燒寫(xiě)、以及使用JLink進(jìn)行軟件調試的方法。
所需要的軟件或插件如下:
JAVA
eclipse C/C++
gcc-arm-none-eabi,交叉編譯工具鏈
CDT,對cortex-M的支持的編譯工具以及對J-Link調試工具的支持
J-LINK驅動(dòng)
開(kāi)發(fā)/燒寫(xiě)STM32所需要的軟件/工具:
STM32 Flashloader串口燒寫(xiě)工具
為了方便客戶(hù)更加簡(jiǎn)單、方便地搭建ETA321的開(kāi)發(fā)環(huán)境,英創(chuàng )公司下載了所需的工具軟件:JAVA、eclipse C/C++、gcc-arm-none-eabi、STM32-Flashloader等,可以直接利用。

下面則詳細地描述eclipse編譯環(huán)境塔建方法。
一、安裝eclipse編譯環(huán)境
1、安裝JAVA
打開(kāi)工具包中的(JAVA)jdk-8u144-windows-i586.exe進(jìn)行默認安裝即可。



現階段,不建議安裝JAVA 9.0版本。因為要實(shí)現JAVA 9.0 對eclipse的支持,需要額外的補丁包,所以相對麻煩一些。
2、安裝eclipse
復制eclipse文件夾到開(kāi)發(fā)用的計算機中(任意位置均可),如:C:\program file(x86)目錄( 如果系統是32 bit,則C:\program file )。

3、設置交叉編譯工具鏈的環(huán)境變量
從eclipse目錄下,找到交叉編譯工具鏈gcc-arm-none-eabi的路徑,并復制下來(lái)。

打開(kāi)“系統屬性”->“高級”配置頁(yè)面,再點(diǎn)擊“環(huán)境變量”,進(jìn)入環(huán)境變量設置頁(yè)面。

在用戶(hù)環(huán)境變量中找到PATH項,點(diǎn)擊編輯,將工具鏈的路徑添加到PATH參數中,點(diǎn)擊確認退出。

環(huán)境變量添加完成后,可以從系統的CMD命令提示符窗口中,輸入path指令,檢查環(huán)境變量是否添加成功。

4、安裝CDT(C/C++ Development Tooling)
進(jìn)入eclipse目錄,雙擊eclipse.exe啟動(dòng)eclipse軟件,這時(shí)設置eclipse的工作區路徑,可以系統中的任意路徑均可。設置好以后,點(diǎn)擊“l(fā)aunch”。

軟件啟動(dòng)完成后,在eclipse的“help”菜單中,選擇“install New software”

然后在“Work With:”中輸入鏈接“http://gnu-mcu-eclipse.netlify.com/v4-neon-updates”并回車(chē),將會(huì )列出該CDT所包含的所有工具列表。在列出來(lái)的選項中,全部選擇,點(diǎn)擊“next”。

最后接受協(xié)議,點(diǎn)擊“finish”開(kāi)始安裝CDT。

在eclipse的右下角可以看到安裝進(jìn)度,雙擊小的進(jìn)度條,則可以打開(kāi)安裝信息。在安裝過(guò)程中,如果有安全警告,點(diǎn)擊“Install anyway”繼續完成安裝。

當CDT安裝完后,會(huì )提示軟件重啟,這時(shí)點(diǎn)擊“Restart Now”,重新啟動(dòng)eclipse。

到此,在Windows7系統下,STM32的eclipse編譯環(huán)境已經(jīng)搭建完成,接下來(lái)就可以建立第一個(gè)應用程序工程了。
二、建立eclipse應用工程程序
eclipse編譯環(huán)境安裝完成以后,就可以開(kāi)始編寫(xiě)應用程序了,我們以ETA321模塊上的LED燈D1閃爍為例子,舉例說(shuō)明建立簡(jiǎn)單的應用工程。
1、啟動(dòng)eclipse,從file->new中選擇C/C++ Project。

2、選擇C++ Managed Build,點(diǎn)擊“next”。

3、輸入工程名,以及選擇Project type為“STM32F10x C/C++ project”,右側Toolchains選擇為“ARM Cross GCC”,點(diǎn)擊“next”。

4、設置芯片屬性,ETA321采用的是高密度器件,Flash大小為256KB,RAM大小為48KB,根據該參數進(jìn)行設置,點(diǎn)擊“next”。

5、設置工程所用的文件夾,可以默認即可,點(diǎn)擊“next”。

6、選擇工程中需要編譯的項目,一般情況下,“Debug”與“Release”都會(huì )默認選擇,點(diǎn)擊“next”。

7、設置工具鏈。如果設置了工具鏈環(huán)境變量且系統重啟生效,則“Toolchain path”會(huì )自動(dòng)填寫(xiě)完成。如果這里為空,可以點(diǎn)擊“Browse”按鈕,手動(dòng)選擇工具鏈的目錄即可,即上面所說(shuō)的工具鏈路徑,最后點(diǎn)擊“finish”完成工程建立。

8、工程建立完成后,需要進(jìn)行編譯工具的配置。我們提供的eclipse工具包,有兩個(gè)編譯工具可以選擇:CDT Internal Builder或Gnu Make Builder,使用其中一個(gè)即可。配置編譯工具的方法如下:
首先,在eclipse環(huán)境中,選中所建立的工程,點(diǎn)擊菜單中的“project”-> “Properties”,打開(kāi)配置頁(yè)面。

a)、選擇CDT Internal Builder編譯工具
在彈出的配置頁(yè)面中,展開(kāi)左側的“C/C++ Build”選項,點(diǎn)擊“Tool Chain Editor”,在右邊的參數“Current Builder”下拉列表中,選擇CDT Internal Builder,然后點(diǎn)擊“Apply and Close”完成設置。

b)、選擇Gnu Make Builder編譯工具
從上圖中可以看出,eclipse也可以使用Gnu Make Builder編譯工具。在我們的eclipse工具包中,已經(jīng)包含了該編譯工具,在eclipse文件夾中的“GNU MCU Eclipse”就是該工具包,因此可以配置使用該編譯工具。使用該工具的配置方法如下。
首先確認編譯工具的路徑并復制下來(lái)。

點(diǎn)擊菜單中的“project”-> “Properties”,選中左側的“C/C++ Build”下“Environment”,會(huì )在右側列出相應的環(huán)境變量參數。單擊選擇右側的“PATH”項,再點(diǎn)擊“Edit”按鈕,進(jìn)行參數配置。

在彈出的“Edit variable”參數修改頁(yè)面中,添加GNU Make Builder工具的路徑到PATH環(huán)境變量中。

最后,在左側的“C/C++ Build”選項,點(diǎn)擊“Tool Chain Editor”,在右邊的參數“Current Builder”下拉列表中,選擇“Gnu Make Builder”,然后點(diǎn)擊“Apply and Close”完成設置。

10、由于ETA321模塊上的LED燈使用的是PB2引腳,與建立的工程中默認使用的GPIO不同,所以需要修改代碼,與ETA321的GPIO對應。需要修改的定義文件為BlinkLed.h文件,其中的BLINK_JPORT_NUMBER參數更改為1,BLINK_PIN_NUMBER參數更改為2。

11、接下來(lái),就可以編譯工程了。右鍵單擊工程名,在彈出的選項中,點(diǎn)擊“Build Project”,開(kāi)始編譯工程。

編譯成功后,將會(huì )生成hex文件與elf文件

三、使用flashloader工具燒寫(xiě)ETA321應用程序
如果安裝好了Flashloader工具,這時(shí),可以找到工程目錄下編譯出來(lái)的HEX文件,利用Flashloader工具將其燒寫(xiě)到ETA321中,查看程序運行結果。燒寫(xiě)方法如下:
1、拔動(dòng)開(kāi)關(guān)到ETA321模塊上“3.3V”端,使ETA321處于下載狀態(tài),即:ETA321模塊上的紅色LED燈點(diǎn)亮。用USB線(xiàn)連接ETA321到PC機的USB端口。如果是首次進(jìn)行連接,需要安裝USB驅動(dòng),等一點(diǎn)時(shí)間,直到驅動(dòng)自動(dòng)安裝完成。

2、從“設備管理器”中,查看ETA321模塊虛擬的串口編號,即USB-SERIAL CH340虛擬串口編號。

3、啟動(dòng)Flashloader,“Port Name”端口選擇CH340對應的串口編號,校驗選擇“none”。

如果確認這里的參數都正確,但是又不能連接到芯片,則需要重新檢查一下CH340虛擬串口的“端口設置”屬性,并將波特率(位/秒)更改到115200即可。

4、點(diǎn)擊下一步,Flashloader會(huì )讀取到芯片相關(guān)的存貯器信息,再下一步,就可以到燒寫(xiě)界面。

5、選中“Download to device”單選按鈕,并將“Verify after download”選擇上,即下載完以后進(jìn)行校驗。

點(diǎn)擊“Download from file”右側的按鈕,在彈出的頁(yè)面中,選擇需要燒寫(xiě)的hex文件。需要注意,這里要指定文件類(lèi)型,Flashloader軟件默認是.s19,要改為.hex,否則在文件夾中看不到相應的hex文件。

選擇好文件后,點(diǎn)擊“打開(kāi)”按鈕,返回燒寫(xiě)頁(yè)面,再點(diǎn)擊“NEXT”便開(kāi)始燒寫(xiě)。進(jìn)度條顯示綠色,即燒寫(xiě)成功。

四、利用J-Link調試程序代碼
首先安裝J-Link的驅動(dòng),在我們提供的軟件工具包中也有:JLink_Windows_V620c.exe。安裝完成后,就可以使用Jlink進(jìn)行軟件調試了。在調試的時(shí)候,ETA321要處于運行狀態(tài),即:拔動(dòng)ETA321模塊上的開(kāi)關(guān)到S2端,紅色LED不亮。
使用JLink進(jìn)行調試之前,先用JLink GDB Server工具進(jìn)行芯片連測試,以確認Jlink在正常工作。連接測試流程如下:
1、使用JLink的SWD信號接口,連接到ETA321的CN3插針上,并給ETA321上電,且ETA321處于運行狀態(tài)。
2、啟動(dòng)GDB Server工具

3、首先選擇器件,GDB啟動(dòng)起來(lái)后,點(diǎn)擊“Target Device”右側的按鈕,彈出“Target device settings”頁(yè)面。在“Manufacturer”中選擇“ST”,在“Core”中選擇“Cortex-M3”,然后在下面的列表中,選中“STM32F103RC”,最后點(diǎn)擊“OK”。

4、器件選擇完以后,還需要配置GDB Server連接參數:使用USB連接J-Link,SWD接口連接目標芯片,1000Khz速率,最后點(diǎn)擊“OK”進(jìn)行芯片連接。

5、連接成功以后,J-Link項與CPU項顯示綠色狀態(tài),并能讀出CPU的工作電壓。

到這時(shí),說(shuō)明JLINK的驅動(dòng)以及硬件連接環(huán)境均正是正常,就可以在eclipse環(huán)境中,利用Jlink進(jìn)行程序調試了。調試方法如下:
1、啟動(dòng)eclipse,打開(kāi)之前已經(jīng)編譯通過(guò)的工程文件ETA321_LED。
2、從菜單欄上選擇“RUN”下面的“Debug Configurations”。

3、在左邊列表中,選中“GDB SEGGER J-Link Debugging”,再點(diǎn)鼠標右鍵,在彈出的菜單上,點(diǎn)擊“New”,在該項目下建立一個(gè)新的調試項目。

4、點(diǎn)擊新建立的調試項目,展示出右側的配置頁(yè)面,這里主要需要配置/檢查“Debugger”與“Startup”這兩個(gè)配置頁(yè)面。
在“Startup”配置頁(yè)面中,去掉如下圖中紅圈中的兩項,并點(diǎn)擊“Apply”,以確認應用。

在“Debugger”配置頁(yè)面中,需要檢查多項參數:
1、檢查“Actual executable”參數指向JLinkGDBServerCL.exe;
2、并輸入“Device name”為“STM32F103RC”;
3、 “Endianness” 選擇為“Little”;
4、“Connection”選擇為“USB”;
5、“Interface”選擇為“SWD”;
6、“Initial speed”配置為1000KHz。
確認參數正確以后,點(diǎn)擊“Apply”應用配置參數。最后點(diǎn)擊“Debug”進(jìn)入調試。

7、啟動(dòng)調試以后,程序入口停止在main()函數,這時(shí)可以按F6進(jìn)行單步運行、F5可以進(jìn)入函數內部跟蹤運行。
http://www.emtronix.com
原文地址:http://www.emtronix.com/article/article20171085.html
原文下載鏈接:http://www.emtronix.com/download/stm32_eclipse.pdf
聯(lián)系客服