新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 純Linux下的 ARM裸機調試環境搭建(GDB + JLink)

        純Linux下的 ARM裸機調試環境搭建(GDB + JLink)

        作者: 時間:2016-11-19 來源:網絡 收藏
        說明:我也是調試u-boot,在win下OK了,基于這里,然后為了完全在linux下便有了下邊轉載的內容。下文會對照我自己的操作進行結果補充!感覺補充的多于轉載的就改為原創了,讓更多人看到!

        本文引用地址:http://www.104case.com/article/201611/318228.htm


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

        筆者的安裝環境:

        飛凌的FL2440開發板

        JLink V8調試器

        Ubuntu 10.04

        搭建ARM調試環境的大概步驟:

        0)串口通訊的配置

        1)JLink V8 Linux驅動的安裝

        2)交叉工具鏈的安裝

        3) gdb初始化腳本的編寫

        4) 啟動JLink和gdbServer調試

        0)串口通訊的配置

        這個網上都有,我不多說了。用于開發板和宿主機通訊。

        1)JLink V8 Linux驅動的安裝

        去官網 http://www.segger.com/cms/jlink-software.html

        下面有個Beta software version for Linux版本下載

        點擊下載,彈出頁面要序列號,可以亂輸。下到JLink_Linux_V422.tgz壓縮包。解壓之。

        可以參考壓縮包內的README文件進行配置。

        安裝依賴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 就可以運行JLink了。

        連接JLink和開發板后,可以使用help或?查看幫助。loadbin命令加載二進制代碼到內存了。

        //kangear補充:


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

        root@kangear:~/JLink_Linux_V462a#apt-get install libusb//沒有“-” 且沒有這個庫!
        正在讀取軟件包列表... 完成
        正在分析軟件包的依賴關系樹
        正在讀取狀態信息... 完成
        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 //且運行之后會自動升級固件(之后就不能用了jlink 解決方法見這里)
        Replacing firmware: J-Link ARM V8 compiled Aug 24 2011 17:23:32
        ^C
        root@kangear:~/JLink_Linux_V462a# ^C

        此時重燒了固件,根據這里的解決方法,就下載jlink_linux_v422a.tgz(下載地址這里)這個版本的重新做一遍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補充:End

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

        具體有點忘了。

        可能要重建軟連接可以參考: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:相關庫到用戶庫中
        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:執行./start
        如果出現libreadline.so.5 not found,可以查看/lib/下的有可能有libreadline.so.6 ,可以做一個軟鏈接

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

        2)交叉工具鏈的安裝

        我安裝的是U-BOOT官網提供的ELDK4.2

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

        下到一個IOS文件。掛載,參照官網上ELDK的文檔安裝之。設置好環境變量。

        3)gdb初始化腳本的編寫

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

        可知,在調試之前,必須先進行板子的初始化。才能進行之后的調試。

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

        最后感謝這些牛人的無私奉獻。自己寫文檔才發現,真累!



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 沙坪坝区| 永寿县| 玉屏| 建宁县| 东明县| 休宁县| 卢龙县| 基隆市| 隆回县| 泸水县| 大宁县| 长葛市| 龙陵县| 舟曲县| 秦皇岛市| 井冈山市| 巴塘县| 都安| 临夏市| 辛集市| 肃南| 额敏县| 论坛| 普格县| 晋江市| 普陀区| 中卫市| 金堂县| 广德县| 布尔津县| 璧山县| 和林格尔县| 偃师市| 葵青区| 康平县| 彭泽县| 中牟县| 剑阁县| 桑日县| 宁河县| 永年县|