'Remote Serial Protocol'에 해당되는 글 1

  1. 2010/04/02 Howto: Porting the GNU Debugger, Writing a RSP Server (2)
 
크리에이티브 커먼즈 라이선스
Creative Commons License


 위에 그림이 일반적인 리모트 타겟을 디버깅하는 방법에 관한 그림인데.......설명하기 많이 복잡하다. 리모트 타켓 디버깅에 대한것은 알아서들 문서를 찾아보도록하고....저 박스들에 대해서 얘기를 하자면 일단 디버거는 GDB를 사용한다능. 물론 이 GDB는 Debugging Target의 아키택쳐에 관한 정보를 알고 있어야 된다. 레지스터는 몇 개구...엔디안은 뭘쓰고 등등등. 이런 내용들을 GDB에 추가하는게 포팅이라능. 

 그리고 GDB Proxy Server라는게 있따능. 이놈이 GDB가 보내주는 커맨드를 받아서 Emulation Board를 조작해서 Debugging Target를 적당히 조작하도록 JTAG 신호를 만들어 낸다. GDB하고 Proxy Server 사이의 통신은 거의 대부분 TCP/IP를 사용한다. 적당한 이유가 있어서 Non-Blocking 소켓을 사용한다능. 사용하는 프로토콜은 Remote Serial Protocol이라고 이상한게 있다.

 Emulation Board를 사용하는 가능 큰 이유는 하나다. PC에는 JTAG 신호를 내보낼 수 있는 포트가 없다능 >_<. 가장 만만한게 Parallel인데 요즘 PC엔 이게 없어서 USB로 많이 옮겨온거 같다능. 그리고 이더넷 같은걸 쓰기도 한다능. 아무튼 인터페이스는 이런걸 쓰고 프로토콜은 Emulation Board에 따라 틀리다능. USB라면 디바이스 드라이버가 제공하는 API를 쓸태고...등등등

 Debugging Target과 Emulation Board사이의 인터페이스는 거의 대부분 JTAG이다. 프로토콜은 Debugging Target에 따라 틀리다. 아키택쳐 메뉴얼이나 해당 아키택쳐의 디버깅 유닛 메뉴얼등을 보면 나와있다.

 빨간색 박스...그러니까 GDB를 포팅하는건 나도 많이 모르고...무지 복잡하다 ㅠ.ㅠ...좋은 HowTo 문서가 있으니 이걸 보고, 포팅 샘플이 있으니 같이 참조 하자능.

ftp://ftp.gnu.org/gnu/gdb/gdb-6.8.tar.gz

 GNU FTP에서 gdb 6.8을 받아서 위의 패치를 적용하면 좋은 포팅 샘플이 된다. 타겟은 OpenRISC다. 위의 문서도 이걸 예로 들어서 설명하고 있다. 이 작업은 타켓 아키택쳐를 많이 알고 있어야 되고...GDB 내부에 대해서도 많이 알고 있어야 된다. GDB internals 라 불리는 문서랑 gdb 압축을 풀었을때 같이 들어있는 HowToPorting 따위의 이름을 가진 문서들이 많은 도움이 된다.

 그리고 노란박스는 적당히 알긴 아는데 길게쓰기도 거시기하고....-_-. 아무튼 그렇타능. 이것도 역시 좋은 문서가 있고 좋은 샘플이 있다능.

 이것도 타켓은 OpenRISC다능. 이 작업도 역시 타켓 아키택쳐(정확히는 해당 타켓의 디버깅 유닛)를 많이 알고 있어야 되고 RSP 프로토콜에 대해서도 잘 알아야 된다. 위의 문서하고 샘플이랑 Redhat.com에 올라와 있는 RSP 관련 문서가 도움이 많이 된다능. 아...물론 Emulation Board를 컨트롤 할 수 있는 방법도 알고 있어야 된다능. 

해당 문서와 샘플 프로그램, 패치등은 멋대로 퍼왔다능 >_<. 읭여읭여
저작자 표시 비영리 동일 조건 변경 허락

'뻘글들' 카테고리의 다른 글

"No available video device" error with SDL  (2) 2010/05/21
프롤로그 Prolog  (2) 2010/04/14
Howto: Porting the GNU Debugger, Writing a RSP Server  (2) 2010/04/02
ctags on windows  (4) 2010/03/13
지름  (4) 2010/03/02
Thank you from Google!  (2) 2010/02/11

댓글을 달아 주세요

  1. 유노 2010/04/04 09:49  댓글주소  수정/삭제  댓글쓰기

    칩 만드는 거임? RISC 나오고 뭐야.. OS 같애.. 어려워..
    그나마 JTAG나오니까 음.. 암보드(타겟보드) 같은 것이로군. 정도의 통밥? ㅋ
    서버-타겟 간의 구동에 관한 프로그램인가.........