G2LL0

        -- Нравится экипаж?
        -- Карета тяжеловата. Когда буду уходить от погони,
           пошлю лошадей к неизвестному обрыву,
           в последний момент резко развернусь,
           повозка повиснет в воздухе..
           Ну и Ваша четверка лошадей ее не удержит.

Интернет вещей (Internet of Things)
Виртуальная машина Windows 10 IoT
-----------------------------------

На сайте

  https://ms-iot.github.io/content/en-US/Downloads.htm

Взять дистрибутив для для MinnowBoard Max, устанавливается в

  C:\Program Files (x86)\Microsoft IoT\FFU\MinnowBoardMax

Монтировать ffu с помощью "ImgMount flash.ffu"

  http://forum.xda-developers.com/showthread.php?t=2066903

Размонтировать полученный виртуальный диск:

  Disk Management -> Action -> Detach VHD

Переместить VHD диск в папку с виртуальными дисками (например, Desktop/VM)

Создать виртуальную машину VirtualBox:

  Windows 10 32-bit
  1024MB RAM
  kmd<xxxx>.vhd (SATA controller)

   System -> Extended features
   [v] Enable EFI

Смонтировать VHD виртуальной машины и скопировать установленные (распакованные) версии C компилятора:

  Tiny C: (v tcc-0.9.26-win32-bin.zip)
  TDragon GCC 32-bit.

Размонтировать VHD: (Detach VHD using explorer -> eject)


Cтартовать виртуальную машину и зайти через PuTTY:

  user:   Administrator
  passwd: p@ssw0rd

Компилировать на виртуальной машине и
выполнить на виртуальной машине тестовый пример

  hello.c


Замечания
---------

1. Не запускайте PuTTY, пока виртуальная машина W10IoT (VirtualBox) не загрузится полностью (иначе загрузка может зависнуть)

2. Используйте формат виртуального диска VHD (NTFS, FAT), такой диск удобно монтировать в хосте Windows, когда виртуальная машина не активна.


Приложение А. Открытые порты виртуальной машины
-----------------------------------------------

  Remote debugging

  Ports           Protocol      Description
  135, 139, 445   TCP           Required
  137, 138        UDP           Required
  500, 4500       UDP           Required if your domain policy requires
                                network communication to be performed
                                through IPSec.

  Other services

  80              TCP           Required for Web Server debugging.
  22              SSH
  23              FTP


Annex B. Setting up Visual Studio 2015 on your PC
-------------------------------------------------

- Install Windows 10
- Install Visual Studio 2015. Choose the Custom option when you kick off the installer, and then check the option to install the Windows 10 tools.
- If you are planning to develop drivers, install the WDK.


Anndex C. Attach/Detach VHD
---------------------------

Disk Management -> Action -> Attach VHD
Eject


Annex D. hello.c
----------------

  #include <stdio.h>

  int main() {
      printf("Hello World!");
      return 0;
  }

Build

  tcc hello.c -o hello.exe


Ссылки:
-------

Running Windows 10 IoT Core in a Virtual Machine

  http://www.newventuresoftware.com/blog
       /running-windows-10-iot-core-in-a-virtual-machine/

Windows 10 for IoT: ..And finally there’s a FTP daemon launching at startup that you better stop immediately (disable the scheduled task using schtasks.exe), since it give anonymous users RW access to the whole file system

  https://www.raspberrypi.org/blog/windows-10-for-iot/

Windows 10 IoT Core Command Line Utils

  https://ms-iot.github.io/content/en-US/win10/tools/CommandLineUtils.htm

Using SSH to connect and configure a device running Windows IoT Core

  https://ms-iot.github.io/content/en-US/win10/samples/SSH.htm

Ports to open on the Visual Studio computer to enable remote debugging

  https://msdn.microsoft.com/library/ee126350%28v=vs.100%29.aspx

Manage VHD disks.

  http://www.groovypost.com/howto/attach-copy-files-vhd-windows-10/

All Tiny

  http://landley.net/code/

