娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

5.Eclipse集成開發環境

發布者:HarmoniousVibes最新更新時間:2024-10-31 來源: cnblogs關鍵字:Eclipse  集成開發環境  編譯 手機看文章 掃描二維碼
隨時隨地手機看文章

Eclipse集成開發環境不僅可以編譯裸機工程,還可以調試整個裸機工程,這樣當程序異常的時候,可以更加有效的進行修改。接下來就是搭建整個eclipse集成環境:這個調試環境的框架如下圖1-1:

圖1-1

從上面的框架圖看到,要實現eclipse在線調試裸機程序,需要安裝的軟件是eclipse+CDT、JLink驅動、GDB調試軟件,需要連接的硬件是JLink連接pc機和開發板

注意:為了避免干擾,最好對NandFlash進行格式化:圖1-2:

然后選擇y:

圖1-2

格式化NandFlash不是必須的,只是為了更好確定因素。上面是格式化的過程。格式好了之后重新設置開發板從NandFlash啟動。

安裝GDB Server:

在配套資料的ARM-Tools文件夾里有GDB軟件:圖1-3:

圖1-3

arm-linux-gdb:

1.解壓命令:

tar -zxvf arm-linux-gdb-7.5.tar.gz,然后進入該文件夾,執行build-all:./build-all進行安裝:圖1-4:

圖1-4

可以打開剛才運行的sh腳本看看做了哪些工作:圖1-5:

#/bin/sh

 

rm -fr gdb-7.5

rm -r /opt/arm-linux-gdb/

 

tar xvzf gdb-7.5.tar.gz

cd gdb-7.5

 

./configure --target=arm-linux --prefix=/opt/arm-linux-gdb/ -v

 

make && make install

 

cd /opt/arm-linux-gdb/

圖1-5

該腳本的功能是首先強制刪掉當前目錄gdb-7.5,刪掉/opt/arm-linux-gdb/文件夾。確保環境里沒有干擾因素。然后解壓當前目錄里的gdb-7.5.tar.gz。然后進入解壓生成的文件夾gdb-7.5。接著進行gdb配置,執行./configure --target=arm-linux --prefix=/opt/arm-linux-gdb/ -v產生Makefile。接著就是執行make進行編譯,最后執行make install進行安裝。安裝好了之后切換到arm-linux-gdb的目錄。

 

解壓安裝完成之后,會在/opt/的目錄下生成GDB的安裝文件,在該文件夾的bin文件夾里的arm-linux-gdb就是調試工具:圖1-6:

圖1-6

上面完成了arm-linux-gdb的安裝,還需要對該工具進行環境變量的配置,才方便使用。打開/etc/profile配置文件:vim /etc/profile。在最后arm-linux-gcc環境的配置的前面加上:

export PATH=$PATH:/opt/arm-linux-gdb/bin。注意必須是在arm-linux-gcc的前面配置。這是因為工具鏈里面也有arm-linux-gdb工具。為了確保使用的是現在安裝的arm-linux-gdb。圖1-7:

該版本是6.8的:

圖1-7

測試一下安裝是否成功:在命令行執行:arm-linux-gdb,看到剛才安裝的gdb是7.5版本的。圖1-8:

圖1-8

 

安裝JLink軟件:

先解壓:tar -zxvf JLink_Linux_V434a.tgz。圖1-9:

圖1-9

 

 

解壓完成時候進入該文件夾:圖1-10:

圖1-10

接下來就是把對應的文件拷貝到對應的文件夾。相當于安裝:圖1-11:

圖1-11

由于我前面已經裝了一次,所以直接覆蓋即可。這樣就安裝好了JLink了。從前面知道,當安裝好了JLink之后,就可以來連接開發板了。下面進行測試。

 

首先是給開發板上電,圖2-1:

圖2-1

 

 

 

 

給開發板上電后,把JLink接到開發板的JLink接口:圖2-2:

圖2-2

這樣硬件就連接好了。接下來就是把JLink從windows 7拉到虛擬機

在vbox虛擬機的右下角的usb口里找到JLink,把它從windows拉到虛擬機:圖2-3:

圖2-3

然后運行一下JLinkGDBServer,看看能夠檢測到內核:圖2-4:

圖2-4

