2012-03-03 7 views
38

MonoDevelop은 주로 ARMv6에서 컴파일되므로 내 Raspberry Pi에서 실행될 수 있습니까?라즈베리 파이에 MonoDevelop ARMv6


나는 Debian can run on the Raspberry Pi and Debian has a set of drivers for Mono에 대해 언급했다.

그럼 우리가 모노로 개발할 수 있다는 뜻입니까?

+0

파이는 ARMv11 그것은 그렇지? – weston

+3

@ weston : ARM 아키텍처 버전 번호 매기기는 ARM 코어 번호 매기기와 다릅니다. ARM11 코어는 ARM 아키텍처 v6을 사용합니다. – Clifford

+0

Area51의 Raspberry Pi 제안을 따르십시오. 예를 들어 질문을 추가 할 수 있습니다. http://area51.stackexchange.com/proposals/37041/raspberry-pi-hardware-and-software – iandotkelly

답변

32

Mono project supports ARM, 그래서 Raspberry Pi에서 MonoDevelop를 빌드하고 사용할 수 있어야합니다. 적어도 그것은 내가 바라는 바입니다!


2012-05-16

내가 가지고 내 라즈베리 파이 어제 (! 야호)과 컴파일 및 실행 .NET 코드하는 것이 가능하다는 것을 확인할 수있다 (필자는 C#을 테스트) 모노를 사용하여 MCS 컴파일러 모듈. 이것은 모두 GUI가 아니라 셸을 통해 수행되었습니다. 가능하다면 MonoDevelop IDE를 실행하는 것은 좋을 것입니다.

관심이있는 사람들을 위해

, 당신은 입력하여 모노를 설치할 수 있습니다

sudo apt-get install mono-complete 

을 단순히 따라서 .cs 파일을 컴파일 할 수 있도록이 또한 MCS 컴파일러 모듈을 포함 :

mcs program.cs 

및 실행 그렇게 좋아요 :

mono program.exe 
7

모노는 라즈베리 파이에 가능하며 비교적 쉽게 설정할 수 있습니다. 다음은 여러분이 데비안을 사용하고 있다고 가정합니다. MonoDevelop (또는 모노 라이브러리가있는 Visual Studio)에 응용 프로그램을 만든 다음 Raspberry Pi로 보내십시오. 일단 라스베리 파이에 그것은 표준으로 실행됩니다. C#, .NET 및 JIT의 특성으로 인해 "컴파일"할 필요가 없으며 MonoDevelop에서 생성 한 코드를 해석 할 런타임을 사용할 수 있습니다. 나는 MonoDevelop로 라즈베리 파이 자체를 개발하지 않으려 고 노력할 것이다.

이것은 많은 나무 딸기 파이 자습서를 제공하는 my blog에서 가져온 것입니다.

참고 : 현재 사용할 수있는 표준 Mono 런타임은 소스에서 직접 컴파일하지 않는 한 .NET 3.5까지만 지원합니다.

그래서 당신은 어떤 당신의 라즈베리 파이에 대한 응용 프로그램을하지만 프로그래밍에 대한 지식은 VB.NET과 C# 같은 현대 .NET 언어에 제한을 개발을 시작하고자합니다. 문제가 아니다!! 오픈 소스 크로스 플랫폼 및 .NET 프레임 워크의 호환 가능한 버전 인 Mono의 세계에 오신 것을 환영합니다. Visual Studio 또는 더 나은 MonoDevelop과 같은 개발 IDE를 사용하면 Raspberry Pi에서 실행할 EXE 파일을 생성 할 수 있습니다. 오직 라즈베리 파이에 모노 실행 시간을 설치하기 만하면됩니다. 이를 위해 다음과 같은 내용을 입력합니다. 다른 튜토리얼에서 언급 한 바와 같이

sudo apt-get update 

sudo apt-get install mono-runtime 

첫 번째 줄은 패키지를 다운로드하기위한 최신 버전의 소스를 사용하고 보장하기 위해 APT-GET 패키지 관리자를 업데이트하는 데 사용됩니다. 두 번째 줄은 사용하기 위해 런타임을 설치하고 준비합니다. 그게 전부 야. 이제 Mono에서 개발 한 EXE 파일을 실행하려면 다음과 같이 명령에 "mono"라는 단어를 붙이기 만하면됩니다.

mono myprogram.exe 
11

다른 답변에 추가 할 그냥 노트, 그것은 설치 데비안에 잘 작동하지만 아직가 없기 때문에 컴파일러 지원의 설치 Raspbian 작동하지 않습니다. 자세한 내용은 여기에서 찾을 수 있습니다 :

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=11634&start=25

대부분의 정보를 답으로 보이는에서 인용 : 나는 그것을 알고있는 것처럼

이 Raspbian 다른 "호출 규칙"을 사용하므로 부동 포인트 번호는 다른 방법으로 CPU에서 "전송"됩니다. 모든 컴파일러는 Raspbian 호출 규칙을 사용하는 컴퓨터 코드를 만들어야합니다. 기본적으로 해당 호출 규칙을 사용하도록 구성되어 있으므로 GCC로 컴파일 된 소프트웨어에는 아무런 문제가 없습니다.

그러나 보통의 컴파일러 (예 : 모노 CLI -> 기계 코드 Just-In-Time 컴파일러)를 사용하면 상황이 아직 제대로 작동하지 않습니다. 모노 JIT 컴파일러는 에 대한 이전 호출 규칙을 사용합니다. 아무도 아직 새로 호출하는 규칙을 모노로 구현하지 않았기 때문에 컴파일하는 모든 것을 컴파일합니다. 모노 코드가 이 아닌 모노 코드로 전화를 걸지 만 네이티브 라이브러리를 사용하자마자 중단됩니다.

이 내용은 잘못되었지만 일반적으로 문제에 대해 설명합니다.

편집 : 그리고 이것을 분명히하기 위해 "Raspbian calling convention" 은 raspbian 용으로 특별히 제작 된 것이 아닙니다. 데비안 armhf와 같으며 (나는 생각한다) armhf를 사용하는 다른 어떤 리눅스도 마찬가지이다.

+6

입니다. "고정적 일 수있는"것이거나 누군가가 그것을 입수해야 할 필요가 있는지 알고 계십니까? –

+0

@Scott 불행히도 나는 확신 할 수 없다. 요즘 Mono에서 개발 이야기가 어떤 것인지 잘 모르겠다. –

+1

적어도 당분간 모노는 더 이상 Raspbian (ARM 하드 플로트)을 지원하지 않습니다. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686123 –