1. 程式人生 > >(轉載)純Linux下的 ARM裸機除錯環境搭建(GDB + JLink)

(轉載)純Linux下的 ARM裸機除錯環境搭建(GDB + JLink)

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

    筆者的安裝環境:

        飛凌的FL2440開發板

        JLink V8偵錯程式

    搭建ARM除錯環境的大概步驟:

        0)串列埠通訊的配置

        1)JLink V8 Linux驅動的安裝

        2)交叉工具鏈的安裝

        3) gdb初始化指令碼的編寫

        4) 啟動JLink和gdbServer除錯

0)串列埠通訊的配置

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

1)JLink V8 Linux驅動的安裝

    下面有個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命令載入二進位制程式碼到記憶體了。

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

    具體有點忘了。

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

        cd Jlink
        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.6 libreadline.so.5

2)交叉工具鏈的安裝

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

3)gdb初始化指令碼的編寫

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

    可知,在除錯之前,必須先進行板子的初始化。才能進行之後的除錯。

最後感謝這些牛人的無私奉獻。

備註:(本文章轉載出處不記得了)