新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ubuntu下安裝openocd ,利用Openocd + Jlink 調試ARM

        ubuntu下安裝openocd ,利用Openocd + Jlink 調試ARM

        作者: 時間:2016-11-10 來源:網絡 收藏
        1.下載openocd
        網址: http://sourceforge.net/projects/openocd/
        2.解壓
        3.進入解壓之后的目錄 cd /openocd-0.5.0
        4.進行配置 ./configure --enable-jlink
        這個時候出現錯誤提示 找不到usb.h,原因是沒有安裝libusb的庫
        下面安裝Libusb庫
        5.sudo apt-get install libusb++-dev
        安裝完之后重新執行第四步操作 ./configure --enable-jlink,此時配置成功
        6.make 編譯
        7.make install
        以上這些步驟完成之后,如果我們要使用openocd,還需要進行配置,那就是編寫一個配置文件openocd.cfg
        配置完之后。執行openocd ,出錯,提示Error:Cannot find jlink interface.please check connection and permission .
        這種錯誤的原因有可能是系統沒有識別usb。但是我在系統中已經安裝過libusb。那為什么會這樣。后來發現是這樣的,我的ubuntu是裝在virtualbox虛擬機上的,在虛擬機中我沒有為之分配一個Usb設備,所以導致這樣。于是通過虛擬機上的圖標為之分配一個usb設備,再輸入此命令。jlink就識別了。
        但是并不是完全通過的。雖然可以識別jlink了,但是輸入命令openocd之后,仍有一些錯誤信息。如下圖
        上圖所示錯誤 arm11 target JTAG error SCREG OUT 0x00.unexpected ARM11 ID code .我想應該是jlink固件版本的問題吧。
        上圖用的是Jlink v7固件。之后,我將固件Jlink v8燒寫到jlink 中。出現如下錯誤:
        后來幾經周折,解決掉此問題。總結如下:
        原因有三: 一是Jlink固件版本問題。用v7的話會有提示:Arm11targetJTAGerrorscregout0x00;二是用戶權限問題,不要再普通用戶下執行openocd命令 ,而換做在超級用戶下執行 ;三則是配置文件問題,在自帶的jlink.cfg文件中加入jtag時鐘配置。使用openocd 自帶的配置文件(在安裝目錄下)/usr/local/share/openocd/scripts/interface/jlink.cfg ,和/usr/local/share/openocd/scripts/target/samsung_s3c6410.cfg .其中jlink.cfg 中添加一句時鐘約束語句 : jtag_khz 250
        運行命令: openocd -f jlink.cfg -f samsung_s3c6410.cfg
        結果如圖:
        ok ,done



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安化县| 通化市| 博客| 上杭县| 阿坝| 大城县| 西峡县| 三河市| 图们市| 彭阳县| 栾城县| 维西| 宜阳县| 清新县| 巴马| 南华县| 襄城县| 闽清县| 石景山区| 包头市| 奈曼旗| 华阴市| 应城市| 溧阳市| 永仁县| 土默特左旗| 砚山县| 绥中县| 安西县| 东台市| 定西市| 杭锦旗| 肥东县| 平谷区| 诸暨市| 随州市| 会同县| 宜阳县| 广南县| 县级市| 云南省|