让Mono 4在Raspberry Pi上飞

本文介绍如何在Raspberry Pi B+及Raspberry Pi 2上安装C#环境,包括解决镜像问题、安装Mono4遇到的依赖问题及自制安装包的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  最近公司有项目想要在树莓派上做,代替原来的工控机(我们是把工控主机当作小的主机用,一台小的工控主机最少也要600左右,而树莓派只要200多)。于是,公司买了一个Raspberry Pi B+和一个Raspberry Pi 2 B,并要求能在B+上做就尽量用B+,原因很简单,B+比Raspberry Pi 2要便宜70左右。拿到闻名已久的树莓派之后很是兴奋,试着从官网下载了官方推荐的镜像raspbian,用Win32DiskImager烧录到SD卡上,然后上电,起初屏幕上什么都没显示,不管重新烧写了多少次SD卡,屏幕都是黑的,后来发现原来屏幕是否显示,是需要配置一下config.txt文件里面的一些参数屏幕才会显示,我用的是HDMI接显示器,所以只要把config.txt里面跟HDMI有关的选项前面的#去掉就可以了。剩下的就比较简单了,配置一下就可以用了,初始登录用户是pi。
  本人用的比较熟的语言是C#,树莓派上能用吗?答案是肯定的,Mono 4是支持ARM设备的,这就意味着树莓派可以用C#写程序,但问题来了,怎么安装Mono 4呢?如果你用官方的镜像raspbian-wheezy,你会发现,通过apt-get怎么都装不上Mono 4,显示缺少依赖项。于是,我想到有没有其他可以用的镜像,是不是镜像的问题,wheezy是debian的上一个版本,debian当前的版本是jessie,那么jessie(下载地址http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/)可以在树莓派上用吗?答案是可以,但是仅限于Raspberry Pi 2,因为jessie的ARM版系统是基于ARMv7的,Raspberry Pi 2是ARMv7的芯片,但是上一代的树莓派都是ARMv6的芯片。我试了一下,在jessie的系统里可以很轻松地安装Mono 4,不过B+的板子要怎么安装Mono 4呢?看到jessie上可以安装Mono 4,我想到了是不是找不到软件源,既然raspbian是基于wheezy的,那我把wheezy的debian官方源加上试试,结果,两个都不行。jessie确实可以装啊,于是我就直接把jessie的软件源加上了,结果是Raspberry Pi 2在raspbian上添加jessie源就可以顺利的安装Mono 4,而B+还是不行,原因很简单,Mono 4是支持ARM设备,但官方的软件源只支持ARMv7架构,如果要想在B+上用,就只剩下一条路了,直接在树莓派上编译源码,Mono官方有教程,这里简单的贴一下代码:

wget http://download.mono-project.com/sources/mono/mono-4.0.1.44.tar.bz2
下载官方源码包
tar -xvf mono-4.0.1.44.tar.bz2
解压
cd mono-4.0.1
切换路径
./configure --prefix=/usr/local
配置编译安装路径
make
编译
make install
安装

  这里虽然只有几行命令,但是中间的过程是极其缓慢的,B+编译安装完要8个小时,Raspberry Pi 2要3个小时……
  看到这个极其缓慢的过程,我肯定是不想再来第二回的,所以,我很想把它们做成安装包,以后要用就直接安装一下就可以了,不用漫长的编译过程,找了很多办法,走了很多弯路……很多弯路……真的很多弯路……
  ……
  终于让我找到了一个可以比较简单的制作安装包的方法,就是用checkinstall,这是一个工具,需要提前用apt-get安装,于是上面的代码需要修改一下:

wget http://download.mono-project.com/sources/mono/mono-4.0.1.44.tar.bz2
下载官方源码包
tar -xvf mono-4.0.1.44.tar.bz2
解压
cd mono-4.0.1
切换路径
./configure --prefix=/usr/local
配置编译安装路径
make
编译
checkinstall
将编译后的文件制作成deb安装包,制作过程中有一些参数要设置,不想费神的话,就直接用默认值吧。

  折腾了两天,终于达到了自己的目的,暮然回首,我的周末,我的六一,哎,这就是程序猿啊……
  最后,说一个小技巧,如果你也想不开要在树莓派上编译软件,而且经过漫长的等待也编译好了,但是突然不知道下一步该怎么办了,请注意,一定要把你当前的SD卡烧录到IMG文件里,不管你以后想怎么做,直接烧写一遍SD卡就行了,不用再经历漫长的等待,这可是血的教训!
  最后的最后当然是做点好事,把我编译好的安装包分享出来,亲测可用哦!
  ARMv6(B+) : http://yunpan.cn/cw6NYzXkD9kHq 访问密码 63ae
  ARMv7(Raspberry Pi 2) : http://yunpan.cn/cw6NMKUztiSDu 访问密码 4efb

  (PS:我测试Mono是否正常运行是用的Jexus,如果能正常运行Jexus就认为是可以了,刚开始弄出了一版,mono -V有反应,csharp指令也可以用,但是因为编译路径问题,Jexus运行不了,于是折腾很久,最终可以正常运行Jexus了,Jexus怎么用我就不说了,宇内大神做的很简洁,直接看官网就可以了,http://www.jexus.org/)

转载于:https://www.cnblogs.com/znlgis/p/4545345.html

内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支和高频结构先验建模分支结合Transformer模块和注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员和工程师,尤其是对核磁共振图像超分辨率感兴趣的学者和技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计与实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值