Nexus(표준)
Nexus (standard)Nexus 또는 IEEE-ISTO 5001-2003은 임베디드 시스템의 표준 디버깅인터페이스입니다
특징들
IEEE-ISTO 5001-2003(Nexus) 기능 세트는, 현재의 온칩 디버깅 실장에 근거해 모델화되어 있습니다.대부분의 실장은 프로세서 고유의 것입니다.그 목적은 필요한 핀카운트와 다이 영역을 최소화하고 프로세서와 아키텍처 모두에 의존하지 않으면서 풍부한 디버깅피처 세트를 작성하는 것입니다.멀티코어 및 멀티프로세서 설계도 지원합니다.따라서 ARM CoreSight 디버깅아키텍처와 동등합니다.
물리적으로 IEEE-ISTO 5001-2003은 디버깅툴을 테스트 대상 또는 시스템에 접속하기 위한 표준 커넥터 세트를 정의합니다.논리적으로 데이터는 패킷 기반 프로토콜을 사용하여 전송됩니다.이 프로토콜은 JTAG(IEEE 1149.1) 또는 고속 시스템의 경우 전이중 고대역폭 전송을 지원하는 보조 포트를 사용할 수 있습니다.
주요 Nexus 기능에는 JTAG 스타일의 요구/응답 대화 또는 디버깅포트를 통해 전송되는 패킷이 포함됩니다.다음은 예를 제시하겠습니다.
- 런타임 컨트롤...모든 구현에서 디버깅툴은 프로세서의 기동과 정지, 레지스터 변경 및 싱글스텝 머신명령어를 실행할 수 있습니다.
- 메모리 액세스...Nexus는 프로세서 실행 중 메모리 액세스를 지원합니다.이러한 액세스는 테스트 대상 시스템을 정지할 수 없는 시스템을 디버깅할 때 필요합니다.예를 들어 엔진 제어는 디지털 피드백 루프를 정지하면 물리적으로 위험한 [clarification needed]상황이 발생할 수 있습니다.
- 중단점...지정된 이벤트(중단점)가 발생하면 프로그램이 중지됩니다.이벤트는 코드 실행 주소 또는 지정된 값을 가진 주소에 대한 데이터 액세스(읽기 또는 쓰기)로 지정할 수 있습니다.Nexus 브레이크 포인트는 플래시 메모리나 ROM 메모리를 포함한 임의의 주소로 설정할 수 있습니다.CPU는 특별한 브레이크 포인트명령도 제공할 수 있습니다.
- 여러 종류의 이벤트 트레이스가 정의되어 있습니다.대부분 고속 보조 포트에 의존하여 프로그램 실행에 부정적인 영향을 주지 않고 볼륨 데이터를 오프로드합니다.
- 메모리 치환 및 포트 치환...이 기능을 사용하면 보조 Nexus 포트를 통해 메모리 또는 포트 액세스를 에뮬레이트할 수 있습니다.
- 데이터 수집...신속한 프로토타이핑을 위해서는 보조 포트를 통해 대량의 데이터를 디버깅 도구로 신속하게 전송해야 할 수 있습니다.데이터 추적에 사용되는 프로토콜보다 더 효율적인 프로토콜을 사용합니다.또한 자동차 분야에서 보정에도 도움이 됩니다.
호스트 접속 메커니즘(에뮬레이터나 캘리브레이션 기기[clarification needed] 등) 및 프로세서 고유의 Nexus 레지스터 상세 등의 타깃의 특정 사항을 마스킹하기 위한 로우 레벨 Application Programming Interface(API; 애플리케이션프로그래밍 인터페이스)도 허용됩니다.이 API는 툴과 반도체 벤더가 공동으로 제작합니다.
컴플라이언스 클래스
IEEE-ISTO 5001-2003은 확장 가능한 표준입니다.현재 표준에 대한 준거 클래스는 기본(JTAG 한정) 클래스 1에서 클래스 4까지 4가지입니다.
- 클래스 1은 JTAG 인터페이스를 사용한 런타임 제어(프로세서 정지 시 실행, 정지, 메모리 업로드/다운로드, 브레이크 포인트, 읽기 또는 레지스터 설정)를 지원합니다.통신은 반이중으로만 이루어지며 대역폭은 제한됩니다.트레이스는 지원되지 않습니다.
- 클래스 2는 소유권 트레이스와 프로그램 트레이스를 추가하여 보조 디버깅 포트를 "저속" I/O 포트 핀과 공유할 수 있도록 합니다.소유권 추적을 사용하면 실시간 커널 또는 운영 체제에 기반한 시스템의 현재 작업 또는 현재 프로세스 추적을 수행할 수 있습니다.
- 클래스 3은 실행을 중지하지 않고 데이터 쓰기 추적과 메모리 읽기/쓰기를 즉시 추가합니다.데이터 읽기/쓰기 추적, 주소/데이터 버스 등의 고속 I/O 포트와의 보조 포트 공유 및 데이터 수집 지원(일반적으로 관련된 교정 변수인 내부 리소스에 저장된 관련 데이터 파라미터의 가시성)도 클래스 3 준거의 일부일 수 있습니다.
- 클래스 4는 메모리 치환(Nexus 보조 포트를 통한 데이터 가져오기 또는 읽기)을 추가하여 워치포인트에 의해 트레이스를 트리거할 수 있습니다.워치 포인트에서의 메모리 치환 트리거는 클래스4 준거의 옵션 기능입니다.
「 」를 참조해 주세요.
추가 정보
- IEEE-ISTO 5001™-1999,Nexus 5001 Forum™ Standard - 미래의 임베디드 시스템으로의 게이트웨이 제공
- IEEE-ISTO 5001-2003, 글로벌 임베디드 프로세서 디버깅인터페이스용 Nexus 5001 포럼 표준
외부 링크
- NEXUS 5001 포럼
- Nexus 5001 Forum Global Embedded Processor Debug Interface Standard (William Wong)
- Neal Stellon 박사의 Nexus 5001 디버깅 사양으로 멀티코어 분석 용이화
- NEXUS 디버깅 표준: 미래의 임베디드 시스템으로의 게이트웨이(Ashling Microsystems, Inc.)