上面看到JLink成功連接了開發板,檢測到了內核ARM11.

 

 

 

 

安裝eclipse:

所謂的安裝就是解壓:tar -zxvf eclipse-cpp-helios-SR2-linux-gtk.tar.gz -C /usr/local/。完成如下圖2-5:

圖2-5

解壓完成后就是等于安裝完成。接下來運行eclipse,第一次運行的時候會出現指定默認工程路徑的選項,我選的是是:圖2-6:

cd /usr/local/eclipse

[root@FORFISH eclipse]# ./eclipse

圖2-6

當然在上面中你也可以選擇你要保存工程的目錄。然后點擊OK即可。這樣就啟動了eclipse:圖2-7:

圖2-7

這要eclipse就安裝好了。這只是簡單的安裝好了。為了eclipse能夠協調JLink,arm-linux-gdb等工具來方便裸機開發工作。必須安裝一個插件。所以需要虛擬機電腦可以連接網絡。

 

安裝插件CDT:

打開eclipse后,選擇工具欄的Help,在下拉菜單選擇Install New Software:會出現Install窗口。圖2-8:

圖2-8

 

然后在Work with框里輸入插件的位置:http://opensource.zylin.com/zylincdt。輸入完成之后回車,會看到要下載的插件:圖2-9:

圖2-9

然后選中插件點擊Next:圖2-10:

圖2-10

 

再點擊Next:圖2-11:

圖2-11

接著選中我接受協議,然后點擊Finish,就進行安裝了:圖2-12:

圖2-12

 

 

 

安裝圖2-13:

圖2-13

安裝好了執行需要重啟:圖2-14,選擇Restart Now。

圖2-14

這樣就安裝好了插件。

 

 

 

 

 

 

 

 

 

 

 

 

 

Eclipse裸機調試:

測試eclipse裸機調試的代碼在:/home/samba/OK6410_bare,所以直接導入eclipse即可。選擇eclipse的工具欄File->New->Makefile Project with Existing Code.圖3-1:

圖3-1

在新打開的窗口里選擇Browse,找到已經存在工程的目錄:然后點右下角的OK:圖3-2:

圖3-2

回到原來的界面,點擊Finish即可:圖3-3:

圖3-3

這樣就把一個工程導入到了eclipse里面。圖3-4:

圖3-4

 

 

上面成功導入一個工程。

接下來就是編譯了:

編譯也很簡單,用鼠標,選擇該工程名字,右鍵,然后選擇Build project,進行編譯:圖3-5:

圖3-5

其實eclipse的編譯是調用了工程里面的Makefile文件。

上面就編譯好了,接下來就是利用剛剛安裝的CDT插件來調試該工程。調試之前需要配置一下調試參數。

參數設置:

首先是點擊eclipse的工具欄下面有一個像蟲子的圖標:點擊它的下拉箭頭之后會看見選項,選擇Debug Configurations。圖3-6:

圖3-6

點擊之后會出現下面的界面:圖3-7:

圖3-7

然后雙擊Zylin Embedded debug (Native),會生成一個默認的調試配置,名字是OK6410_bare Default,會出現下面的窗口。圖3-8:

圖3-8

然后在C/C++ Application里選擇Browse,找到要調試的過程,然后選擇過程里的elf文件。點擊OK圖3-9:

圖3-9

然后切換到Debugger選項窗口。把默認停在main函數的選項去掉。把GDB debugger改為:arm-linux-gdb:圖3-10:

改后:

圖3-10

 

無論調試那一款開發板,在裸機調試之前都必須會開發板進行初始化,這里,初始化的命令,我使用的是飛凌標配的OK6410的,它的名字叫init-6410:圖3-11:

圖3-11

Init-6410的內容:

# tiny6410_config

# connect to the J-Link gdb server

target remote localhost:2331

# Set JTAG speed to 30 kHz

monitor endian little

monitor speed 30

# Reset the target

monitor reset

monitor sleep 10

#

# CPU core initialization (to be done by user)

#

# Set the processor mode

monitor reg cpsr = 0xd3

#config MMU

#flush v3/v4 cache

monitor cp15 7, 7, 0, 0 = 0x0

#/* flush v4 TLB */

monitor cp15 8, 7, 0, 0 = 0x0

#disable MMU stuff and caches

monitor cp15 1, 0, 0, 0 =0x1002

