IoTGateway/BSP/Windows10 IoT Core

From ESS-WIKI
Jump to: navigation, search

APQ8016

Currently we do not have a customized Windows 10 IoT Core image for Advantech APQ8016 projects. Fortunately, the image for Dragonboard 410c is also available on our devices, such as RSB-4760. Here, we will show you how to flash the Windows 10 IoT Core image into RSB-4760.

Flash Pre-built Images

Most of the steps below are based on "Get Started" page from Microsoft. You can also refer to it for more details.

Step 1 : Get the tools

  • OS requirement
Microsoft recommends to run Windows 10, but the following steps actually can work on Windows 7. You can choose one of them.
  • Download and install the DragonBoard Update Tool
Download the DragonBoard Update Tool by selecting the download link appropriate for your PC: x86 or x64.
Extract the zip file and install on your desktop. The installer will create a shortcut to the DragonBoard Update Tool on your desktop and in your start menu, under Qualcomm->DragonBoardUpdate Tool.
  • Download the DragonBoard Windows 10 IoT Core Image
Download Windows 10 IoT Core image from here.
Double click the downloaded ISO file. This will automatically mount the ISO as a new virtual CD-drive. (Look for a new CD-ROM drive)
The mounted virtual drive contains an installer file "Windows_10_IoT_Core_for_QCDB410C.msi". Double click the file to start the installation.
RTENOTITLE
The installer creates a new directory: C:\Program Files (x86)\Microsoft IoT\FFU\QCDB410C\ which contains the DragonBoard410c image file "flash.ffu".
In Windows 7, this new directory is under C:\Program Files\Microsoft IoT\FFU\
RTENOTITLE

Step 2 : Set up your device

  • Set up your RSB-4760 device
First, you have to set the SW1 boot switch to enable download mode.
Both switch pins are set to ON, and power on the RSB-4760 device.
Rsb4760-sw1.jpg
Then, connect a USB cable to the micro USB port and connect the other end to an empty USB port on your Host PC.
  • Install Windows 10 IoT Core
Start the DragonBoard Update Tool you installed during the Step 1.
RTENOTITLE
The Update Tool should detect the board and the Connection Status should show: "Connected".
In the DragonBoard Update Tool click the "Browse" button and locate the Win10 IoT Core Image file you downloaded during Step 1.
Click the "Program" Button and wait for the image to be downloaded to the board.
NOTE: The download will overwrite any previous content of the eMMC memory.
Once the download is complete, disconnect the power supply and microUSB cable from the board and change both the SW1 switch pins back to the OFF position.
The RSB-4760 is now ready to boot into Windows 10 IoT Core OS.
  • First Boot
Connect Mouse, Keyboard and Display to the RSB-4760 and also insert a sdcard.
Because the definition of USB id pin are different to RSB-4760 and DragonBoard, the USB id is defined to sdcard detection GPIO on RSB-4760.
So, we have to cheat the device that USB host is ready by inserting a sdcard. Or, USB keyboard & mouse will be invalid.
NOTE: Make sure that the microUSB cable is not plugged-in, otherwise the USB devices will not be detected.
After a few seconds you should see the Win10 IoT boot-logo and shortly after you should see the Win10 IoT Core default application:
DB410c DefaultApp.jpg


i.MX6

In this section, we will show you how to flash the Windows 10 IoT Core image into RSB-4411 QuadCore.

Flash Pre-built Images

The images we use here are compiled via project-kayla (Windows 10 IoT Core Board Support Package for iMX6).

Step 1 : Get the tools

  • OS requirement
Only Windows 10 can work. It does not support Windows 7.
  • Download and install Windows 10 IoT Core Dashboard tool
Download the Windows 10 IoT Core Dashboard from here.
Win-10-iot-core-dashboard.png 
  • Download pre-built Windows 10 IoT Core Images
Please contact with Advantech for the images below:
  • 1213HummingBoardTestOEMInput.xml.Release.ffu
  • U-Boot, OP-TEE & UEFI images for RSB-4411

