2009-08-25 4 views
4

재미 있기 때문에 작은 언어 용 컴파일러에서 작업하고 있습니다. 먼저 ARM 명령어 세트를 쉽게 사용할 수 있도록 타겟팅하고 있습니다. 현재 각 메소드의 본문에 ARM 코드가 있으므로 코드를 컴파일 할 수 있습니다. 이 시점에서 나는 몇 가지를 함께 묶는 시작해야합니다실행 가능한 바이너리 형식 및 에뮬레이터에는 어떤 것이 있습니까?

  • I가 내 컴퓨터 코드를 지속해야합니까 형식 그래서 나는 할 수 ...
  • 실행 그것은 무엇을 디버거에서?

현재 I/O 지원 등은 없으므로 디버깅은 디스 어셈블리 및 프로세서 레지스터/메모리보기 기능을 수행하는 데 크게 도움이됩니다.

저는 Windows를 실행 중이며 Windows에서 컴파일러 만 실행되므로 Windows에서 일종의 에뮬레이터를 사용하는 것이 좋습니다.

편집 : Visual Studio Windows Mobile 6 에뮬레이터를 사용할 수 있습니다. 지금은 간단하게 결과를 간단한 바이너리 형식으로 저장하고 작은 C++ 콘솔 응용 프로그램을 통해 에뮬레이터 메모리에로드 한 다음 함수 포인터로 점프 할 수 있습니다. 나중에 ELF 및 PE 형식을 지원해야합니다. 파일 포맷에 대해서는

+0

아마도 '임베디드'태그를 추가해야합니다. 임베디드 소프트웨어와 관련 있다고 가정합니다. –

+0

예, Windows Mobile에서 PE를 사용할 수 있습니다. 그리고 작은 "bin-starter"는 좋은 저가형 아이디어이며, 단지 제안하고 싶지만 너무 늦습니다. – zxcat

답변

3

는 ... 가장 간단 것이다 :

그 형식은 용 바이너리 데이터와 목표 어드레스 범위 (들)를 기록 할 수있다 로드 할 데이터 그게 다야.

자세한 내용은 포함 할 더 할 수있는 형식 : 최대 정보

ELF는 상당히 광범위하게 지원되지 않으며, DWARF 디버그 정보를 포함 너무 복잡합니다. DWARF를 사용하면 복잡한 언어 구문을 디버깅하기 위해 매우 표현적인 디버그 정보를 기록 할 수 있습니다. 그러나 표현력을 높이기 위해 매우 복잡한 형식 일 수 있습니다.

+1

elf가 가장 많이 사용되어 결국 지원할 필요가 있습니다. 꽤 쉽지만 srec 나 intel hex만큼 쉽지는 않습니다. –

관련 문제