2010-06-15 3 views
3

저는 ARM 세계에 처음으로 익숙합니다. C 코드를 작성하고 컴파일 한 다음 ARM 에뮬레이터로 다운로드하여 실행할 수 있어야합니다. GCC 4.1.2 컴파일러를 C 코드 컴파일에 사용해야합니다.ARM 프로세서 용 Windows 기반 개발

누구나 다음과 같은 문제에 대한 정확한 지침을 알려줄 수 있습니까?

어떤 도구 체인을 사용할 수 있습니까?

사용할 에뮬레이터는 무엇입니까?

툴 체인 설정에 대한 자습서 또는 가이드가 있습니까?

+0

왜 태그가 "Windows"입니까? – Wizard79

+0

@Lorenzo : 제목에 "Windows 기반 개발"이라고 표시되어 있기 때문에 이것이 태그의 이유라고 생각합니다. – OregonGhost

+0

@OregonGhost : 흠 ... 휴가가 필요하다고 생각합니다. – Wizard79

답변

2

gcc 크로스 컴파일러를 직접 작성하는 것은 매우 쉽습니다. gcc 라이브러리와 C 라이브러리와 그 밖의 것들, 임베디드 라이브러리 등은 조금 더 어렵습니다. 임베디드 방식에 따라 다릅니다. 나는 gcclib 나 c 라이브러리를 거의 사용하지 않기 때문에 자신 만의 작품을 롤업 해 준다.

이 작업을 수년간 수행 한 후 어쩌면 나이가 들었을 것입니다. 이제 코드 소싱 도구를 사용해 보겠습니다. 라이트 버전은 훌륭하게 작동합니다. yagarto, devkitarm, winarm 또는 그런 것 (엄청난 예제가있는 사이트)은 모두 잘 작동합니다. emdebian에는 좋은 기본 도구 체인도 있습니다. 많은 이들 장소는 GNU 소스에서 툴체인을 어떻게 구축했는지에 대한 정보를 가지고 있지는 않습니다.

당신은 gcc에 대해 질문했지만, llvm은 강력한 경쟁자이며 크로스 컴파일까지는 항상 크로스 컴파일이기 때문에 gcc보다 다운로드하고 빌드 할 수있는 크로스 컴파일러가 훨씬 쉽습니다 . 최근 버전은 현재 gcc와 성능면에서 경쟁하는 코드를 생성하고 있습니다. gcc는 성능의 선두 주자는 아닙니다. 다른 컴파일러들도 주위를 돌았습니다. 그러나 각 릴리스마다 향상되었습니다. (물론 3.x 버전은 4.x 버전보다 나은 코드를 생성하지만, 4 가지 버전이 필요합니다. 새로운 코어와 thumb2에 대해서는 .x). gcc를 사용하더라도 llvm의 안정적인 릴리스를 수시로 시도하십시오.

qemu는 좋은 에뮬레이터입니다. gba 에뮬레이터 가상 게임 보이 진행이 좋은지에 따라 다릅니다. NDS 에뮬레이터 몇 개가 있습니다. GDB와 다른 곳에서는 Arms 자체의 armulator 인 것처럼 보입니다. 나는 추출하고 사용하기가 어려웠다. 그래서 나는 내 자신을 썼다.하지만 엄지 손가락 명령 세트 만 구현하는 게으름이기 때문에 나는 내 thumbulator라고 불렀다. 사용하기 쉬운. qemu 및 armulator보다 훨씬 쉽게 주변 장치를 추가하고 코드를보고 디버깅 할 수 있습니다. ymmv.

흠 나는 최근에 누군가에게 비슷한 답변을 게시했습니다. Google : 팔 Verilog 그리고 umich에서 당신은 파일을 찾을 것입니다 isc.tgz는 arm10 행동입니다 (당신이 그것을 따라서 당신은 그물에 Verilog를 찾을 수있는 칩을 만들 수 없습니다) 모델입니다. 어떤 사람이 명령 세트를 배우기를 원한다면 게이트 레벨에서 실행되는 코드를 보는 것이 좋을만큼 좋습니다. 약물과 같이 조심하십시오. 중독 될 수 있으므로 실행 중일 때 코드에 대한 가시성이 거의없는 실리콘으로 돌아갈 때 힘들 때가 있습니다. 어딘가에 stackoverflow에서 나는 그 arm10 모델과 다른 파일 또는 두 팔 에뮬레이터로 그것을 사용하여 icarus Verilog로 바꿀 수있는 단계를 게시했습니다. gtkwave는 wave (vcd) 파일을 검사하기위한 무료 도구입니다.

무엇보다 ARM ARM이 필요합니다. (ARM 아키텍처 참조 설명서). 그냥 구글로 가서 ARM의 웹 사이트에서 찾으십시오. 그들이하는 일을 가르치는 각 명령에 대한 의사 코드가 있습니다. 너가 더를 이해할 필요가 있으면 thumbulator 또는 armulator 또는 다른 사람을 사용 하십시요 (mame에는 팔 중핵이 너무있다). 나는 thumbulator가 100 % 디버깅되었거나 정확하다는 보장을하지 않고 몇 가지 공통적 인 프로그램을 사용하여 그 출력을 실리콘을 디버깅하기 위해 팔과 팔이 아닌 실리콘에 비교했습니다.

2

툴체인 당신이 프로 테우스 ISIS http://www.labcenter.com/index.cfm 을 사용할 수 있습니다 Yagarto http://www.yagarto.de/

에뮬레이터를 사용할 수 있습니다

및 자습서가 잘 그들을 구글 =)

행운을 빕니다 (데모 버전이있다)!

+0

작업 프로젝트에서 사용했기 때문에 두 가지 모두를 추천합니다. 정말 훌륭하게 작동합니다. 예를 들어 slickedit, netbeans, eclipse ..와 같은 많은 IDE를 Yagarto와 함께 사용할 수 있습니다. ISIS에서 작동하는 경우 Proteus ISIS가 훌륭합니다. 실제 하드웨어가 ISIS와 작동하지 않으면 코드와 와이어를 먼저 확인하십시오.) –