Comment embrasser l'énorme: le système de construction .NET Micro Framework Partie 1


La plupart des développeurs ont depuis longtemps l'habitude d'utiliser tel ou tel IDE et ne pensent pas à la façon dont leur code source se transforme en module exécutable. Les outils de développement modernes contiennent l' interface utilisateur et l'automatisation de la construction pour un grand nombre de types de projets pour toutes les occasions. Et c'est très cool, car cela vous permettra de ne pas penser à des choses qui ne sont pas directement liées à la tâche à accomplir. Mais parfois, la tâche est si complexe qu'il n'est plus possible d'utiliser des types de projets standard. Et puis le "Project Build System" apparaît.


Un exemple frappant de ce type de projet est le .NET Micro Framework , une implémentation de la plate-forme Microsoft .NET pour les microcontrôleurs. Cet article fournira un aperçu de son système d'assemblage et des fonctionnalités de sa mise en œuvre.



, , , .


.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 :


entrez la description de l'image ici


:


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


TinyCLR 3 :


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

PAL HAL ( API , "").


HAL , PAL, . API.


, :


entrez la description de l'image ici


, 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/fr392721/


All Articles