在嵌入式Linux中为硬件使用Mono [英] Using mono in embedded linux for hardware

查看:148
本文介绍了在嵌入式Linux中为硬件使用Mono的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为一家公司做研究实习.我在使用Mono(.Net平台的跨平台实现)时遇到一些问题.我的公司设计硬件和软件.

I am doing research for a company as an internship. I had some question in using Mono, the cross platform implementation of .Net platform. My company designs hardware and sotware.

我对使用嵌入式Linux的知识非常有限.我从事实习的公司确实非常注重.NET.但是mono的新发展要求他们问自己是否可以针对较小的项目使用linux,这也避免了为其设计软件和硬件的人们支付高昂的许可费用.

My knowledge of using embedded linux is very limited. My company where I am doing my internship is really .NET minded. But the new developments of mono, they asking themselves if they can target linux for smaller projects, too avoid the high licensing cost for the people for which they design the software and hardware.

我已经研究了单声道可以做什么(现在还不能做什么).现在我要解决嵌入式问题.我有点迷恋嵌入式Linux是如何构建的.

I already looked in to what mono can do (and can't yet do). Now I reach the embedded question. I am kinda lost in the story in how an embedded linux is built.

我看到了一些故事,他们只是采用了一些标准的linux库来在硬件上制作嵌入式linux.我还看到存在特殊的linux发行版,例如uClinux(又名µClinux).那么有什么区别,或者是一样的.当我想在目标设备上使用嵌入式linux时,该过程通常是什么样的?

I saw some stories where they just took some standard linux libraries to make the embedded linux on the hardware. I also saw that there exists special linux distributions like uClinux (aka µClinux). So what's the difference, or is it just the same. What does the process look like typically when I want to use embedded linux on a target deivce?

好,比单声道部分好,所以基本上我希望能够在嵌入式linux中运行C#.他们大多在这里使用uclinux,我可以为此使用mono吗?我查看了一些规范,但它们没有内存管理单元(MMU).

OK, than the mono part, so basically I want to be able to run C# in embedded linux. Here mostly they use uclinux, am I able to use mono for this? I looked at some specifications, and they don't have Memory Management Unit (MMU).

所以基本上我担心没有MMU.既然垃圾收集器会如何反应?

SO basically I worry about that no MMU. Since how will the garbage collector react?

我希望我不要提出过多的问题,

I hope i didn't give an overload of questions,

关于,我已经感谢您阅读它,

Regards, and I thank you already for reading it,

本杰明

推荐答案

垃圾收集器不依赖于MMU,但是如果有一个MMU则效率更高.

The garbage collector doesn't depend on a MMU, though it can be more efficient if there is one.

我们当前利用它来生成不带检查的空引用异常:在uclinux上,您将需要启用显式检查(代码已经存在,只需启用它即可). 其他人报告了在uclinux上使用mono的情况,但由于我们从未在该平台上对其进行过测试,因此可能需要对源代码进行一些调整(当然,我是在谈论我们已经支持的cpu体系结构上的uclinux,例如ARM,没有指定).

We currently take advantage of it to generate null reference exceptions without checks: on uclinux you will need to enable the explicit checks (the code is already there, it just needs to be enabled). Other people reported using mono on uclinux, though there are likely some tweaks required to the sources here and there since we never test it on that platform (of course I'm talking about uclinux on a cpu architecture we already support, like ARM, you didn't specify).

对于其他注释,AOT和mkbundle与您所需的内容无关.您真正想要的是减少Mono占用空间以适合您的设备所允许的大小,请参见 http://www .mono-project.com/Small_footprint 了解更多信息.

As for other comments, AOT and mkbundle are largely irrelevant for what you need. What you really want is to reduce the mono footprint to fit into what your device allows, see http://www.mono-project.com/Small_footprint for more info.

如果是我做决定,我总是会选择一个常规的ARM linux而不是uclinux来运行诸如mono之类的复杂软件或您需要在mono上运行的任何程序.

If it was me making the decision, I'd always choose a regular ARM linux over uclinux for running complex software like mono or whatever program you need to run on mono.

这篇关于在嵌入式Linux中为硬件使用Mono的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