Step 2 : Flash images

  • Flash FFU into sdcard
Start the Windows 10 IoT Core Dashboard you installed during the Step 1.
Iot-dashboard.png
1. Select "Custom" device type and choose the FFU image you downloaded.
2. Set a new Administrator password.
3. Accept the license terms and Install.

PS. If you get a provisioning warning, it's OK to ignore it and keeps going.
Iot-dashboard-warning.png

For RS5 image, you can skip the following operations and jump to step 3.

  • Remove incompatible Display Driver
Insert the sdcard and find MainOS partition in File Explorer.
Rename or delete imx6dod.sys driver in MainOS\Windows\System32\drivers.
Mainos-setup.png
  • Replace UEFI
Insert the sdcard and find EFIESP partition in File Explorer.
Put the new IMX6BOARD_EFI.fd file into it.
Efiesp-replace.png
  • Replace U-Boot & OP-TEE
Use dd command to flash images. If you are using Windows, use dd for Windows.
sudo dd if=SPL of=/dev/sdX bs=512 seek=2
sudo dd if=u-boot-ivt.img of=/dev/sdX bs=512 seek=138
sudo dd if=tee.bin of=/dev/sdX bs=512 seek=2186
sync; sync

Step 3 : Set up your device

  • Configure Ethernet
Windows 10 IoT Core OS reads ethernet MAC address from OCOTP. To write MAC address into OCOTP, you need an additional sdcard which runs official Yocto Linux OS. You can find the official release here. For RSB-4411, we can choose imx6LBV8090, and follow the instruction to flash sdcard.
After that, try to boot from the Yocto Linux sdcard and login.
1. Make sure the default values are ZERO.
root@imx6qrsb4411a1:~# cat /sys/fsl_otp/HW_OCOTP_MAC1
0x0
root@imx6qrsb4411a1:~# cat /sys/fsl_otp/HW_OCOTP_MAC0
0x0
2. Write the MAC address into OCOTP, e.g. 2A:1B:4C:3D:6E:5F
root@imx6qrsb4411a1:~# echo 0x2A1B > /sys/fsl_otp/HW_OCOTP_MAC1
root@imx6qrsb4411a1:~# echo 0x4C3D6E5F > /sys/fsl_otp/HW_OCOTP_MAC0
3. Double check if OCOTP is updated
root@imx6qrsb4411a1:~# cat /sys/fsl_otp/HW_OCOTP_MAC1
0x2a1b
root@imx6qrsb4411a1:~# cat /sys/fsl_otp/HW_OCOTP_MAC0
0x4c3d6e5f
Now, it's OK to boot up Windows 10 IoT Core!
  • Set up your RSB-4411 device
Make sure the SW2 switch is set to 1:OFF and 2:ON.
Rsb4411-switch.png
  • First Boot
Please DO NOT insert USB mouse & keyboard before booting up. Or, it may cause blink display problem.
After boot up, you can check if IP address is assigned correctly by DHCP.
[RS3] 16299
Win10iot Screenshot rsb4411.jpg
[RS5] 17744
Win10iot-rs5 Screenshot rsb4411.jpg

Connecting to Your Device

You can use Windows Device Portal to connect to your device through your favorite web browser. The device portal provides configuration and device management capabilities, in addition to advanced diagnostic tools to help you troubleshoot and view the real time performance of your Windows IoT Device.

[RS3]

Windows device portal.png

[RS5]

Windows device portal rs5.png

Steps:

1. Setup network connections on Windows 10 IoT Core

Device Settings -> Network & Wi-Fi

2. Make sure your host PC can reach the IP which Windows IoT Device gets.

3. Open your favorite web browser and go to http://<Windows IoT Device's IP address> :8080/ , e.g.http://192.168.0.109:8080/

You need username and password to log-in.
  • username: Administrator
  • password: p@ssw0rd
Note: If password is invalid, try the administrator password in Step 2 (Flash images).

4. Then, you are able to handle the Windows IoT Device via Windows Device Portal.

Additional Resources

There are some additional valuable resources for your reference.