使用eclipse與jLink V8調試exynos 4412 u-boot

來源:互聯網
上載者:User

標籤:style   blog   http   ar   io   color   os   使用   sp   

/********************************************************************************* @author ? ?Maoxiao Hu* @version ? V1.0.0* @date ? ? ? Dec-2014******************************************************************************* < COPYRIGHT 2014 ISE of SHANDONG UNIVERSITY >*********************************************************************************/?首先說一下我實驗室的網路環境:一台搭載ubuntu系統的公用Linux伺服器,數台客戶機使用ssh串連到伺服器。我個人的開發環境:使用Mac OS X系統,ssh遠端連線Linux伺服器。USB轉串聯接4412開發板,USB經jLink串連開發板,暫時別無其它線纜串連。
這裡我就以Mac系統為例,說一下軟硬體環境搭建,windows與Linux下搭建方法基本相同。
首先準備軟體包:1、eclipse CDT:http://www.eclipse.org/downloads/根據自己的平台選擇其中一個:在大約頁面中間位置有CDT的下載連結:下載完成之後,自行安裝即可。2、eclipse CDT zylincdt外掛程式開啟eclipse CDT,選擇help->Install New Software在彈出的對話方塊,點擊Add...按鈕。

名稱填寫:??zylincdt

URL填寫: ?http://opensource.zylin.com/zylincdt

然後選中軟體包,一直下一步,直到安裝完成。根據網路環境的不同,這一步大約需要5-10分鐘。3、jLink驅動:https://www.segger.com/jlink-software.html我的jLink是jLink V8,這裡需要確定您的jLink可以連網升級韌體,韌體過低可能無法調試Cortex-A9核心。根據自己平台選擇驅動下載。安裝過程不再贅述。安裝完成之後,會有以下幾個程式,好像windows平台上的工具要比Mac的多。4、gdb:https://launchpad.net/gcc-arm-embedded/+download注意:以eclipse的安裝平台為標準,如果你的eclipse是直接安裝在Linux下的,那麼你可以直接使用開發板光碟片裡交叉編譯工具底下的這個程式:而無需重複下載。其它情況:在windows、Mac上安裝eclipse,均需要開啟?https://launchpad.net/gcc-arm-embedded/+download 下載交叉gdb。下載完成之後,解壓到任意位置均可。-----------------------準備階段完成-----------------------下面介紹eclipse怎麼通過gdb調試u-boot。1、從伺服器拉取u-boot源碼假設你已經在伺服器上完成了uboot的編譯產生了elf檔案。在這裡我使用transmit(FTP工具)從伺服器拉取源碼目錄到本地任意位置。2、在eclipse裡建立工程??然後左側導覽列會出現源碼樹:3、設定調試參數右擊專案檔夾,找到調試參數設定:?new一個本地Zylin調試:找到elf檔案:?設定初始化命令,這裡可能需要進一步討論,在這裡我們先使用這一段吧,隨後我會進行其他命令的測試。

# 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

還需要設定一下源碼目錄,否則調試時候會提示找不到源碼檔案:

4、啟動gdb-server

注意:每次調試之前需要保證4412的CPU處於halt狀態。

方法:板子啟動後,uboot讀秒結束之前按任意鍵使4412進入uboot介面,而不是啟動核心,啟動核心後jlink可能無法使4412暫停住。

開啟JLinkExe,CPU會被成功識別,這一步至關重要,不能識別CPU的話可能是由於jlink韌體版本過低,或者硬體串連有問題。

我們使用halt命令停止CPU:

退出JLinkExe。

開啟JLinkGDBServer,成功的話,會顯示等待gdb串連:

5、回到eclipse執行調試

直接點擊小蟲子開始Debug

寄存器的值被成功讀出,可以進行單步調試了,enjoy。

?

明後天需要解決的問題:

1、在這裡我沒有認真研究gdb的初始化命令,現在只是可以運行,還需要進行進一步修改。

2、代碼的運行地址好像有問題,gdb-server總是提示無法讀取某些位置,等檢查一下源碼,重定位代碼後再試。

3、可能需要在調試階段對CPU進行降頻處理,否則jlink很可能會停不住CPU(經驗判斷)。

4、最擔心的問題還是jlink v8能否完美支援A9的調試,但至今還未發現問題。

?

使用eclipse與jLink V8調試exynos 4412 u-boot

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.