您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用eclipse與jLink V8調(diào)試exynos 4412 u-boot,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
/**
******************************************************************************
* < COPYRIGHT 2014 ISE of SHANDONG UNIVERSITY >
*******************************************************************************
**/
首先說一下我實驗室的網(wǎng)絡(luò)環(huán)境:一臺搭載ubuntu系統(tǒng)的公用Linux服務(wù)器,數(shù)臺客戶機使用ssh連接到服務(wù)器。
我個人的開發(fā)環(huán)境:使用Mac OS X系統(tǒng),ssh遠程連接Linux服務(wù)器。USB轉(zhuǎn)串連接4412開發(fā)板,USB經(jīng)jLink連接開發(fā)板,暫時別無其它線纜連接。
這里我就以Mac系統(tǒng)為例,說一下軟硬件環(huán)境搭建,windows與Linux下搭建方法基本相同。
首先準備軟件包:
1、eclipse CDT:http://www.eclipse.org/downloads/
根據(jù)自己的平臺選擇其中一個:
在大約頁面中間位置有CDT的下載鏈接:
下載完成之后,自行安裝即可。
如果你的系統(tǒng)是Mac那么你可能不需要安裝jre jdk等環(huán)境,因為系統(tǒng)已經(jīng)給你默認安裝好了,
如果你的系統(tǒng)是linux,可能會提示eclipse無法打開,需要安裝jre jdk,終端執(zhí)行命令:
sudo apt-get install openjdk-7-jre openjdk-7-jdk
2、eclipse CDT zylincdt插件
打開eclipse CDT,選擇help->Install New Software
在彈出的對話框,點擊Add...按鈕。
名稱填寫: zylincdt
URL填寫: http://opensource.zylin.com/zylincdt
然后選中軟件包,一直下一步,直到安裝完成。根據(jù)網(wǎng)絡(luò)環(huán)境的不同,這一步大約需要5-10分鐘。
3、jLink驅(qū)動:https://www.segger.com/jlink-software.html
我的jLink是jLink V8,這里需要確定您的jLink可以聯(lián)網(wǎng)升級固件,固件過低可能無法調(diào)試Cortex-A9內(nèi)核。
根據(jù)自己平臺選擇驅(qū)動下載。
安裝過程不再贅述。
安裝完成之后,會有以下幾個程序,
好像windows平臺上的工具要比Mac的多。
4、gdb:https://launchpad.net/gcc-arm-embedded/+download
注意:以eclipse的安裝平臺為標準,如果你的eclipse是直接安裝在Linux下的,那么你可以直接使用開發(fā)板光盤里交叉編譯工具底下的這個程序:
而無需重復(fù)下載。
其它情況:在windows、Mac上安裝eclipse,均需要打開 https://launchpad.net/gcc-arm-embedded/+download 下載交叉gdb。
下載完成之后,解壓到任意位置均可。
-----------------------準備階段完成-----------------------
下面介紹eclipse怎么通過gdb調(diào)試u-boot。
1、從服務(wù)器拉取u-boot源碼
假設(shè)你已經(jīng)在服務(wù)器上完成了uboot的編譯產(chǎn)生了elf文件。在這里我使用transmit(FTP工具)從服務(wù)器拉取源碼目錄到本地任意位置。
2、在eclipse里新建工程
然后左側(cè)導(dǎo)航欄會出現(xiàn)源碼樹:
3、設(shè)置調(diào)試參數(shù)
右擊項目文件夾,找到調(diào)試參數(shù)設(shè)置:
new一個本地Zylin調(diào)試:
找到elf文件:
設(shè)置初始化命令,這里可能需要進一步討論,在這里我們先使用這一段吧,隨后我會進行其他命令的測試。
# connect to the J-Link gdb server
target remote localhost:2331
# Reset the target
monitor reset
monitor sleep 10
# 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
load
break _start
還需要設(shè)置一下源碼目錄,否則調(diào)試時候會提示找不到源碼文件:
4、啟動gdb-server
注意:每次調(diào)試之前需要保證4412的CPU處于halt狀態(tài)。
方法:板子啟動后,uboot讀秒結(jié)束之前按任意鍵使4412進入uboot界面,而不是啟動內(nèi)核,啟動內(nèi)核后jlink可能無法使4412暫停住。
打開JLinkExe,CPU會被成功識別,這一步至關(guān)重要,不能識別CPU的話可能是由于jlink固件版本過低,或者硬件連接有問題。
我們使用halt命令停止CPU:
退出JLinkExe。
打開JLinkGDBServer,成功的話,會顯示等待gdb連接:
5、回到eclipse執(zhí)行調(diào)試
直接點擊小蟲子開始Debug
寄存器的值被成功讀出,可以進行單步調(diào)試了,enjoy。
需要解決的問題:
1、在這里我沒有認真研究gdb的初始化命令,現(xiàn)在只是可以運行,還需要進行進一步修改。
2、代碼的運行地址好像有問題,gdb-server總是提示無法讀取某些位置,等檢查一下源碼,重定位代碼后再試。
3、可能需要在調(diào)試階段對CPU進行降頻處理,否則jlink很可能會停不住CPU(經(jīng)驗判斷)。
4、最擔(dān)心的問題還是jlink v8能否完美支持A9的調(diào)試,但至今還未發(fā)現(xiàn)問題。
以上是“如何使用eclipse與jLink V8調(diào)試exynos 4412 u-boot”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。