.NET Micro Framework STM32的移植的问题

解决STM32 Stamp在.NET MicroFramework移植过程中遇到的编译错误问题,包括删除和更改错误添加的库文件,及正确配置TinyCLR.proj。

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

由于有客户要求使用.NET Micro Framework的方案,最近尝试了STM32的移植。

可用的资料非常少

有个 叶帆的系列做的比较多 博客有不少内容可以参考

移植的步骤我不想再详述,可以参考的资料比较多,这里主要说一下clone项目时出现的error

我用的PK4.2   KEIL4.54

setenv_mdk.bat  4.54 c:\keil\arm   是设置编译器版本的指令

msbuild dotnetmf.proj /t:build /p:flavor=release;memory=flash

编译的是我克隆的STM32Stamp

出错了

E:\MicroFrameworkPK\DeviceCode\PAL\Double\native_double_pal_fastcompile.cpp 
  "c:\Keil\ARM\RV31\INC\math.h", line 147: Error:  #1307: floating point argument not permitted with --fpu=none
        unsigned __f = __ARM_fcmp4(__x, __y) >> 28;
                                   ^
  "c:\Keil\ARM\RV31\INC\math.h", line 147: Error:  #1307: floating point argument not permitted with --fpu=none
        unsigned __f = __ARM_fcmp4(__x, __y) >> 28;
                                        ^
                                                       ^
  E:\MicroFrameworkPK\DeviceCode\PAL\Double\native_double_pal_fastcompile.cpp: 0 warnings, 30 errors


相信很多人都遇到了。

原因很简单 stm32Stamp 并不是官方开发的  SolutionWizard对它的支持有些问题

解决方案:


1.删除意外添加的库

 打开 \TinyCLR\TinyCLR.proj 文件

  删除 以下内容

<ItemGroup>

    <RequiredProjects Include="$(SPOCLIENT)\DeviceCode\PAL\Double\dotNetMF.proj" />

    <DriverLibs Include="native_double_pal.$(LIB_EXT)" />

  </ItemGroup> 


2 更改添加错误的库

   将:

  <ItemGroup>

    <DriverLibs Include="TinyHal.$(LIB_EXT)" />

    <RequiredProjects Include="$(SPOCLIENT)\DeviceCode\cores\arm\dotNetMF.proj" />

  </ItemGroup>

替换为:

  <ItemGroup>

    <RequiredProjects Include="$(SPOCLIENT)\DeviceCode\Targets\Native\STM32\DeviceCode\CortexM3\TinyHal\dotNetMF.proj" />

    <DriverLibs Include="TinyHal_Cortex.$(LIB_EXT)" />

  </ItemGroup>


3.添加需要的库(如果文件中有GlobalLock_hal相关的库,用以下内容替换掉)

  <ItemGroup>

    <RequiredProjects Include="$(SPOCLIENT)\DeviceCode\Targets\Native\STM32\DeviceCode\CortexM3\GlobalLock\dotNetMF.proj" />

    <DriverLibs Include="GlobalLock_hal_Cortex.$(LIB_EXT)" />

  </ItemGroup>



然后我就编译通过了~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值