openocd目录_OpenOCD的调试
Openocd的調試步驟
1、前言
本文檔僅用于學習參考。對本文檔作者保留所有權利。
聯系郵箱:yarakyoung@qq.com
2、工具
本文使用的軟、硬件工具如下:
目標開發板:ST?SPEAr310?EVB?2.0(官網www.st.com)及其交叉編譯環境。
仿真器:OpenJTAG(官網www.100ask.net)驅動(www.ftdichip.com/Drivers/D2XX.htm)
操作系統:Fedora(官網fedoraproject.org)
調試軟件:openocd(官網openocd.sourceforge.net)
3、安裝OpenJTAG驅動
本文不介紹交叉編譯環境的安裝,若有需要請閱讀ST官網文檔。
從經銷商或官網處獲得驅動壓縮包。
$tar?xvjflibftd2xx0.4.16.tar.bz2
$cd?libftd2xx0.4.16/
$ln?-s?/lib/libftd2xx.so.0.4.16?lib/libftd2xx.so
$ln?-s?/lib/libftd2xx.so.0.4.16?/lib/libftd2xx.so.0
$cd?libusb-0.1.12
$./configure
$make
$make?install
$cp?50-ftdi.rules/etc/udev/rules.d/(100ask提供的驅動中包含)
4、安裝OpenOCD
從官網下載安裝壓縮包
$tar?jxvf?openocd-0.7.0
$cd?openocd-0.7.0
$./configure??--enable-parport??--enable-parport_ppdev??--enable-ft2232_ftd2xx
--enable-usbprog?--enable-jlink?--with-ftd2xx-linux-tardir=`pwd`/../libftd2xx0.4.16
(注意這里的目錄)
$make?(如果make出錯了。
$cd?src
$gcc??-std=gnu99??-g??-O2??-I/root/arm/new_board/openjtag/libftd2xx0.4.16-Wall
-Wstrict-prototypes??-Wformat-security??-Wextra??-Wno-unused-parameter??-Wbad-function-cast?-Wcast-align??-Wredundant-decls??-Werror??-o??openocd??main.o/root/arm/new_board/openjtag/libftd2xx0.4.16/static_lib/libftd2xx.a.0.4.16??./.libs/libopenocd.a?-lusb-ldl-lpthread?-lftd2xx
)
$make?install
$openocd?-v?(查看版本號,用于檢查是否安裝成功)
5、OpenOCD的配置文件介紹
在openocd的目錄下有tcl子目錄:
該目錄存放著很多范例腳本。
Interface目錄下存放的是與仿真器有關的腳本。
Board、chip、cpld、cpu、target等都存放與目標板、芯片、CPU等有關的腳本。
若范例中有你的目標板的腳本基本上可以直接使用,若沒有則需要自己添加進入。
敬請參考官網文檔http://openocd.sourceforge.net/doc/html/index.html
本文使用的ST?SPEAr310?EVB?2.0已在范例中,可直接使用。但是本文使用的仿真器對應的腳本需要自己添加或從100ask下載。
或者按照如下編寫,并保存為openjtag.cfg:
interface?ft2232
ft2232_device_desc?"USB<=>JT?AG&RS232"
ft2232_layoutjtagkey
ft2232_vid_pid?0x1457?0x5118
adapter_khz?6000
6、使用方法
將仿真器、目標板、PC等搭建好。搭建方法不在本文敘述。
$openocd?-f?interface/openjtag.cfg?-f?borad/spear310evb20.cfg
(若出現Can't?find?mem_helper.tcl則可以在命令后加入參數?-c指定mem_helper.tcl的位置;還有一點應該把interface的配置文件放在前面,否則會出錯)
注意:不要關閉或停止了openocd。
開啟openocd后,有下列方法進行調試:
6.1?telnet方法
在新的終端
$telnet?127.0.0.1?4444
基本命令:
#reset?重啟
#halt?暫停
#load_image?/xloader.bin?0xd2800b00?將/xloader.bin載入到0xd2800b00
#resume?0xd2800b00?運行
6.2?gdb方法
在新的終端
#arm-linux-gdb?進入gdb
#target?remote?127.0.0.1:3333
基本命令:
#load?/u-boot?載入u-boot,注意格式哦。
#file?/u-boot
#b?設置斷點
#c?繼續
#n?單步
#s?進入函數
#print?查看值
#help?幫助
總結
以上是生活随笔為你收集整理的openocd目录_OpenOCD的调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ucos iii学习笔记——为什么选择u
- 下一篇: c语言中字符占用的存储单元,C语言知识点