由于目前项目中未使用到netduion plus2的sd卡、文件系统、数据加密、socket、网卡驱动等等.如若任由这些代码编译到固件里面,不仅会暂用MCU的代码空间,而且还有导致一些奇怪的现象发生.
例如,项目中我们用到PC8作为中断输入引脚使用,而Netuino的却在代码中作为网卡驱动的片选CS引脚.如果你在C#应用中配置好了,你仍然无法等到正常的中断,并且用示波器或者逻辑分析仪进行测量.会发现PC8有周期性的脉冲出来.
这样的话,我们就无法正常使用自己设计的原理图设计的引脚.
言归正传,如何对.net Micro framework进行功能裁减呢?我们以Netduion plus 2为例子.
1、找到需要修改的文件==>TinyCLR.proj
XXXX\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj
2、修改方法
注意:一般情况下不能够直接通注释的方式将编译项去掉,而是得通过找到对应功能的空函数实现,来替换相应的功能.
微软设计这种机制的好处,在于只需修改对应的配置项,而不需要修改代码就可以实现功能的删加.不过,由于没有工具所有,手工去找仍然还是有些不方便.
例如,要删掉SPOT_NET的功能
另外,注意以下情况,
<ItemGroup>
<DriverLibs Include="BlockStorage_AddDevices_NetduinoPlus2.$(LIB_EXT)" />
<RequiredProjects Include="$(SPOCLIENT)\Solutions\NetduinoPlus2\DeviceCode\Blockstorage\addDevices\dotNetMF.proj" />
</ItemGroup>
这个选项不能够删掉,否则无法用VS通过USB下载调试.
3、修改完毕,使用build,重新生产文件即可.
来自:http://blog.csdn.net/lan120576664