
La mayoría de los desarrolladores se han acostumbrado a usar este o aquel IDE y no piensan en cómo su código fuente se convierte en un módulo ejecutable. Las herramientas de desarrollo modernas contienen UI y automatización de compilación para una gran cantidad de tipos de proyectos para todas las ocasiones. Y esto es muy bueno, ya que le permitirá no pensar en cosas que no están directamente relacionadas con la tarea en cuestión. Pero a veces la tarea es tan compleja que ya no es posible utilizar tipos de proyectos estándar. Y luego aparece el "Proyecto Build System".
Un ejemplo sorprendente de este tipo de proyecto es .NET Micro Framework , una implementación de la plataforma Microsoft .NET para microcontroladores. Este artículo proporcionará una descripción general de su sistema de ensamblaje y las características de su implementación.
, , , .
.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, , .., , .
, :
- , .
- toolchain.
- API , "".
2 3 .
.Net Micro Framework :

:
( ) . , Visual Studio. — «», .NetMF. TinyCLR — .
TinyCLR 3 :
- CLR — , , , ..
- PAL (Platform Abstraction Layer) — , , , , -. .
- 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. , .
:
- , . , , MSBuild.
- , . . , . , .
- SDK, .NetMF Visual Studio. VSIX , .
- "" — 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 2 .
- DLL.
- DLL PE , big-endian, little-endian .
- Visual Studio.
- .
- VSIX Visual Studio.
- VSIX .
- SDK MSI .
- SDK MSI .
, . , ( ). SDK asseblies, SDK. .
""
:
- .obj .
- .lib .
- .obj .lib .
- Link/Locate XIP flash.
- .
- , MFUpdate.
- Flash .
- .
- .
- PE , .NetMF, big-endian little-endian .
- DAT , Flash .
MSBuild.
"".
. , , , .exe .dll. , :
- .
, . , A xyz. . , xyz, A. xyz A , , . - .
, API, . , . , : , . , , .
.NetMF , . , . MSBuild. , . , , , .
, , .NetMF - " " . . , .NetMF. MSBuild.