Windows IoT Enterprise RSB-3720

From ESS-WIKI
Revision as of 06:19, 21 October 2024 by Jems.cheng (talk | contribs)
Jump to: navigation, search

Get Started with Windows 10 IoT Version 1.3.0 Enterprise Using the Advantech RSB-3720, an Arm-based 2.5” Pico-ITX with NXP i.MX 8M Plus

 1.Introdouction 

Advantech has updated its board support packages (BSP) to version 1.3.0, based on i.MX Windows 10 IoT released by NXP. These updates have been installed on the RSB-3720, featuring i.MX 8M Plus series processor platforms to support Windows 10 IoT Enterprise Version 1.3.0.

This how-to article describes the process of building and installing Windows 10 IoT BSP Version 1.3.0 on the Advantech RSB-3720. The highly optimized Windows 10 IoT BSP simplifies the setup installation with only one SD card, making it as easy as installing Windows OS on X86.

Additionally, Version 1.3.0 includes all the necessary code, documents, and tools to help users build and run Windows 10 IoT on the i.MX 8M Plus from scratch. Check our release notes for a full review of the capabilities of Windows 10 on Arm of the i.MX 8M Plus processor.

 2. Prerequisites

  • The Advantech RSB-3720 — a 2.5” Pico-ITX SBC with NXP i.MX8M Plus SOC
  • 1 x 8GB Micro SD card for flashing the OS installer
  • 1 x micro USB cable for flashing the boot loader
  • 1 x power adapter (input: 100 ~ 240V AC 50/60Hz; output: DC 12V 3A; Advantech P/N: 96PSA-A36W12R1-3)

Necessary Software:

  • Win32 Disk Imager

          Please follow the link below to download an executable file.

            Download Win32 Disk Imager

 3. Install Windows 10 IoT Enterprise on RSB-3720

   3-1. Extract the zip file (file name: 20230207.zip) of the image package you downloaded.

 RTENOTITLE

  3-2. Extract the zip file (RSB3720A1AIM20WIV0004.7z) in the folder and flash the firmware into eMMC

 RTENOTITLE

RTENOTITLE

  3-3. Prepare one 8GB SD card for flashing OS installer in your host PC whether it is Linux or Windows operating system.

A. For the Linux operating system:

$ sudo dd if=X22-81267_Win10IoT_Ent_SAC_21H2_os_installer_EVK_iMX8MP_W130.img of=/dev/sdX bs=1M conv=fsync

 RTENOTITLE

RTENOTITLE

B. For the Windows operating system:
Use the Win32 Disk Imager to prepare the 1 x 8GB Mirco SD card used for flashing the OS installer
with the Windows-based Host PC.

 RTENOTITLE

Start the OS installer process.

RTENOTITLE

Finish the OS installer process and close the Win32 Disk Imager tool.

 RTENOTITLE

 

  3-4. Flash firmware image into the same Micro SD card

A. Open the “CMD” in the Windows OS, then enter RSB3720A1AIM20WIV0004.

RTENOTITLE

 

B. Next, flash the firmware image onto a Micro SD card by command. Please check your micro SD card symbol.

For example: the Mirco SD card is “g:” in your windows system.
Command:
flash_bootloader.cmd /device RSB3720_iMX8MP_6GB /target_drive g:

 RTENOTITLE

RTENOTITLE

  3-5. Flash Windows IoT to eMMC

A. Set up the SW1 jumper on the RSB-3720 for SD boot. (ON-ON-OFF-OFF).

 RTENOTITLE

B. Connect the HDMI cable on the device.

 RTENOTITLE

C. Insert a micro SD card and power the device on. The system will first start a PE environment for installation.

 

 RTENOTITLE

 

 

 

Next, the system will reboot again and enter the setup process.

 

A Window 10 IoT enterprise desktop will appear on the screen after the settings are complete.

 

 

 

[Notice]

A. Make sure to disable sleep in “Power and sleep” settings after Windows OS boots up

to avoid unexpected system hangs.

B. Never remove the SD card upon boot up:

The SD card shouldn’t be removed when Window 10 IoT enterprise is loading as there is no OTG port on the RSB-3720 to flash load firmware onto the eMMC mentioned in the step of flashing firmware image into the same Micro SD card.

C. After the RSB-3720 is successfully boot into the Windows 10 IoT enterprise, you can use this same SD card to flash another RSB-3720 to Windows 10 IoT enterprise if you want. But before doing so, please reset the SD card to its initial status by the following method before you unplug the SD card and plug into a new RSB-3720. Please follow the steps below to initialize the SD card:

i. Rename the “_efi” folder to “EFI”

 

  •  

ii. Change partition id. using a Windows command line

 

 

<code> C:\Windows\system32> diskpart

DISKPART> list disk
Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          465 GB  1024 KB        *
Disk 1    No Media           0 B      0 B
Disk 2    Online           14 GB      0 B        *

