一直想擺脫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命令加載二進制代碼到內存了。
基本上這樣就可以完成一些調試工作了,但是要做到源碼級別的調試,還要用的GDB了。
具體有點忘了。
可能要重建軟連接可以參考:http://www.linuxidc.com/Linux/2011-03/33232.htm
(以下摘自上面鏈接)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)交叉工具鏈的安裝
我安裝的是U-BOOT官網提供的ELDK4.2 http://www.denx.de/wiki/view/DULG/ELDKAvailability
下到一個IOS文件。掛載,參照官網上ELDK的文檔安裝之。設置好環境變量。
3)gdb初始化腳本的編寫
參考gdb的文檔,JLinkGdbServer的文檔。
可知,在調試之前,必須先進行板子的初始化。才能進行之後的調試。
參考這位牛人的GDB腳本,順利完成了S3C2440初始化。http://www.linuxidc.com/Linux/2011-03/33231.htm
最後感謝這些牛人的無私奉獻。自己寫文檔才發現,真累!