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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ubuntu下安裝openocd ,利用Openocd + Jlink 調(diào)試ARM

          ubuntu下安裝openocd ,利用Openocd + Jlink 調(diào)試ARM

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



          評論


          技術(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); })();