DISKPART> sel disk 2
Disk 2 is now the selected disk.
DISKPART> list partition

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
Partition 1    Unknown             32 MB  1024 KB
Partition 2    Primary             29 GB    33 MB

DISKPART> sel partition 1
Partition 1 is now the selected partition.
DISKPART> set id="c12a7328-f81f-11d2-ba4b-00a0c93ec93b"
DiskPart successfully set the partition ID.
DISKPART> exit</code>

4. Conclusion
   Version 1.3.0 significantly reduces the installation process, taking only about 30 minutes. So, grab a cup of coffee while you wait. More native functions are now enabled, such as dual LANs and native HDMI. You can experience its out-of-the-box capabilities      and meet your development needs.


Test method:

UART:

測試環境:接上UIO-4032 + COM cable

RSB-3720 WOA UART C.jpg

測試指令:

1).列出所有Device 上的UART port

C:\Users\adv\Desktop\BusTools_update\Win32>MinComm.exe -list
\\?\ACPI#NXP0113#4#{86e0d1e0-8089-11d0-9ce4-08003e301f73}\SERCX
PortName: UART4
In System Container: TRUE
Restricted: FALSE
UWP Accessible: TRUE
\\?\ACPI#NXP0113#2#{86e0d1e0-8089-11d0-9ce4-08003e301f73}\SERCX
PortName: UART2
In System Container: TRUE
Restricted: FALSE
UWP Accessible: TRUE
\\?\ACPI#NXP0113#3#{86e0d1e0-8089-11d0-9ce4-08003e301f73}\SERCX
PortName: UART3
In System Container: TRUE
Restricted: FALSE
UWP Accessible: TRUE

測試UIO-4032 上的COM3

> MinComm.exe \\?\ACPI#NXP0113#2#{86e0d1e0-8089-11d0-9ce4-08003e301f73}\SERCX
baud=115200 parity=n data=8 stop=1

測試UIO-4032 上的COM4

> MinComm.exe \\?\ACPI#NXP0113#4#{86e0d1e0-8089-11d0-9ce4-08003e301f73}\SERCX
baud=115200 parity=n data=8 stop=1


RTC:

測試方法 : 

1. In Windows

  • 離線測試
  • 接上網路測試
  • 調整 12 /24 小時制

 

2. 在 U EFI S hell

  • 開機時一直按 ESC ,會出現 U EFI 選單,選擇 Boot Manager ””→ UEFI Shell
  • 輸入指令
$ time 08:00:00




GPIO:

1. 測試工具:GpioTestTool.exe (此工具僅支援Native GPIO 測試)
從RSB-3720 的線路發現,只有GPIO11/GPIO12 是從CPU 出來,其他是透過tca9538 擴充

RTENOTITLE

PIN number 的計算方式
MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11
GPIO11 - MOSI - 139 (4 * 32 + 11)
GPIO12 - SCLK – 138
測試指令:(假設要測試GPIO11)

> GpioTestTool.exe 139


先設定output – setdrivemode output
再決定是要測High 還是low,並透過電表驗證(High 可以量到3.3v)
更多指令可以使用help 查看

RTENOTITLE

量測點 :

RTENOTITLE

2. GPIO-Expander
測試工具:I2cTestTool.exe
版上有兩個gpio expander,其i2c slave address 分別為0x70, 0x71

RTENOTITLE

每個port 對應的值 :

#define EXP_P0 0x01
#define EXP_P1 0x02
#define EXP_P2 0x04
#define EXP_P3 0x08
#define EXP_P4 0x10
#define EXP_P5 0x20
#define EXP_P6 0x40
#define EXP_P7 0x80

測試指令:
Test output
Select chip on I2C1 controller(Test UIO2 slave address : 0x71)

> I2cTestTool.exe 0x71 I2C1

set UIO2(0x71) all GPIO to output (default to high level)

> write { 03 00 }

set UIO2(0x71) all GPIO to low

> write { 01 00 }

Set GPIO7(P2) to high

> write { 01 04 }

Test input
設定0x70 (UIO1) 所有pin 為output (預設high)

> I2cTestTool.exe 0x70 I2C1
> write { 03 00 }

設定0x71 (UIO2) 所有pin 為input

> I2cTestTool.exe 0x71 I2C1
> write { 03 01 }

透過電表可以量測準位變化,但當拔掉測試cable,原本的input pin 之準位會變low

ISC:

CANBus:

測試工具:FlexCAN_interrupt.exe

測試接法:使用 UIO 4034 + 平行線 + 一對二 (CAN/Debug)

RTENOTITLE
開啟兩個命令提示字元 視窗,依據畫面輸入測試指令,假設拔掉 cable ,,”Press any key to trigger
the next transmission” 便無法執行,直到接上 cable 會吐出結果

RTENOTITLERTENOTITLE