原创 让MDK4.1.4支持.NetMF PortingKit编译

2011-2-18 21:40 2566 3 3 分类: MCU/ 嵌入式

.NetMF4.1发布有一段时间了。本想以为4.1版本可以支持MDK4.0版本以上的结果还是只支持MDK3.1和MDK3.80A。

一直都是安装两个MDK版本,一个MDK4.14用于调试,一个MDK3.80A用于编译。偶然一天看到http://blog.csdn.net/norains的一篇博文,用的MDK4.0。就觉得一定可以修改某些脚本文件就可以不必安装两个MDK。果不其然,看了.netMF设置环境的脚本,并得到了http://blog.csdn.net/yefanqiu博主的帮助,终于可以只安装一个MDK了。

具体的修改方法$(SPOCLIENT)\tools\Targets\Microsoft.Spot.system.mdk.targets文件27行添加

    <CC      Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\armcc.exe"</CC>
    <CPP     Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\armcc.exe"</CPP>
    <AS      Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\armasm.exe"</AS>
    <LINK    Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\armlink.exe"</LINK>
    <AR      Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\armar.exe"</AR>
    <FROMELF Condition="'$(COMPILER_TOOL_VERSION)'=='MDK4.14'">"$(MDK_TOOL_PATH)\bin40\fromelf.exe"</FROMELF>

在$(SPOCLIENT)\setenv_base.cmd文件中的88行添加

IF /I "%COMPILER_TOOL_VERSION%"=="MDK4.14" CALL :SET_MDK_VARS

当然需要在$(SPOCLIENT)\文件夹添加setenv_MDK4.14.cmd文件。文件的内容为

@echo off

setenv_base.cmd MDK4.14 PORT %*

 

这样就可以编译了。不过不是每个工程都可以编译,貌似编译SAM9261_EK时就不会通过。

如果是第一次安装编译.NetMF4.1 Porting Kit 有可能没有办法设置编译器的环境变量导致运行setenv_xxx.cmd会失败。如果是用MDK编译Porting Kit 那么在安装Porting Kit前需要把MDK安装好并重启计算机。如果不是这种安装方法,设置env时就找没有办法自动找到编译器路劲,需要手工指定编译器路径,具体的指定方法请参考http://blog.csdn.net/norains博主的博文,这里就不再转载。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条