.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博主的博文,这里就不再转载。
文章评论(0条评论)
登录后参与讨论