亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2043 | 回復(fù): 0
打印 上一主題 下一主題

關(guān)于OpenOCD的安裝配置(以mini2440+OpenJTAG為例) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-11-07 19:33 |只看該作者 |倒序?yàn)g覽

                                                                                                                                                [color="#0001FF"]關(guān)于OpenOCD的安裝和配置(以mini2440+OpenJTAG為例)
    前幾天買了一個(gè)OpenJTAG,準(zhǔn)備用于U-boot的調(diào)試和開發(fā)。之后學(xué)習(xí)了一下
《Eclipse,OpenOCD,OpenJTAG 嵌入式開發(fā)教程》
(以下簡(jiǎn)稱教程)。首先要學(xué)習(xí)的是使用OpenJTAG調(diào)試的基本原理,這個(gè)在教程的[color="#0001FF"]“1.2 嵌入式軟件的交叉開發(fā)系統(tǒng)”中有很好的介紹,大家一定要看一下。之后的關(guān)鍵是如何配置OpenOCD,使其可以認(rèn)出你開發(fā)板上的芯片和flash。在教程中介紹的是使用他們編譯好的0.1.0版本的OpenOCD和已經(jīng)寫好的openocd.cfg配置文件。但是作為一個(gè)嵌入式Linux學(xué)習(xí)者,我們要知道這些東西這么用,也得知道這些東西是怎么來的吧。如果以后換了一個(gè)硬件平臺(tái)還是得自己配置。所以借此機(jī)會(huì),我通過上網(wǎng)查閱資料,稍微研究了一下OpenOCD的安裝配置。在這里我介紹一下我在調(diào)試mini2440上的安裝配置情況。
[/url]
一、安裝   如果你使用的是ubuntu系統(tǒng),可以通過新立德直接安裝openocd。這樣會(huì)自動(dòng)安裝依賴的軟件(其中關(guān)鍵的是libftdi).安裝好的版本是OpenOCD-0.2.0和libftdi-0.13。這種方法最簡(jiǎn)單省事,但也有局限性,[color="#FF0102"]不同版本的openocd的配置文件會(huì)有差異,并不通用。如果你想要使用最新的openocd,那就得自己下載安裝了。   (0)下載最新版
[url=http://www.intra2net.com/en/developer/libftdi/download.php]libftdi

,這是OpenJTAG使用的
FT2232D
芯片的底層驅(qū)動(dòng)庫(kù)。(如果提示無法找到某些頭文件,就用新立德安裝就好了。需要先安裝[color="#FF0102"]libusb-dev[color="#000102"])       下載解包后只要:./configure; make; sudo make install 就好了。       當(dāng)然,你也可以通過
git的方式
下載源代碼。              如果你也想安裝ftdi-eeprom(燒寫FT2232所連接的e2prom的工具),可用同樣的方法下載安裝。(必須安裝[color="#FF0102"]libconfuse-dev
[color="#0001FF"]以下兩種方式選一種:   (1)下載最新版openocd [color="#FF0102"](最新開發(fā)版,想做小白鼠的使用)        在你想要保存openocd的目錄下執(zhí)行:git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
        這樣就會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)openocd的目錄,并將代碼下載于此。
   (2)進(jìn)入openocd的目錄,執(zhí)行:./bootstrap[color="#0000CC"]./configure [color="#FF0102"]--enable-maintainer-mode[color="#0000CC"]  --enable-ft2232_libftdimakesudo make install
我編譯安裝完后的版本是:tekkaman@MAGI:~/developer/OpenJTAG/openocd/openocd$ openocd -vOpen On-Chip Debugger 0.4.0-dev-00093-g2b1bd97 (2009-11-08-13:24)$URL$For bug reports, read    http://openocd.berlios.de/doc/doxygen/bugs.html
  (1)
下載
最新穩(wěn)定版openocd [color="#FF0102"](最新穩(wěn)定版,想穩(wěn)定的使用)  (2)解壓并進(jìn)入openocd的目錄,執(zhí)行:[color="#0000CC"]./configure [color="#FF0102"]--enable-maintainer-mode[color="#0000CC"]  --enable-ft2232_libftdimakesudo make install
我編譯安裝完后的版本是:
tekkaman@MAGI:~/桌面/openocd_cfg$ openocd -v
Open On-Chip Debugger 0.3.0 (2009-11-08-13:52)
$URL$
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
二、配置   當(dāng)你在某個(gè)目錄執(zhí)行openocd的時(shí)候,openocd會(huì)自動(dòng)查找當(dāng)前文件夾下的[color="#0001FF"]openocd.cfg配置文件,如果你在啟動(dòng)時(shí)加了 [color="#0001FF"]-f 的參數(shù),那么openocd會(huì)使用你指定的配置文件。   配置文件是至關(guān)重要的,直接關(guān)系到OpenOCD是否可以通過OpenJTAG認(rèn)到你的開發(fā)板和flash芯片。[color="#FF0102"]詳細(xì)的講解最好是看
[color="#FF0102"]OpenOCD的用戶指南
[color="#FF0102"]或者
[color="#FF0102"]在線參考手冊(cè)
[color="#FF0102"]現(xiàn)在我[color="#FF0102"]簡(jiǎn)要介紹一下配置文件的結(jié)構(gòu)。   配置文件所要配置的命令主要分為以下五個(gè)部分:      1、Daemon (守護(hù)):主要是配置openocd對(duì)外的通訊所使用的本地TCP/IP端口,如gdb、telnet所使用的端口,我的配置如下
telnet_port 4444tcl_port 6666#-------------------------------------------------------------------------# GDB Setup#-------------------------------------------------------------------------gdb_port 3333gdb_breakpoint_override hard gdb_memory_map enablegdb_flash_program enable
      2、interface(接口):也就是openocd所操作的連接開發(fā)板的調(diào)試器,我使用的是OpenJTAG,配置如下:
interface ft2232ft2232_vid_pid 0x1457 0x5118ft2232_layout "jtagkey_prototype_v1"ft2232_device_desc "USBJTAG&RS232"
      如果你使用的是并口或別的調(diào)試器,你可以看看在/usr/share/openocd/scripts/interface目錄中是否有合適您的文件。      3、target(目標(biāo)):可以理解為被調(diào)試的目標(biāo)CPU,我的mini2440的target是S3C2440,而被支持的CPU你可以在/usr/share/openocd/scripts/target找到。我個(gè)人認(rèn)為只應(yīng)該針對(duì)的是CPU核心,比如S3C2440的核心是ARM920T,所以同系列的CPU只要將S3C2440的配置稍加改動(dòng)即可。我的配置如下:
if { [info exists CHIPNAME] } {   set _CHIPNAME $CHIPNAME} else {   set _CHIPNAME s3c2440}if { [info exists ENDIAN] } {   set _ENDIAN $ENDIAN} else {  # this defaults to a bigendian   set _ENDIAN little}if { [info exists CPUTAPID ] } {   set _CPUTAPID $CPUTAPID} else {  # force an error till we get a good number   set _CPUTAPID 0x0032409d}jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f-expected-id $_CPUTAPIDtarget create mini2440 arm920t -endian $_ENDIAN -chain-position $_CHIPNAME.cpu -variant arm920tmini2440 configure -work-area-virt 0 -work-area-phys 0x200000-work-area-size 0x4000 -work-area-backup 1
#reset configuration
reset_config trst_and_srst
      4、board(主板):指的是目標(biāo)板上的配置,其實(shí)主要是針對(duì)板子上的Flash和PLD等可通過JTAG編程的設(shè)備配置的。針對(duì)mini2440,我的配置是:
# Flash# 1MBx16 NOR Flashflash bank cfi 0x0 0x200000 2 2 mini2440 jedec_probe# NAND nand device s3c2440 mini2440
配置好了這個(gè),[color="#0001FF"]就可以通過Openocd來讀寫nand flash了。[color="#FF0102"]但是SST的Nor flash 似乎還不支持燒寫。
   5、其他:還有一些JTAG口設(shè)置等等,請(qǐng)參考
OpenOCD的用戶指南
。

以下是我的可用的openocd.cfg[color="#FF0102"](針對(duì)openocd-0.3.0+OpenJTAG+mini2440):

       
        文件:openocd.cfg.tar.gz
        大小:0KB
        下載:
下載
       
[color="#0001FF"]
在教程中介紹的燒寫u-boot到flash的方法是現(xiàn)將他們的u-boot現(xiàn)導(dǎo)入內(nèi)存,并啟動(dòng)。使用u-boot去燒寫u-boot,這種方法是最快最好的方法。
但是現(xiàn)在的openocd可以直接燒寫nand flash[color="#0001FF"](前提是你在配置文件中配置正確)。步驟如下:(1)啟動(dòng)openocd,并通過telnet登錄。(2)讓openocd探測(cè)板上的nand flash。(3)利用nand命令擦除、再寫入。具體命令:在一個(gè)shell中啟動(dòng)tekkaman@MAGI:~/桌面/openocd_cfg$ sudo openocd Open On-Chip Debugger 0.3.0 (2009-11-08-13:52)$URL$For bug reports, read    http://openocd.berlios.de/doc/doxygen/bugs.htmlforce hard breakpointsjtag_nsrst_delay: 100jtag_ntrst_delay: 100    TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------------------ 0* mini2440 arm920t little s3c2440.cpu unknown12000 kHztrst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drainInfo : clock speed 6000 kHzInfo : JTAG tap: s3c2440.cpu tap/device found: 0x0032409d (mfg:0x04e, part: 0x0324, ver: 0x0)Info : Embedded ICE version 2
在另一shell中:tekkaman@MAGI:~/桌面/openocd_cfg$ telnet localhost 4444Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.[color="#000102"]Open On-Chip Debugger[color="#0000CC"]> pollbackground polling: onTAP: s3c2440.cpu (enabled)[color="#FF0102"]target state: haltedtarget halted in ARM state due to breakpoint, current mode:Supervisorcpsr: 0x400000d3 pc: 0x0105daf4MMU: disabled, D-Cache: disabled, I-Cache: disabled[color="#0000CC"]> nand probe 0NAND flash device 'NAND 128MiB 3,3V 8-bit' found> nand erase 0 0 0x60000   [color="#FF0102"]#注釋:擦除大小必須是0x20000(block size)的整數(shù)倍s3c2440_read_block_data: reading data: 0x91a89e8, 0xbfea3d6a, 6erased blocks 0 to 3 on NAND flash device #0 'NAND 128MiB 3,3V 8-bit'> nand write 0 u-boot.bin 0wrote file u-boot.bin to NAND flash 0 up to offset 0x00043800 in 287.407043s
               
               
               
               
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/34474/showart_2089040.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP