如何拥抱巨大:.NET Micro Framework构建系统第1部分


长期以来,大多数开发人员已经习惯于使用此或那个IDE,并且不考虑他们的源代码如何变成可执行模块。现代开发工具在任何情况下都包含用于大量项目类型的UI和构建自动化。这非常酷,因为它使您不必考虑与手头任务没有直接关系的事情。但是有时任务是如此复杂,以致无法使用标准类型的项目。然后出现“项目构建系统”。


此类项目的一个显着示例是.NET Micro Framework,它是用于微控制器的Microsoft .NET平台的实现。本文将概述其组装系统及其实现的功能。



, , , .


.Net Micro Framewok , .Net , . Flash RAM. - , IoT .


C\C++ . "" . — Toolchain.



. . , toolchain. , .
ARM. . . , CMSIS — ARM . CMSIS , , , .
ARM , CMSIS.

.Net Micro Framework — . CMSIS ARM , .NetMF . Visual Studio . .NetMF . , Windows, .


, .NetMF , ( 256KB RAM 512K Flash/ROM). , toolchain, . , , "" CMSIS, ( Windows).


, .Net, , .., , .



, :


  1. , .
  2. toolchain.
  3. API , "".

2 3 .


.Net Micro Framework :


在此处输入图片说明


:


( ) . , Visual Studio. — «», .NetMF. TinyCLR — .


TinyCLR 3 :


  1. CLR — , , , ..
  2. PAL (Platform Abstraction Layer) — , , , , -. .
  3. HAL (Hardware Abstraction Layer) — «».

PAL HAL ( API , "").


HAL , PAL, . API.


, :


在此处输入图片说明


, Native Code, C/C++. Managed Code C#. , .


toolchain , , . .NetMF MAKEFILE. MSBuild. , Visual C++ Visual Studio MSBuild ( NetMF C\C++), "" . MSBuild , MAKEFILE.


, , .NetMF.



.NetMF. , .


:


  1. , . , , MSBuild.
  2. , . . , . , .
  3. SDK, .NetMF Visual Studio. VSIX , .
  4. "" — TinyCLR .

, , .Net Micro Framework " " big-endian, little-endian . toolchain. MSBuild. : toolchain. , -, toolchain, "" . , -, toolchain. , GCC ARM, MDK.



, MSBuild . , , MSBuild. , MSBuild . , . , MSBuild , - , .


, MSBuild .



.NetMF . , , .. Windows. "" , SDK. . MSBuild -(wrappers).


SDK


.NetMF :


  1. . 1 2 .
  2. DLL.
  3. DLL PE , big-endian, little-endian .
  4. Visual Studio.
  5. .
  6. VSIX Visual Studio.
  7. VSIX .
  8. SDK MSI .
  9. SDK MSI .

, . , ( ). SDK asseblies, SDK. .


""


:


  1. .obj .
  2. .lib .
  3. .obj .lib .
  4. Link/Locate XIP flash.
  5. .
  6. , MFUpdate.
  7. Flash .
  8. .
  9. .
  10. PE , .NetMF, big-endian little-endian .
  11. DAT , Flash .

MSBuild.



"".


. , , , .exe .dll. , :


  1. .
    , . , A xyz. . , xyz, A. xyz A , , .
  2. .
    , API, . , . , : , . , , .

.NetMF , . , . MSBuild. , . , , , .



, , .NetMF - " " . . , .NetMF. MSBuild.

Source: https://habr.com/ru/post/zh-CN392721/


All Articles