#Peri port setup

monitor cp15 15, 2, 0, 4 = 0x70000013

#disable watchdog

monitor MemU32 0x7e004000 = 0x00000000

monitor sleep 10

#disable interrupt

monitor MemU32 0x71200014 = 0x00000000

monitor MemU32 0x71300014 = 0x00000000

monitor MemU32 0x7120000C = 0x00000000

monitor MemU32 0x7130000C = 0x00000000

monitor MemU32 0x71200F00 = 0x00000000

monitor MemU32 0x71300F00 = 0x00000000

#set clock

monitor MemU32 0x7e00f900 = 0x0000801e

monitor MemU32 0x7e00f000 = 0x0000ffff

monitor MemU32 0x7e00f004 = 0x0000ffff

monitor MemU32 0x7e00f020 = 0x01043310

monitor MemU32 0x7e00f00C = 0xc2150601

monitor MemU32 0x7e00f010 = 0xc2150601

monitor MemU32 0x7e00f024 = 0x00000003

monitor MemU32 0x7e00f014 = 0x00200102

monitor MemU32 0x7e00f018 = 0x00000000

monitor MemU32 0x7e00f01C = 0x14000007

#config sdram

monitor MemU32 0x7e00f120 = 0x00000008

monitor MemU32 0x7e001004 = 0x00000004

monitor MemU32 0x7e001010 = 0x0000040f

monitor MemU32 0x7e001014 = 0x00000006

monitor MemU32 0x7e001018 = 0x00000001

monitor MemU32 0x7e00101c = 0x00000002

monitor MemU32 0x7e001020 = 0x00000006

monitor MemU32 0x7e001024 = 0x0000000a

monitor MemU32 0x7e001028 = 0x0000000c

monitor MemU32 0x7e00102c = 0x0000018f

monitor MemU32 0x7e001030 = 0x0000000c

monitor MemU32 0x7e001034 = 0x00000002

monitor MemU32 0x7e001038 = 0x00000002

monitor MemU32 0x7e00103c = 0x00000002

monitor MemU32 0x7e001040 = 0x00000002

monitor MemU32 0x7e001044 = 0x00000013

monitor MemU32 0x7e001048 = 0x00000013

monitor MemU32 0x7e00100C = 0x00010012

monitor MemU32 0x7e00104C = 0x00000b45

monitor MemU32 0x7e001200 = 0x000150f8

monitor MemU32 0x7e001304 = 0x00000000

monitor MemU32 0x7e001008 = 0x000c0000

monitor MemU32 0x7e001008 = 0x00000000

monitor MemU32 0x7e001008 = 0x00040000

monitor MemU32 0x7e001008 = 0x00040000

monitor MemU32 0x7e001008 = 0x000a0000

monitor MemU32 0x7e001008 = 0x00080032

monitor MemU32 0x7e001004 = 0x00000000

# Setup GDB for faster downloads

#set remote memory-write-packet-size 1024

set remote memory-write-packet-size 4096

set remote memory-write-packet-size fixed

monitor speed 12000

break _start

load

把這些內容拷貝到Commands窗口里,然后點擊Apply,再點擊Close關閉窗口:圖3-12:

圖3-12

到這里才配置好了整個工程的工作。呼呼……接下來運行一下。

 

在啟動調試之前,確保JLInk成功連接開發板:圖4-1:

圖4-1

然后再次點擊:Debug Configuretions:圖4-2。

圖4-2

雙擊配置工程的名字:OK6410_bare Defunct:如果裸機調試啟動成功的話,eclipse會自動跳轉到Debug模式:圖4-3:

圖4-3

第一次界面有點亂,可以自己調整:調整后的界面:圖4-4:

圖4-4

可以看見界面下面紅黑交替的就是在Conmands配置的,初始化板子的硬件平臺的。接下來就可以真正地進行裸機單步調試了。

 

 

調試:

在菜單欄的Run里有各種調試命令:圖5-1:

圖5-1

可以看到單步調試可以按F5(進入函數調試),F6(不進入函數)等。

按下F5:進入reset函數,圖5-2:

在按F5,進入set_svc函數:圖5-3:

圖5-3

在運行的過程中,可以查看寄存器,參數等信息的變化:圖5-4:

圖5-4

