<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 純Linux下的 ARM裸機(jī)調(diào)試環(huán)境搭建(GDB + JLink)

          純Linux下的 ARM裸機(jī)調(diào)試環(huán)境搭建(GDB + JLink)

          作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          說明:我也是調(diào)試u-boot,在win下OK了,基于這里,然后為了完全在linux下便有了下邊轉(zhuǎn)載的內(nèi)容。下文會(huì)對(duì)照我自己的操作進(jìn)行結(jié)果補(bǔ)充!感覺補(bǔ)充的多于轉(zhuǎn)載的就改為原創(chuàng)了,讓更多人看到!

          本文引用地址:http://www.ex-cimer.com/article/201611/318228.htm


          一直想擺脫windows環(huán)境,在純linux下進(jìn)行arm裸機(jī)開發(fā),但是由于一直不知道JLink如何在linux下運(yùn)行和配置,一直無法進(jìn)行下去。以前都是windows+AXD調(diào)試。包括本人用的FL2440開發(fā)板和JLink調(diào)試器也沒有提供在linux調(diào)試的文檔。前些天由于想研究下U-BOOT的源代碼,不得不在linux下編譯,就google到了眾多大牛的帖子,且找到了JLink的官方linux版。綜合各位大牛的經(jīng)驗(yàn),最終成功的在純linux環(huán)境下調(diào)試了U-BOOT和裸機(jī)程序。感謝各位前輩的帖子,很遺憾很多我已經(jīng)找不到原帖地址了。

          筆者的安裝環(huán)境:

          飛凌的FL2440開發(fā)板

          JLink V8調(diào)試器

          Ubuntu 10.04

          搭建ARM調(diào)試環(huán)境的大概步驟:

          0)串口通訊的配置

          1)JLink V8 Linux驅(qū)動(dòng)的安裝

          2)交叉工具鏈的安裝

          3) gdb初始化腳本的編寫

          4) 啟動(dòng)JLink和gdbServer調(diào)試

          0)串口通訊的配置

          這個(gè)網(wǎng)上都有,我不多說了。用于開發(fā)板和宿主機(jī)通訊。

          1)JLink V8 Linux驅(qū)動(dòng)的安裝

          去官網(wǎng) http://www.segger.com/cms/jlink-software.html

          下面有個(gè)Beta software version for Linux版本下載

          點(diǎn)擊下載,彈出頁面要序列號(hào),可以亂輸。下到JLink_Linux_V422.tgz壓縮包。解壓之。

          可以參考?jí)嚎s包內(nèi)的README文件進(jìn)行配置。

          安裝依賴usb庫

          apt-get -update

          apt-get -install libusb

          cp libjlinkarm.so.* /usr/lib

          - Place the rule file "45-jlink.rules" provided with this J-Link software package

          at /etc/udev/rules.d/

          ./start 就可以運(yùn)行JLink了。

          連接JLink和開發(fā)板后,可以使用help或?查看幫助。loadbin命令加載二進(jìn)制代碼到內(nèi)存了。

          //kangear補(bǔ)充:


          root@kangear:~/JLink_Linux_V462a#apt-get update //沒有“-”

          root@kangear:~/JLink_Linux_V462a#apt-get install libusb//沒有“-” 且沒有這個(gè)庫!
          正在讀取軟件包列表... 完成
          正在分析軟件包的依賴關(guān)系樹
          正在讀取狀態(tài)信息... 完成
          E: 無法定位軟件包 libusb
          root@kangear:~/JLink_Linux_V462a# ls

          root@kangear:~/JLink_Linux_V462a#./StartJLinkExe.sh //沒有start
          SEGGER J-Link Commander V4.62a (? for help)
          Compiled Feb 6 2013 11:42:45
          Updating firmware: J-Link ARM V8 compiled Nov 14 2012 22:34:52 //且運(yùn)行之后會(huì)自動(dòng)升級(jí)固件(之后就不能用了jlink 解決方法見這里)
          Replacing firmware: J-Link ARM V8 compiled Aug 24 2011 17:23:32
          ^C
          root@kangear:~/JLink_Linux_V462a# ^C

          此時(shí)重?zé)斯碳鶕?jù)這里的解決方法,就下載jlink_linux_v422a.tgz(下載地址這里)這個(gè)版本的重新做一遍OK了。打印信息如下:

          root@kangear:~/JLink_Linux_V462a/JLink_Linux_V422a# ./start
          SEGGER J-Link Commander V4.22 (? for help)
          Compiled Apr 5 2011 13:54:55
          DLL version V4.22, compiled Apr 5 2011 13:54:52
          Firmware: J-Link ARM V8 compiled Jan 31 2011 18:34:52
          Hardware: V8.00
          S/N: 20100213
          Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFULL
          VTarget = 0.000V
          J-Link>

          //kangear補(bǔ)充:End

          基本上這樣就可以完成一些調(diào)試工作了,但是要做到源碼級(jí)別的調(diào)試,還要用的GDB了。

          具體有點(diǎn)忘了。

          可能要重建軟連接可以參考:http://eminem112.blog.163.com/blog/static/62815953201092513943796/

          (以下摘自上面鏈接)4:修改一些配置

          cdJlink
          ln -s libjlinkarm.so.0.0 libjlinkarm.so.0
          ln -s libjlinkarm.so.0.0 libjlinkarm.so
          5:相關(guān)庫到用戶庫中
          45-jlink.rules到/etc/udev/rules.d/
          mv libjlinkarm.so.0.0 /usr/lib/
          mv libjlinkarm.so.0 /usr/lib/
          mv libjlinkarm.so /usr/lib/
          6:執(zhí)行./start
          如果出現(xiàn)libreadline.so.5 not found,可以查看/lib/下的有可能有l(wèi)ibreadline.so.6 ,可以做一個(gè)軟鏈接

          ln -s /lib/libreadline.so.6libreadline.so.5

          2)交叉工具鏈的安裝

          我安裝的是U-BOOT官網(wǎng)提供的ELDK4.2

          http://www.denx.de/wiki/view/DULG/ELDKAvailability

          下到一個(gè)IOS文件。掛載,參照官網(wǎng)上ELDK的文檔安裝之。設(shè)置好環(huán)境變量。

          3)gdb初始化腳本的編寫

          參考gdb的文檔,JLinkGdbServer的文檔。

          可知,在調(diào)試之前,必須先進(jìn)行板子的初始化。才能進(jìn)行之后的調(diào)試。

          參考這位牛人的GDB腳本,順利完成了S3C2440初始化。http://blogold.chinaunix.net/u3/97851/showart_2291292.html

          最后感謝這些牛人的無私奉獻(xiàn)。自己寫文檔才發(fā)現(xiàn),真累!



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();