Linux 호스트에 Eclipse CDT, CodeSourcery G ++ 툴 체인을 설치했습니다. Code Sourcery Eclipse IDE를 사용하고 있습니다. 프리 스케일 사이트의 Linux Target Image Builder를 사용하여 MCF5485 보드에 Linux 커널을 설치했습니다.Eclipse CDT를 사용하여 MCF5485EVB 보드의 원격 디버깅에 관해
저는 Sourcery Eclipse IDE를 사용하여 제 리눅스 호스트에 "helloworld"프로젝트를 만들었습니다. Sourcery 폴더의 실행 파일 (gdbserver, catchsgev 등)을 루트 파일 시스템의 보드에 복사했습니다.
보드에서 gdbserver를 실행 한 다음 내 Linux 컴퓨터에서 TCP를 사용하여 디버깅합니다. Sourcery Eclipse IDE에서 보드의 루트 (/root/bin
)에 gdbserver를 설치 했으므로 대상에 sysroot를 /
으로 지정했습니다.
Eclipse의 디버그 구성에서 IP 주소를 지정했으며 나머지는 기본값입니다. 내가 보드 (gdbserver IP:port /pathname/to/executable
)에 gdbsrver 시작하여 내가 리눅스 호스트 디버그 구성을 시작
디버그 구성에 공유 라이브러리 탭에서 옵션 "SYSROOT 경로 이름을 번역"을 선택했습니다. 중단 점 때문에 main()
에서 멈 춥니 다. 이력서를 누르면 다음과 같은 오류 메시지가 나타납니다.
include <stdio.h>
int main(void)
{
int i=0;
printf("Hello = %d",i);
return 0;
}
은 내가 SYSROOT을 설정해야 할 몇 가지 포럼 읽을 수 있지만 나 또한 내가 할 보드의 루트 파일 시스템에 SYSROOT를 설치 한 경우 읽었 다음과 같이
warning: .dynamic section for "C:\\Program Files\\CodeSourcery\\Sourcery G++\\m68k-linux-gnu\\libc/lib/libc.so.6" is not at the expected address (wrong library or version mismatch?)
Stopped due to shared library event
Stopped due to shared library event
Stopped due to shared library event
내 프로그램입니다 아무것도 할 필요가 없다.