轉化為16進制的:選中要轉換的參數,右鍵,選擇Format->Hexadecimal.圖5-5:

圖5-5

上面就實現了eclipse裸機調試工程了。當完成調試之后,不要直接關掉eclipse,先關掉調試,紅色方塊。因為這樣,當你需要在再次調試的時候,直接選擇調試圖標,再選擇調試工程即可:圖5-6:

圖5-6

點擊上面的調試工程名就可以實現調試了。不用才去配置。到這里,一個簡單的工程的調試操作完成了。看是一個簡單的過程,做個筆記也做了半天。菜鳥加油。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

接下來就是試一試直接點擊調試里的工程名:正確啟動圖6-1:

圖6-1

接下來試著跳轉到light_led函數去點燈:圖6-2:

這一次為了看到效果,把mov r0,#0xe改為mov r0,#0x3.

還沒運行這一句之前:

圖6-2

運行之后:

圖6-3

 

記得退出按:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后就是,eclipse快捷方式的創建,因為前面老是要經過命令行去啟動eclipse,有點煩:創建的過程如下:圖6-4:

圖6-4

如上,鼠標右鍵,選擇Create Launcher..,會出現:圖6-5:

圖6-5

填寫好信息,在Command的Browse里選擇你自己的eclipse可執行文件:圖6-6:

圖6-6

然后點擊Open,得到下圖6-5:

圖6-5

最后點擊OK,這樣在桌面就多了一個圖標,這就是eclipse的快捷方式。直接雙擊就可以打開eclipse軟件:圖6-6:

圖6-6

今天的筆記到此了。明天繼續。


關鍵字:Eclipse  集成開發環境  編譯 引用地址:5.Eclipse集成開發環境

上一篇:6.認識ARM家族
下一篇:4.鏈接器腳本

推薦閱讀最新更新時間:2025-06-07 23:47

