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

OpenOCD 0.2.0

조회 수 44554 추천 수 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
6368 flow control에 관해서 여쭤 보고자 합니다. 열심히 2015-06-17 113
6367 android uenvt에 내용을 추가 했는데요 맞는 방법인가요? [1] pedor11 2015-05-20 121
6366 input device에 할당된 버튼키를 제거하고 터미널에서 키보드로 대... [1] 김민욱 2017-05-25 122
6365 camera HAL시 퍼미션을 얻을 수 있는가요? [2] 조신 2015-11-18 147
6364 압력센서 신호처리 관련하여 문의드립니다. [3] kernel_study 2016-11-03 148
6363 [apt pkg server 관련] [2] 밥줘잉 2016-10-20 150
6362 nfs 서버 구축 질문 [4] 김민욱 2017-06-10 164
6361 ACPI Shutdown Signal이 들어갈때의 동작을 변경하고 싶습니다. +... [4] 겟페우스 2017-06-08 165
6360 SoM GPIO 제어 문의 [1] 단순최고 2021-01-25 168
6359 USB GPS를 재부팅 후에도 자동으로 동작하게 하려고 합니다. [3] 겟페우스 2017-06-03 172
6358 touch screen관련 여쭤봅니다. [1] 열심히 2015-07-25 173
6357 virtualbox에 안드로이드가 잘 안도네요 [1] 더미원 2017-03-20 180
6356 2440 보드의 address 신호와 소스상의 주소를 어떻게 이해 하고 있... [2] DavidKim 2015-07-29 181
6355 i.mx6q에서 libvpu.so 라이브러리를 사용하여 link시에 undefined ... [1] 이동희 2019-08-09 182
6354 udev 를 이용하여 /dev 사용권한을 변경할수 있나요? [1] pedor11 2015-11-18 185
6353 키이벤트 관련 질문드립니다. [3] 하하호호하하 2015-10-06 188
6352 Alto 4330 보드에서 sdcard의 리눅스 커널로 부팅하는 방법 [2] 포도씨 2016-11-18 192
6351 밑의 LCD 포팅 질문드렸었는데 추가 질문이 있습니다. [2] ImYeol 2015-08-13 193
6350 check_usb_vfs("/dev/bus/usb") 에러 [1] 생생맥주 2015-01-25 200
6349 smsc9220 질문 file [2] *김종원 2015-07-24 203

사용자 로그인