기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

OpenOCD 0.2.0

조회 수 45389 추천 수 0 2009.10.24 20:43:04

며칠전에 OpenOCD 0.2.0이 나온것을 새로 확인하였습니다.

이제는 Coretex-A8까지 지원하려는것 같더군요.

AVR(ATmega128)도 지원합니다. ^^;

거의 9개월만에 보드를 꺼내서 JTAG을 붙여보았습니다.


빌드방법도 바뀌고 사용법도 조금 바뀌어서 소개하고자 합니다.


빌드방법

  인터넷검색을 하니 중국사람들이 이미 방법을 소개하고 있었습니다.

    (How to build OpenOCD for windows - jordon的?? - CSDN博客)

  설명대로 빌드(Windows XP용, FT2232)하니 쉽게 빌드되었습니다.


사용예:

  첨부한 화일을 적절한 디렉토리에 풀어놓습니다.

  Target에 JTAG(FT2232)을 연결하고  부팅합니다.

  cmd창을 열어서 openocd.exe를 실행합니다.

  다른 cmd창을 열어서 telnet localhost 4444로 연결을 합니다.


-------------------------------------------------------------------------------------------

서버쪽 메시지(openocd.exe)

-------------------------------------------------------------------------------------------

T:cygwinhomeOpenOCDtest>openocd

Open On-Chip Debugger 0.2.0 (2009-10-23-19:11) Release
$URL: http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
500 kHz
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
Info : device: 4
Info : deviceID: 67330064
Info : SerialNumber: ESSHO85NA
Info : Description: USB JTAG A
Info : JTAG tap: mp2530.cpu1 tap/device found: 0x05946f0f (mfg: 0x787, part: 0x5946, ver: 0x0)
Info : JTAG Tap/device matched
Info : JTAG tap: mp2530.cpu2 tap/device found: 0x07926f0f (mfg: 0x787, part: 0x7926, ver: 0x0)
Info : JTAG Tap/device matched
Info : accepting 'telnet' connection from 0     <=========================== telnet접속을하면 메시지가 나옵니다.

     TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
 0* mp2530.cpu2        arm926ejs  little mp2530.cpu2        running     <====== targets 명령 결과
Warn : target not halted
Runtime error, file "command.c", line 469:
    target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x600000d3 pc: 0xc002fc24
MMU: enabled, D-Cache: enabled, I-Cache: disabled
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x600000d3 pc: 0xc002fc28
MMU: enabled, D-Cache: enabled, I-Cache: enabled
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc002fc2c
MMU: enabled, D-Cache: enabled, I-Cache: enabled
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc0028c60
MMU: enabled, D-Cache: enabled, I-Cache: enabled
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc0028c64
MMU: enabled, D-Cache: enabled, I-Cache: enabled


-------------------------------------------------------------------------------------------

telnet쪽 메시지(telnet localhost 4444)

-------------------------------------------------------------------------------------------

Open On-Chip Debugger
> targets
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
 0* mp2530.cpu2        arm926ejs  little mp2530.cpu2        running
> step
target not halted
Runtime error, file "command.c", line 469:

> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x600000d3 pc: 0xc002fc24
MMU: enabled, D-Cache: enabled, I-Cache: disabled
> step
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x600000d3 pc: 0xc002fc28
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> step
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc002fc2c
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> step
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc0028c60
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> step
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x60000093 pc: 0xc0028c64
MMU: enabled, D-Cache: enabled, I-Cache: enabled
>


이제현

2009.10.24 21:48:13
*.40.239.206

좋은 정보 감사합니다.

Cortex-A8에서 테스트한 결과를 보니 아직 MMU/CACHE가 활성화 되어 있는 경우는 디버깅이 안되는것 같습니다.

그래도 u-boot 정도는 디버깅이 가능해 보이네요.

 

처음나온 보드를 살릴때 매우 유용하고,  무엇보다도 천만원이 훌쩍 넘어가는 Trace32 없이 몇만원으로 Cortex-A8을

디버깅할 수 있다는  것은 매우 의미깊은 일인것 같습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

flow control에 관해서 여쭤 보고자 합니다.

input device에 할당된 버튼키를 제거하고 터미널에서 키보드로 대... [1]

android uenvt에 내용을 추가 했는데요 맞는 방법인가요? [1]

  • pedor11
  • 2015-05-20
  • 조회 수 131

[apt pkg server 관련] [2]

압력센서 신호처리 관련하여 문의드립니다. [3]

camera HAL시 퍼미션을 얻을 수 있는가요? [2]

  • 조신
  • 2015-11-18
  • 조회 수 160

touch screen관련 여쭤봅니다. [1]

nfs 서버 구축 질문 [4]

ACPI Shutdown Signal이 들어갈때의 동작을 변경하고 싶습니다. +... [4]

USB GPS를 재부팅 후에도 자동으로 동작하게 하려고 합니다. [3]

virtualbox에 안드로이드가 잘 안도네요 [1]

2440 보드의 address 신호와 소스상의 주소를 어떻게 이해 하고 있... [2]

키이벤트 관련 질문드립니다. [3]

SoM GPIO 제어 문의 [1]

Alto 4330 보드에서 sdcard의 리눅스 커널로 부팅하는 방법 [2]

check_usb_vfs("/dev/bus/usb") 에러 [1]

udev 를 이용하여 /dev 사용권한을 변경할수 있나요? [1]

  • pedor11
  • 2015-11-18
  • 조회 수 206

밑의 LCD 포팅 질문드렸었는데 추가 질문이 있습니다. [2]

  • ImYeol
  • 2015-08-13
  • 조회 수 209

smsc9220 질문 file [2]

PWM Timer2 Prescaler값 변경시 시스템 시간 지연 문제? [3]

사용자 로그인