MathWorks代碼生成工具支持Eclipse和Embedded Linux
????? MathWorks日前宣布,通過GNU編譯器 工具 鏈,其Target Support Package 和Embedded IDE Link 產品現已能支持Eclipse集成開發環境(IDE)和Embedded Linux Linux   Linux是一套免費使用和自由傳播的操作系統,它主要用于基于Intel系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的,其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。 。這樣,使用MATLAB和Simulink模型自動生成的代碼,工程師們可以在Eclipse中實現項目創建的自動化,還可以在Linux上部
[工業控制]
賽普拉斯新款PSoC Designer IDE可加速并簡化嵌入式設計
5.4版本新增或強化了超過40個用戶模塊,可直接拖放到設計中多項新功能提高了易用性和定制能力 賽普拉斯半導體公司日前宣布推出其集成設計環境的新版本--PSoC? Designer? 5.4版,用于PSoC 1可編程片上系統架構。這一新版本新增或強化了超過40個用戶模塊。這些用戶模塊在軟件中以圖標表示,稱為免費的“虛擬芯片”,可以替代多顆IC和系統接口,集成到單片PSoC器件中。同時,該版本還提供多項新功能,可使采用PSoC進行的設計更加快速便捷,例如可根據用戶類型自動建議參數、函數和關鍵詞的“自動完成”(Auto-Complete)功能。此外,這一版本首次在PSoC Designer中允許客戶定制自己的用戶模塊,并可完全控制硬件
[嵌入式]
IDE-RAID芯片經驗總結
磁盤陣列對于個人電腦用戶,還是比較陌生和神秘的。印象中的磁盤陣列似乎還停留在這樣的場景中:在寬闊的大廳里,林立的磁盤柜,數名表情陰郁、早早謝頂的工程師徘徊在其中,不斷從中抽出一塊塊沉重的硬盤,再插入一塊塊似乎更加沉重的硬盤……終于,隨著大容量硬盤的價格不斷降低,個人電腦的性能不斷提升,IDE- RAID作為磁盤性能改善的最廉價解決方案,開始走入一般用戶的計算機系統。 IDE-RAID芯片簡介 RAID技術主要包含RAID 0~RAID 7等數個規范,它們的側重點各不相同,常見的規范有如下幾種: RAID 0:RAID 0連續以位或字節為單位分割數據,并行讀/寫于多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余,因此并不能
[嵌入式]
風河公司的嵌入式軟件集成開發環境
1 嵌入式系統開發所面臨的問題 嵌入式軟件開發有別于桌面軟件系統開發的一個顯著特點是,它一般需要一個交叉編譯和調試環境,即編輯和編譯軟件在主機上進行(如在PC機的WindOWS操作系統下),編譯好的軟件需要下載到目標機上運行(如在一個PPC目標機上的VxWorks操作系統下),主機和目標機建立起通信連接,并傳輸調試命令和數據。由于主機和目標機往往運行著不同的操作系統,而且處理器的體系結構也彼此不同。這就提高了嵌入式開發的復雜性。 總的來說,嵌入式開發所面.臨的問題主要表現在以下幾個方面。 (1)涉及多種CPU及多種OS 嵌入式的CPU或處理器可謂多種多樣,包括了Pentium、MIPS、PPC、ARM,XScale
[應用]
[零碎知識]arm-linux程序反編譯bin文件成匯編的指令
命令格式: arm-linux-objdump -D -b binary -m arm file.bin file.asm 描述: -D 指反編譯文件所有內容 -b binary 源文件格式 是二進制的bin文件 -m 指machine的類型 表示生成的文件重定向到哪里去,注意與 區分, 代表的是在文件后附加 file.bin 是你要反匯編的源bin文件 file.asm 是存放生成的匯編源文件
[單片機]
迅為-4412開發板QtE5.7編譯環境的兩種搭建方式
1. 使用已經搭建好的鏡像搭建好的編譯環境在網盤“iTOP4412 開發板資料匯總(不含光盤內容)iTOP-4412 開發板搭建編譯環境所需要的工具包以及補丁包9-QtE5.7 的編譯環境安裝包2-搭建好的QtE5.7 編譯環境”目錄下。 用戶如果使用搭建好的編譯環境,在簡單的修改環境變量之后,就可以完成本章的編譯。 用戶在使用搭建好的環境時,如果 ssh 連接失敗的話,可以參考“14.2.1.2”小節(也就 是下一節),配置 ssh 服務。如果參考“14.2.1.2”小節修改配置之后還有問題,可以參考14.2.1.3 和 14.2.1.4 小節,使用的替換工具。經過測試,在 ssh 工具無法使用的時候,這兩個工具仍然可以使用。
[單片機]
迅為-4412開發板QtE5.7<font color='red'>編譯</font>環境的兩種搭建方式
Ubuntu 安裝arm-linux-gcc編譯
/********************************************************************************** * Ubuntu 安裝arm-linux-gcc編譯器 * 說明: * Ubuntu下直接安裝arm-linux-gcc編譯器,省得去配置那些環境。 * * 2017-3-21 深圳 南山平山村 曾劍鋒 *********************************************************************************/ 一、參考文檔:
[單片機]
STM8L052R8T6串口IAP在線升級相關總結(IAR編譯環境)
1.關于BootLoader程序的設定 FLASH部分區域如下圖: 如圖所示可以看出來,默認情況下0X8000-0X8080時中斷向量表。假如我們準備給BootLoader的程序分配4KB的空間,即從0X8000-0X9000存儲BootLoader程序。那么相應的中斷向量也應該映射到0X9000-0X9080區域。根據ST官方例程當用戶編程區選擇的起始地址為0X9000時可在main.c 文件中聲明以下代碼將中斷向量映射到0X9000-0X9080區域。但是注意如果中斷向量映射過去后,BootLoader程序將無法使用中斷。 __root const long reintvec @ .intvec = {
[單片機]
STM8L052R8T6串口IAP在線升級相關總結(IAR<font color='red'>編譯</font>環境)
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 江安县| 紫云| 蒲城县| 双鸭山市| 沈丘县| 和林格尔县| 肇州县| 阿拉善左旗| 巍山| 黄石市| 仙游县| 铜梁县| 交城县| 施甸县| 元朗区| 肇东市| 偏关县| 青冈县| 九寨沟县| 延长县| 松原市| 尉犁县| 云南省| 尼木县| 宝丰县| 宜兰县| 平江县| 长岭县| 南宁市| 高安市| 廊坊市| 修武县| 泉州市| 莒南县| 吉林市| 广平县| 盐津县| 临西县| 宿州市| 宁晋县| 卫辉市|