2012-03-03 60 views
38

Sẽ MonoDevelop biên dịch cho ARMv6, chủ yếu để tôi có thể chạy nó trên Raspberry Pi?MonoDevelop ARMv6 trên Raspberry Pi


Tôi đã lưu ý rằng Debian can run on the Raspberry Pi and Debian has a set of drivers for Mono.

Vậy điều này có nghĩa là chúng tôi có thể phát triển trong Mono?

+0

pi là ARMv11 không phải là nó? – weston

+3

@weston: Số phiên bản kiến ​​trúc ARM khác với việc đánh số lõi ARM. ARM11 lõi sử dụng kiến ​​trúc ARM v6. – Clifford

+0

Hãy làm theo đề xuất Raspberry Pi trên Area51. Bạn có thể thêm câu hỏi của mình làm ví dụ: http://area51.stackexchange.com/proposals/37041/raspberry-pi-hardware-and-software – iandotkelly

Trả lời

32

Mono project supports ARM, vì vậy, bạn có thể tạo và sử dụng MonoDevelop trên Raspberry Pi. Ít nhất đó là những gì tôi hy vọng!


2012-05-16

tôi tôi Raspberry Pi hôm qua (yay!) Và có thể xác nhận rằng nó có thể biên dịch và mã chạy NET (Tôi đã thử nghiệm với C#) sử dụng Mono và nó Mô-đun trình biên dịch MCS. Điều này đã được thực hiện thông qua trình bao và không phải là GUI. Nó sẽ là tuyệt vời để có được MonoDevelop IDE chạy nếu có thể mặc dù.

Đối với những người quan tâm, bạn có thể cài đặt Mono bằng cách gõ:

sudo apt-get install mono-complete 

này cũng bao gồm trình biên dịch mô-đun MCS, vì vậy bạn chỉ có thể biên dịch một file .cs như sau:

mcs program.cs 

và chạy nó giống như vậy:

mono program.exe 
7

Mono trên Raspberry Pi có thể và dễ dàng thiết lập hợp lý. Sau đây giả sử bạn đang dùng Debian. Tạo ứng dụng của bạn trong MonoDevelop (hoặc Visual Studio với thư viện Mono) và sau đó gửi nó đến Raspberry Pi. Một lần trên Raspberry Pi nó sẽ chạy như là tiêu chuẩn. Vì bản chất của C#, .NET và JIT, bạn không phải "biên dịch" như vậy, chỉ có các thời gian chạy có sẵn để giải thích mã được tạo bởi MonoDevelop. Tôi sẽ cố gắng không phát triển trên bản thân Raspberry Pi với MonoDevelop vì nó khá nặng đối với thiết bị.

Điều này được lấy từ my blog cung cấp một số hướng dẫn Raspberry Pi.

Lưu ý: Thời gian chạy Mono chuẩn hiện có sẵn chỉ hỗ trợ tối đa .NET 3.5 trừ khi bạn tự biên dịch từ nguồn.

Vì vậy, bạn muốn bắt đầu phát triển một số ứng dụng cho Raspberry Pi nhưng kiến ​​thức lập trình của bạn bị giới hạn ở các ngôn ngữ .NET hiện đại như VB.NET và C#. Không thành vấn đề!! Chào mừng bạn đến với thế giới của Mono, một nền tảng mã nguồn mở và phiên bản tương thích của khung công tác .NET. Bằng cách sử dụng một IDE phát triển, chẳng hạn như Visual studio hoặc thậm chí tốt hơn MonoDevelop, bạn có thể tạo các tệp EXE sẽ chạy trên Raspberry Pi của bạn. Tất cả những gì bạn cần làm là cài đặt thời gian chạy Mono trên Raspberry Pi. Để làm điều đó, chúng tôi nhập các dòng sau.

sudo apt-get update 

sudo apt-get install mono-runtime 

Như đã đề cập trong hướng dẫn khác dòng đầu tiên được sử dụng để cập nhật các quản lý gói apt-get để đảm bảo nó được sử dụng các nguồn mới nhất để tải về các gói của bạn. Dòng thứ hai cài đặt và chuẩn bị các thời gian chạy để sử dụng. Đó là nó. Bây giờ để chạy một tập tin EXE đã phát triển Mono, chỉ đơn giản là tiền tố lệnh với từ "đơn" như hình dưới đây.

mono myprogram.exe 
11

Chỉ cần một lưu ý để thêm vào câu trả lời khác, nó hoạt động tốt trên các Debian cài đặt nhưng vẫn chưa làm việc trên Raspbian cài đặt vì thiếu hỗ trợ biên dịch. Thông tin chi tiết có thể được tìm thấy ở đây:

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

trích dẫn từ những gì dường như là câu trả lời thông tin nhất:

Theo tôi được biết, Raspbian sử dụng một "quy ước gọi" khác nhau, do nổi số điểm được "chuyển" trên CPU theo cách khác nhau . Tất cả các trình biên dịch phải tạo mã máy sử dụng quy ước gọi là Raspbian . Không có vấn đề gì đối với phần mềm được biên dịch bằng GCC, vì mặc định là nó được định cấu hình để sử dụng quy ước gọi đó.

Tuy nhiên, khi sử dụng các trình biên dịch ít phổ biến hơn (như trình đơn CLI -> trình biên dịch chỉ trong thời gian), mọi thứ vẫn chưa hoạt động. Trình biên dịch JIT đơn điệu dường như sử dụng quy ước gọi cũ cho mọi thứ mà nó biên dịch, bởi vì không có ai thực hiện quy ước mới gọi là trong mono. Miễn là mã mono không gọi vào một số mã không phải là đơn âm, nhưng sẽ phá vỡ ngay sau khi bạn sử dụng thư viện gốc .

Chi tiết trong điều này có thể sai, nhưng có thể nó mô tả sự cố nói chung.

Chỉnh sửa: Và chỉ để làm rõ điều này, "quy ước gọi Raspbian" không có gì được tạo đặc biệt cho raspbian. Nó giống như trong debian armhf và (tôi nghĩ) bất kỳ Linux nào khác sử dụng armhf.

+6

Bạn có biết nếu đó là thứ gì đó" sẽ bị sửa chữa "hay ai đó sẽ cần phải có nó? –

+0

@Scott Thật không may là tôi không chắc chắn, tôi không chắc những gì câu chuyện phát triển giống như trên Mono những ngày này. –

+1

Trong thời gian ít nhất, có vẻ như mono không còn hỗ trợ cho Raspbian (ARM hard float). http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686123 –

0
+3

Câu trả lời phải bao gồm nhiều hơn là chỉ tham chiếu đến các liên kết. Vui lòng bao gồm tóm tắt về những gì liên kết nêu - trong trường hợp trang web được tham chiếu bị hỏng và không yêu cầu nhấp qua. –

Các vấn đề liên quan