Difference between revisions of "RSB-3810 user guide Android11"

From ESS-WIKI
Jump to: navigation, search
(Created page with " == '''產品介紹(Product introduction )''' == === '''產品特性(Product Features)''' === *NXP i.MX 8M processor with dual or quad Arm Cortex A53 cores *1 x Arm Cortex-...")
 
(燒錄方法 (Flash eMMC Method))
 
(207 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
=== '''產品特性(Product Features)''' ===
 
=== '''產品特性(Product Features)''' ===
  
*NXP i.MX 8M processor with dual or quad Arm Cortex A53 cores
+
*MediaTek Genio 1200 4核心A78和4核心A55
*1 x Arm Cortex-M4 core
+
*內建LPDDR4 8GB,4000MT/s記憶體
*Onboard 2GB LPDDR4 memory and eMMC 16GB
+
*HDMI 4k60fps,1 x 雙通道24位元LVDS
*1 x HDMI2.0 up to 4096 x 2160, 1 x 4-Lane MIPI DSI
+
*1 x 4線RS-232/422/485,2 x USB3.2 Gen1 By 1,2 x USB2.0,1 x Micro SD,1 x Mic. in / Line out
*2 x USB3.0, 4 x USB2.0, 4 x UART, 4 x I2C, 12 x GPIO, 1 x PCIe2.0, 1 x 4-lane MIPI CSI camera input, 1 x 2-lane MIPI CSI camera input and 2 x Gigabit LAN
+
*1 x M.2 3052 Key B for 5G,1 x M.2 2230 Key E Slot for WiFi/BT
*Supports OpenGL ES 3.1/3.0/2.0/1.1, Open CL 1.2, and Vulkan hardware accelerators
+
*支援UIO40-Express I/O板擴充
*Supports 4Kp60 HEVC/H.265 decoding with HDR
+
*支援Ubuntu、Ycoto Linux和Android
*Cable pack & panel included
 
*Evaluative image & test utility built-in
 
  
 
 
 
 
Line 18: Line 16:
 
=== '''產品官網連結(Product official website link)''' ===
 
=== '''產品官網連結(Product official website link)''' ===
  
[https://www.advantech.com/zh-tw/products/77b59009-31a9-4751-bee1-45827a844421/rom-5720/mod_4fbfe9fa-f5b2-4ba8-940e-e47585ad0fef '''ROM-5720''']
+
[https://www.advantech.com/zh-tw/products/5912096e-f242-4b17-993a-1acdcaada6f6/rsb-3810/mod_5e027854-f47d-45e5-bac2-0413929f345d '''RSB-3810''']
 +
 
 +
 
  
 
== '''硬件接口說明(Hardware interface introduction)''' ==
 
== '''硬件接口說明(Hardware interface introduction)''' ==
Line 24: Line 24:
 
=== '''接口布局和尺寸(Layout and Sizes)''' ===
 
=== '''接口布局和尺寸(Layout and Sizes)''' ===
  
=== '''ROM-5720 接口布局圖 Board Dimension Layout''' ===
+
=== '''RSB-3810 接口布局圖 Board Dimension Layout''' ===
  
 
+
[[File:RSB-3810-connector1.png|RTENOTITLE]]
  
=== '''ROM-DB5901 接口布局圖 Board Dimension Layout''' ===
+
[[File:RSB-3810-connector2.png|RTENOTITLE]]
  
'''主板内置插针式引脚排序方式 (Pin Header defination)'''
+
Jumper list:
  
=== '''Internal I/O''' ===
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| [http://ess-wiki.advantech.com.tw/view/File:RSB-3810-BL0.png BL0]
 +
| Backlight Power Select for LVDS0 (Default 5V)
 +
|-
 +
| [http://ess-wiki.advantech.com.tw/view/File:RSB-3810-VDD0.png VDD0]
 +
| LVDS VDD (Default 3.3V)
 +
|}
  
 
 
 
 
  
{| style="border:undefined"
+
Connectot list:
|-
+
 
| '''Position'''
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
| '''Description'''
 
| '''Connector Type'''
 
|-
 
| BAT1
 
| PIN Header for Battery
 
| WAFER 8P 2.54mm 180D(M) DIP<br/> A2543WV2-8P
 
|-
 
| BH1
 
| RTC Battery Holder
 
| BATTERY HOLDER 24.9*23.4*8.9<br/> CR2032 BH800.4GG
 
 
|-
 
|-
| CAN1
+
| BAT
| CANBus Port 1
+
| RTC Battery CONN
| BOX HEADER 5x2P 2.54mm 180D(M)<br/> DIP 23N6960-10S10
 
 
|-
 
|-
| CAN2
+
| BL0
| CANBus Port 2
+
| LVDS Backlight
| BOX HEADER 5x2P 2.54mm 180D(M)<br/> DIP 23N6960-10S10
 
 
|-
 
|-
 
| COM1
 
| COM1
| COM Port 1
+
| Debug Console + RS232/RS485
| BOX HEADER 5x2P 2.54mm 180D(M)<br/> DIP 23N6960-10S10
 
|-
 
| COM3
 
| COM Port 3 (Debug Port)
 
| BOX HEADER 5x2P 2.54mm 180D(M)<br/> DIP 23N6960-10S10
 
|-
 
| CN4
 
| PCIex1 Connector 1
 
| PCIEXPRESS 36P 180D(F) DIP<br/> 2EG01817-D2D-DF
 
|-
 
| CN5
 
| PCIex1 Connector 2
 
| PCIEXPRESS 36P 180D(F) DIP<br/> 2EG01817-D2D-DF
 
|-
 
| CN6
 
| PCIex1 Connector 3
 
| PCIEXPRESS 36P 180D(F) DIP<br/> 2EG01817-D2D-DF
 
|-
 
| CN11
 
| SATA Connector
 
| Serial ATA 7P 1.27mm 180D(M) DIP<br/> WATM-07DBN4A3B8
 
|-
 
| CN12
 
| SATA Power Connector
 
| WAFER 4P 2.5mm 180D(M) DIP<br/> 24W1161-04S10-01T
 
|-
 
| CN22
 
| GPIOx8 sets
 
| PIN HEADER 10x2P 2.0mm 180D(M)<br/> DIP 21N22050
 
|-
 
| CN25
 
| MXM 3.0 Connector
 
| MXM Conn. 314P 90D(F) SMD<br/> AS0B821-S78B-7H
 
|-
 
| CN26
 
| M.2 Key E Slots
 
| NGFF 75P 0.5mm 90D(F) H=4.2mm<br/> SMD AS0BC21-S40BE
 
|-
 
| CN38
 
| FAN (Reserved)
 
| WTB Con. 3P 2.54mm 180D(M) DIP<br/> A2543WV0-3P-6T-5e
 
|-
 
| CN39
 
| MIPI-CSI1 (FPC, 4-Lane
 
| FPC 39P, 0.6mm, H0.9mm
 
|-
 
| CN40
 
| MIPI-CSI0 (FPC, 2-Lane)
 
| FPC 39P, 0.6mm, H0.9mm
 
 
|-
 
|-
| CN41
+
| CSI0
| MIPI-CSI0 (Mini-SAS, 2-Lane)
+
| MIPI-CSI Camera Input 0
| Mini SAS 36P/0.8mm/(M)/LCP/VA/G15u/<br/> S/BK/W
 
 
|-
 
|-
| CN42
+
| CSI1
| MIPI-CSI1 (Mini-SAS, 4-Lane)
+
| MIPI-CSI Camera Input 1
| Mini SAS 36P/0.8mm/(M)/LCP/VA/G15u/<br/> S/BK/W
 
 
|-
 
|-
| ESPI_CN1
+
| CSI2
| ESPI
+
| MIPI-CSI Camera Input 2
| PIN HEADER 6x2P 2.0mm180D(M) SMD<br/> 21N22050-12M00B
 
 
|-
 
|-
| I2C_GP_1
+
| DCIN/DCIN1
| I2C Pin Header
+
| 12V DC Power Input by DC Jack/ by Pin Header
| WAFER BOX 4P 2.00mm 180D(M) DIP<br/> 721-81-04TW00
 
 
|-
 
|-
| I2C_CN3
+
| HDMI
| Audio Codec Board
+
| HDMI CONN
| PIN HEADER 2x10P 2.54mm 180D(M)<br/> DIP 21N22564
 
 
|-
 
|-
 
| LVDS0
 
| LVDS0
| LVDS0
+
| LVDS Channel 0 CONN
| Wafer 2x20P/1.25mm/(M)/NY9T/VA/GFL/<br/> S/WH/W
 
|-
 
| LVDS_BK_PWR
 
| LVDS0 Back Light
 
| WAFER BOX 5P 2.0mm 180D(M) DIP<br/> A2001WV2-5P
 
 
|-
 
|-
 
| LVDS1
 
| LVDS1
| LVDS1
+
| LVDS Channel 1 CONN
| Wafer 2x20P/1.25mm/(M)/NY9T/VA/GFL/<br/> S/WH/W
 
 
|-
 
|-
| LVDS1_BK_PWR
+
| M2
| LVDS1 Back Light
+
| M.2 Key E CONN
| WAFER BOX 5P 2.0mm 180D(M) DIP<br/> A2001WV2-5P
 
 
|-
 
|-
| SD1
+
| MIC
| SD Card Slot
+
| MIC In Pin Header
| SD CARD 9P 90D(F) SMD WK2192CS3D-<br/> 7H
 
 
|-
 
|-
| SPI_CN1
+
| M2B
| SPI Pin Header
+
| M.2 Key B CONN
| PIN HEADER 4x2P 2.54mm 180D(M)<br/> SMD 21N22564
 
 
|-
 
|-
| SW2
+
| RST
 
| Reset Button
 
| Reset Button
| TACT SW STS-091 SMD 4P H=3.8mm
 
 
|-
 
|-
| SW4
+
| SD
| SLP Button
+
| SD Slot
| TACT SW STS-091 SMD 4P H=3.8mm
 
 
|-
 
|-
| SW5
+
| SIM
| Power Button
+
| SIM Slot
| TACT SW STS-091 SMD 4P H=3.8mm
 
 
|-
 
|-
| USB0_OTG1
+
| UIO1
| USB OTG
+
| UIO40-Express Pin Header 1
| Micro USB 5P/0.65mm/(F)/NY9T/GFL/<br/> RA/S/BK/B
 
 
|-
 
|-
| USB-4-5
+
| UIO2
| USB Port 4, Port 5
+
| UIO40-Express Pin Header 2
| PIN HEADER 2x5P 2.0mm 180D(M)<br/> SMD 21N22050
+
|-
 +
| USB1
 +
| USB CONN. (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)
 +
|-
 +
| DL_KEY
 +
| Download Key
 
|}
 
|}
  
=== '''Rear I/O''' ===
+
&nbsp;
  
 
=== '''接口引脚定義 (Pin definitions)''' ===
 
=== '''接口引脚定義 (Pin definitions)''' ===
  
*[[電池(BAT1)_&_電池扣(BH1)|電池(BAT1) & 電池扣(BH1)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-BAT1.png BAT (RTC Battery CONN.)]
*[[CAN(CAN1,CAN2)|CAN(CAN1,CAN2)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-BL1.png BL1 (LVDS Backlight 1)]
*[[串口(COM_DB(COM3)、COM0、COM1_、COM2)|串口(COM_DB(COM3)、COM1、UART0 、UART2)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-COM1.png COM1 (Debug Console + RS232/RS485)]
*[[显示接口(LVDS、HDMI)_LAN接口_USB接口(USB1-2、USB3-4、USB_OTG)_音频接口_电源及指示灯和开关机复位按钮_GPIO接口_MINI_PCIE接口_M.2接口_SPI、I2C_接口|显示接口(LVDS、LVDS Backlight、HDMI、DP)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-CSI0.png CSI0 (MIPI-CSI Camera Input 0)]  
*[[LAN接口|LAN接口(LAN)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-CSI1.png CSI1 (MIPI-CSI Camera Input 1)]
*[[USB接口(USB1-2、USB_Type_C、USB_OTG)|USB接口(USB1-2、USB-4-5、USB Type C、USB OTG)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-CSI2.png CSI2 (MIPI-CSI Camera Input 2)]  
*[[音频接口(Audio)|音频接口(Audio Output &Audio Codec)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-DCIN.png DCIN (12V DC Jack)]
*[[电源及指示灯和开关机复位按钮(Power_、LED、Power_Button、Reset_Button、Sleep_Button)|电源及指示灯和开关机复位按钮(Power 、LED、Power Button、Reset Button、Sleep Button)]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-DCIN.png DCIN1 (12V DC-IN Pin Header)]  
*[[GPIO接口|GPIO接口]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-HDMI.png HDMI (HDMI CONN.)]
*[[MINI_PCIE接口_M.2接口_SPI、I2C_接口|MINI_PCIE接口_M.2接口_SPI、I2C_接口]]  
+
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LAN.png LAN (Ethernet eth0+eth1)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LOUT.png LOUT (Line Out Pin Header)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LVDS0_1.png LVDS0 (LVDS channel 0)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LVDS1_1.png LVDS1 (LVDS channel 1)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-M2.png M2 (M.2 Key E CONN.)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-MIC.png MIC (MIC In Pin Header)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-M2B.png M2B (M.2 keyB CONN.)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-RST.png RST (Reset Button)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-SD.png SD (SD Slot)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-SIM.png SIM (SIM Slot)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-UIO1.png UIO1 (UIO40-Express Pin Header 1)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-UIO2.png UIO2 (UIO40-Express Pin Header 2)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-USB1.png USB 1 (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-DL_KEY.png DL_KEY(Download Key)]  
 +
*[http://ess-wiki.advantech.com.tw/view/File:RSB-3810-LED.png LED]  
  
 
=== '''机械尺寸 ('''Mechanical Characteristics) ===
 
=== '''机械尺寸 ('''Mechanical Characteristics) ===
  
'''ROM-5720'''
+
[[File:RSB-3810-dimension.png|RTENOTITLE]]
 
 
 Dimensions: SMARC form factor size, 82mm (D) x 50 mm(W)<br/>  Height on Top: Under 3.0 mm base on SPEC definition (without heat sink)<br/>  Height on Bottom: Under 1.3 mm base on SPEC definition
 
  
 
&nbsp;
 
&nbsp;
Line 205: Line 150:
  
 
=== '''系统下载 (OS Download)''' ===
 
=== '''系统下载 (OS Download)''' ===
 +
 +
[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Android/MT8395_OS_Support_List_for_android11 Android 11 OS download]
  
 
&nbsp;
 
&nbsp;
  
=== '''Linux 燒錄方法 (Linux Flash eMMC Method)''' ===
+
=== '''Debug port 連接與設定(Debug Port Connection and Setting)''' ===
 +
 
 +
1. RSB-3810 debug port is shared with COM1. Please connect the debug console cable 1700034345-01 & 1700019474. Then connect the USB-to-RS232 Cable to your PC terminal. Connect the cable to COM1 pin header to the nearby the HDMI connector.
  
'''使用Flash tool 燒錄鏡像到eMMC (Flash image into eMMC by Flash Tools)'''
+
[[File:RSB-3810-Debug cable.png|RTENOTITLE]]
  
Step0: 檢查SD卡在Linux 環境的代號 (check SD card symbol in Linux system)
+
2.&nbsp;RSB-3810 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in such applications. The example demonstrated below describes the serial terminal setup using Tera Term on a Windows host: Open Tera Term on your Windows PC, set the Baud rate to 921600.
  
 
&nbsp;
 
&nbsp;
  
&nbsp;
 
  
Step1: 創造一張可開機的SD 卡 (Create a bootable SD card)
+
=== '''燒錄方法 (Flash eMMC Method)''' ===
 +
 
 +
Step1: 下載MTK燒錄工具SP&nbsp;Flash Tool V5&nbsp;(Download MTK flash tool "SP&nbsp;Flash Tool V5")
 +
 
 +
支援作業系統(Support OS):
 +
 
 +
*Windows 7
 +
*Windows 10
 +
*Ubuntu 16.x
 +
*Ubuntu 18.x
  
Step2: 將可開機的SD 卡插入底板SD卡卡槽(Plug the SD card into Carrier board 's SD card slot)
+
Step2:使用USB Type-A to Type-A線連接電腦處機與裝置的USB Type-A孔位, 如下圖位置(Connect the usb type A to host computer and device&nbsp;type A port)
  
Step4: 確認開機選擇指撥開關
+
[[File:2022-11-25 173838.jpg|800px|2022-11-25 173838.jpg]]
  
SD 卡開機模式:
+
Step3: 重BSP下載以下image檔案或是解壓縮image檔(You need to download the image files from BSP as below or extract from image file.)
  
Step3:打開電源 和 終端機 (Turn on the Power & Terminal)
+
BSP image File path:out/target/product/mt8395_rsb3810a1
 +
<pre>MT8195_Android_scatter.txt
 +
preloader_mt8395_rsb3810a1.bin
 +
vbmeta.img
 +
vbmeta_system.img
 +
vbmeta_vendor.img
 +
spmfw.img
 +
pi_img.img
 +
dpm.img
 +
scp.img
 +
sspm.img
 +
mcupm.img
 +
cam_vpu1.img
 +
cam_vpu2.img
 +
cam_vpu3.img
 +
lk.img
 +
boot.img
 +
dtbo.img
 +
tee.img
 +
logo.bin
 +
super.img
 +
userdata.img</pre>
  
&nbsp;
+
Step 4: 執行SP flash tool V5 燒錄工具(Launch SP flash tool V5)
  
Step4: 壓縮flash tools 檔案,並複製到U盤中(the flash tools file , then copy to USB Disk)
+
[[File:RSB-3810-SP Flash tool.png|RTENOTITLE]]
  
Step 5: Yocto 系統會自動掛載 U盤 在(run/media/sda1下)
+
(1) 選擇MT8195_Android_scatter.txt檔(Select the&nbsp;'''MT8195_Android_scatter.txt'''&nbsp;file)
  
[[File:ROM-5720 auto mount 2021-10-14 112909.jpg|RTENOTITLE]]
+
(2)選擇"Format ALL + Download"(Select the'''Format All + Download''')
  
並拷貝 5720A1AIM30LIVA0271_iMX8M_2G_flash_tool.tgz 到根目錄 (copy the file into Yocto system)
+
(3)點選Download按鈕(Click the&nbsp;'''Download&nbsp;'''button)
<pre>    Commnd&nbsp;:  cp -a  5720A1AIM30LIVA0271_iMX8M_2G_flash_tool.tgz  /</pre>
 
  
在Yocto 系統中解壓縮(Unzip the file in Yocto system on ROM-5720)
+
[[File:2022-11-25 174501.jpg|800px|2022-11-25 174501.jpg]]
  
Step 6. 燒錄eMMC 鏡像 (flash image into eMMC flash by flash tool file)
+
Step 5&nbsp;. 重新啟動裝置後系統會自己開始燒錄(Reboot the device and start to burn all&nbsp;image)
<pre>  command&nbsp;: ./mksd-linux.sh /dev/mmcblk0</pre>
 
  
&nbsp;
+
[[File:RSB-3810-flash OK.png|800px|RSB-3810-flash OK.png]]
  
Step 7 . 結束燒錄後, 請改變撥碼開關至 1 on , 其他 off (eMMC開機模式) (Finish the flash process, please chanage the switch (SW1) to 1 on , others off )
+
Step 6. 重新上電開機 (Turn on the power, then check the Debug message)
  
 
&nbsp;
 
&nbsp;
  
移除SD卡, 拔除電源 ,改變撥碼開關 (unplug the SD card , turn off power , change the SW1 switch to eMMC mode (1 on , others off)
+
== '''Android系统的基本使用(Android&nbsp;System Basic Operating Method)''' ==
  
eMMC mode&nbsp;: 1 on , others off
+
=== '''Display Setting (RSB-3810)''' ===
  
Step 8. 重新上電開機 ( Turn on the power , then check the Debug message)
+
'''HDMI TX:'''
  
'''Debug 串口調試 (Debug port Setting)'''
+
Step 1: Setting-->Storage
  
以 Tera Term 为例介绍如何使用串口调试功能
+
Step 2: Play a video
<pre>  Baud Rate波特率:115200
 
  Data 数据位:8
 
  Parity 奇偶校验:无
 
  Stop 停止位:1
 
  Flow Control流控:无</pre>
 
  
:&nbsp;  
+
CHeck HDMI mode and support resolution:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/graphics/fb0/modes</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/status</span></div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"><span lang="EN-US" style="font-family:"># cat /sys/class/drm/card0-HDMI-A-1/modes</span></div>
 +
'''HDMI RX:'''
  
Tera Term Tool
+
(1) Connect a play video host PC device
  
[[File:TeraTerm 2021-09-10 140930n.jpg|RTENOTITLE]]
+
(2) connect HDMI from PC to RSB-3810
  
&nbsp;
+
[[File:RSB-3810-HDMI RX PC.png|RTENOTITLE]]
  
Check the Sriel port in Device Manager (查看PC端的串口号)
+
(3) setenforce 0
  
if you can not identify the Serial device , please check your serial driver.
+
(4) open the RxVideo apk
  
&nbsp;
+
[[File:RSB-3810-RXVideo.png|RTENOTITLE]]
  
Debug port connection (串口連接)
+
(5) Play a video on host PC
  
&nbsp;
+
(6) check the video and sound can output to HDMI monitor
  
Log into Terminal Tool (进入串口调试终端)
+
LVDS: Dual Channel LVDS Panel: G215HVN0 (VDD: 5V, Backlight Power: 12V)<br/> <span style="font-family:Arial,Helvetica,sans-serif;">Step 1: Connect 96LEDK-A215FH30NF2 LVDS panel with the LVDS cable. Connect this to the LVDS. Connect the Backlight cable to BL1.</span>
  
&nbsp;
+
<span style="font-family:Arial,Helvetica,sans-serif;">Step 2: Connect another 12V adapter to the DC-Jack on the backlight cable.</span>
  
== '''Linux系统的基本使用(Linux System Basic Operating Method)''' ==
+
<span style="font-family:Arial,Helvetica,sans-serif;">Step 3: Power on RSB-3810 and the extra 12V adapter.</span>
  
=== '''UUU 使用方法(USB Connection (OTG port))''' ===
+
<span style="font-family:Arial,Helvetica,sans-serif;">Step 4: Press enter after boot. The system will stop at u-boot as demonstrated below, enter the command in red and press enter</span>
  
=== '''Display Setting (ROM-5720)''' ===
+
[[File:RSB-3810-LVDS Cable.png|RTENOTITLE]]
  
'''U-boot Command&nbsp;:'''
+
=== Audio使用方法(Audio Testing Method): ===
<pre>setenv fdt_file imx8mq-rom5720-a1-dcss-adv7535.dtb
 
env save
 
boot </pre>
 
  
Yocto 2.5
+
Step 1: Check audio codec
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # cat /proc/asound/cards<br/> &nbsp;0 [mt63xxaccdet &nbsp; ]: mt63xx-accdet - mt63xx-accdet<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mt63xx-accdet<br/> &nbsp;1 [mt8195sound &nbsp; &nbsp;]: mt8195-sound - mt8195-sound<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mt8195-sound</div>
 +
Step 2:&nbsp;Record and playback:
  
 +
Play audio file and check the sound output from Linu-out. Copy LRMonoPhase4.wav to the system<br/> stop audioserver
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># tinymix -D 1 'O176 I000 Switch' 1<br/> # tinymix -D 1 'O177 I001 Switch' 1<br/> # tinymix -D 1 'DAC In Mux' 'Normal Path'<br/> # tinymix -D 1 'HP Mux' 'Audio Playback'<br/> # tinyplay /storage/self/primary/LRMonoPhase4.wav -D 1 -d 2 -p 1024 -n 2</div>
 +
Connect Audio output from phone to RSB-3810 MIC. Record audio from phone and play the recorded file to check the sound.<br/> stop audioserver
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># tinymix -D 1 'O040 I168 Switch' 1<br/> # tinymix -D 1 'O041 I169 Switch' 1<br/> # tinymix -D 1 'MISO0_MUX' UL1_CH1<br/> # tinymix -D 1 'MISO1_MUX' UL1_CH1<br/> # tinymix -D 1 'ADC_L_Mux' 'Left Preamplifier'<br/> # tinymix -D 1 'PGA_L_Mux' 'AIN1'<br/> # tinycap /data/rec.wav -D 1 -d 8 -r 48000 -c 2 -b 32 -T 10<br/> # tinyplay /data/rec.wav -D 1 -d 2 -p 1024 -n 2</div>
 
&nbsp;
 
&nbsp;
  
*Display
+
=== '''M.2使用方法EWM-W174(M.2 Testing Method with EWM-W174):&nbsp;''' ===
**DSI to HDMI
+
 
***adv-imx8mq-rom5720-a1-dcss-adv7535-b3.dtb
+
*'''Test Wi-Fi with EWM-W174M201E Module (PCIe Interface)'''
***adv-imx8mq-rom5720-a1-lcdif-adv7535.dtb 
+
 
**DSI
+
Step 1: Open Android Setting.<br/> Step 2: Click Network & internet.<br/> Step 3: Search for WIFI
***auog101uan02
+
 
****adv-imx8mq-rom5720-a1-dcss-auog101uan02.dtb   
+
[[File:RSB-3810-M.2 M174.png|800px|RSB-3810-M.2 M174.png]]
**Dual Display
+
 
***DSI to HDMI + HDMI
+
*'''Test Bluetooth with EWM-W174M201E Module (USB Interface)'''
****adv-imx8mq-rom5720-a1-dual-display.dtb     
 
*M.2 SDIO
 
**Adjust CN43~CN48
 
**adv-imx8mq-rom5720-a1-m2-sdio.dtb 
 
*M.2 I2S
 
**adv-imx8mq-rom5720-a1-m2-i2s.dtb 
 
  
&nbsp;
+
Step 1: Open Android Setting.<br/> Step 2: Click Connected devices.<br/> Step 3: Click Connection preferences.<br/> Step 4: Click Bluetooth.<br/> Step 5: On and Pair new device<br/> Step 6: Available devices
  
Yocto 3.0
+
=== '''Serial port使用方法(Serial port Testing Method):''' ===
  
*Display
+
*'''RS-232 Loopback Test (eg. ttyS3):'''
**DSI to HDMI
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS3 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Test" > /dev/ttyS3</div>  
***imx8mq-rom5720-a1-dcss-adv7535.dtb
+
*'''RS-422 Test:'''  
***imx8mq-rom5720-a1-lcdif-adv7535.dtb
 
***For weston ui
 
****modify <font face="New MingLiu">/etc/xdg/weston/weston.ini</font>
 
*****<font face="New MingLiu">drm-device='''card2'''</font>     
 
**DSI
 
***auog101uan02
 
****imx8mq-rom5720-a1-dcss-auog101uan02.dtb   
 
**Dual Display
 
***DSI to HDMI + HDMI
 
****imx8mq-rom5720-a1-dual-display.dtb
 
****For weston ui
 
*****modify <font face="New MingLiu">/etc/xdg/weston/weston.ini</font>  
 
******<font face="New MingLiu">drm-device='''card1'''</font>         
 
*M.2 SDIO
 
**Adjust CN43~CN48
 
**imx8mq-rom5720-a1-m2-sdio.dtb 
 
  
=== '''乙太網路使用方法(Ethernent Testing Method)''' ===
+
Step 1: First change the debug console port to UART2 (UIO-4030COM_3), or use telnet to login to the system console to issue the command for the com port test.<br/> Step 2:&nbsp;Test RS-422&nbsp;with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:<br/> Adam-4520 RX- <--> RSB-3810 COM1 DB9 Pin 1,&nbsp;<br/> Adam-4520 RX+ <--> RSB-3810 COM1 DB9 Pin 2,<br/> Adam-4520 TX- <--> RSB-3810 COM1 DB9 Pin 4,<br/> Adam-4520 TX+ <--> RSB-3810 COM1 DB9 Pin 3,
  
'''Command&nbsp;: ifconfig'''
+
Step 3:&nbsp;Set GPIO#328, GPIO#327 Set to 1,1
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 328 > /sys/class/gpio/export<br/> # echo 327 > /sys/class/gpio/export# echo out<br/> # out > /sys/class/ gpio/gpio328/direction<br/> # echo out > /sys/class/gpio/gpio327/direction<br/> # echo 1&nbsp;> /sys/class/gpio/gpio328/value<br/> # echo 1 > /sys/class/gpio/gpio327/value</div>
 +
Step 4: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1&nbsp;with 1700100250 DB9 as the following command:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyS2 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke<br/> # cat /dev/ttyS2 &<br/> # echo "Serial Test" > /dev/ttyS2</div>
 +
*'''RS-485 Test:'''  
  
'''[[File:ROM-5720 ifconfig 2021-10-14 170648.jpg|RTENOTITLE]]'''
+
Step 1: Test RS-485 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:<br/> Adam-4520 Pin 1: Data- connect to DB9 Pin 1: COM_DCD.<br/> Adam-4520 Pin 2: Data+ connect to DB9 Pin 3: COM_RXD.
  
&nbsp;
+
Step 2: Set GPIO#328, GPIO#327 Set to 0,1
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 328 > /sys/class/gpio/export<br/> # echo 327 > /sys/class/gpio/export# echo out<br/> # out > /sys/class/ gpio/gpio328/direction<br/> # echo out > /sys/class/gpio/gpio327/direction<br/> # echo 0 > /sys/class/gpio/gpio328/value<br/> # echo 1 > /sys/class/gpio/gpio327/value</div>
 +
Step 3:&nbsp;Test RS-422 with Adam-4520. Connect Adam-4520 with COM1&nbsp;with 1700100250 DB9 as the following command:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ stty -F /dev/ttyS2 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS2 &<br/> $ echo "Serial Port Test" > /dev/ttyS2<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS2</div>
 +
=== '''I2C使用方法(I2C Test Method):''' ===
  
'''Command: Ping - I eth1 8.8.8.8'''
+
Step 1: Check i2c device
  
'''WiFi使用方法(WIFI Testing Method)'''
+
[[File:RSB-3810-I2C.png|RTENOTITLE]]
<pre>Command&nbsp;:  
 
  
#killall wpa_supplicant
+
Step 2: I2c set and get
# ifconfig wlan0 up
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # i2cdetect -y -a 4</div>
# wpa_passphrase "SSID" "PASSWORD" > /tmp/wpa.conf
+
&nbsp;
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
 
# udhcpc -b -i wlan0
 
  
ping 8.8.8.8
+
=== '''USB:&nbsp;USB disk test (USB 2.0/ USB 3.2 Gen 1 By 1 port)''' ===
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 
64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms
 
64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre>
 
  
 +
Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port or USB 3.2 Gen 1 port to check if the USB device is listed.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># lsusb -t</div>
 +
Step 2: Test (eg. if usb disk is /dev/sda)
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div>
 
&nbsp;
 
&nbsp;
  
=== '''4G使用方法(4G Testing Method)''' ===
 
<pre>Command:
 
Test 4G: (EWM-C117FL06E - USB)
 
      Step 1: Connect EWM-C117FL06E to Mini PCIE slot on 9680015491 and connect
 
                  the card to CN6 PCIe_D slot on ROM-DB5901.
 
      Step 2: Connect the antenna 1750007990-01 to the SMA (F) connector on
 
                  9680015491 and connect the IPEX connector to MT1 on EWM-C117FL06E module.
 
      Step 3: Connect the Mini USB cable from 9680015491 to USB 2.0 Type A port on
 
                  ROM-DB5901.
 
      Step 4: Power on and execute the pppd command to connect to the network.</pre>
 
  
=== '''GPIO使用方法(GPIO Operating Method)''' ===
+
=== '''RTC使用方法(RTC Test Method):''' ===
 +
 
 +
Step 1: Set system time to current, then write to RTC
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ #&nbsp;date 041610362025 && hwclock -w && date</div>
 +
Step 2: Set one incorrect time, then read time from RTC to verify
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ #&nbsp;date 113009362023 && hwclock -r</div>
 +
Step 3: Restore the RTC time to system time
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ #&nbsp;date && hwclock –s</div>
 +
Step 4:&nbsp;Check the system and RTC time
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">console:/ # date && hwclock -r</div>
 +
 
 +
=== '''eMMC/SD/SPI flash使用方法(eMMC/SD/SPI flash Testing Method):''' ===
  
'''[[File:ROM-5720 GPIO 2021-10-14 171832.jpg|RTENOTITLE]]'''
+
eMMC: /dev/mmcblk2<br/> SD: /dev/ mmcblk1p1
<pre>Loop-back Test (Take GPIO4 and GPIO5 as examples)
 
  
Step 1: Connect GPIO4 and GPIO5
+
Test (eg. emmc)<br/> Step 1: Open Android Setting.<br/> Step 2: Click Storage
Step 2: Export GPIO interface
 
  
root@imx8mqrom5720a1&nbsp;: ~# echo 0 > /sys/class/gpio/export
+
&nbsp;
root@imx8mqrom5720a1&nbsp;: ~# echo 132 > /sys/class/gpio/export
 
  
Step 3: Set direction
+
=== '''Ethernet使用方法(Ethernet Testing Method):''' ===
  
root@imx8qxprom5720a1&nbsp;: ~# echo out > /sys/class/gpio/gpio1/direction
+
Step 1: Check the Ethernet device
root@imx8qxprom5720a1&nbsp;: ~# echo in > /sys/class/gpio/gpio2/direction
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ifconfig</div>
 +
Step 2: Connect the cable and ping test (eg. Eth0)
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ping 8.8.8.8</div>
 +
[[File:ROM-3810-LAN0.png|RTENOTITLE]][[File:ROM-3810-LAN1.png|RTENOTITLE]]
  
Step 4: Read value and set output value then check
+
=== '''GPIO使用方法(GPIO Testing Method):''' ===
  
root@imx8mqrom5720a1&nbsp;: ~# cat /sys/class/gpio/gpio2/value
+
*'''GPIO Pins:'''
1
 
root@imx8mqrom5720a1&nbsp;: ~# echo 0 > /sys/class/gpio/gpio1/value
 
root@imx8mqrom5720a1&nbsp;: ~# cat /sys/class/gpio/gpio2/value
 
0</pre>
 
  
&nbsp;
+
UIO Extension 1(UIO1):
  
&nbsp;
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| Pin
 +
| Numbers
 +
|-
 +
| GPIO2
 +
| 315
 +
|-
 +
| GPIO4
 +
| 316
 +
|}
  
&nbsp;
+
UIO Extension2 (UIO2):
  
'''串口使用方法(Serial Port Operating Method)'''
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| Pin
 +
| Numbers
 +
|-
 +
| GPIO5
 +
| 317
 +
|-
 +
| GPIO6
 +
| 318
 +
|-
 +
| GPIO7
 +
| 319
 +
|-
 +
| GPIO8
 +
| 320
 +
|-
 +
| GPIO9
 +
| 321
 +
|-
 +
| GPIO10
 +
| 322
 +
|-
 +
| GPIO11
 +
| 323 or 408
 +
|-
 +
| GPIO12
 +
| 324 or 409
 +
|}
  
RS-232 Test
+
*'''GPIO Loopback Test (Using GPIO2 and GPIO4 as examples):'''
  
COM0: CN15A:上(SER0/UART3): /dev/ttymxc2
+
Step 1: Connect GPIO2 and GPIO4<br/> Step 2: Export GPIO interface
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 315 > /sys/class/gpio/export<br/> # echo 316 > /sys/class/gpio/export</div>
 +
Step 3: Set GPIO direction
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo out > /sys/class/gpio/gpio1/direction<br/> # echo in > /sys/class/gpio/gpio2/direction</div>
 +
Step 4: Read value and set output value than check
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /sys/class/gpio/gpio2/value 0<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value<br/> 1</div>
 +
&nbsp;
  
COM2: CN15B:下(SER2/UART2): /dev/ttymxc1
+
=== '''Watchdog使用方法(Watchdog Testing Method):''' ===
  
COM3: (A53 debug/SER3/UART1): /dev/ttymxc0
+
*'''Internal Watchdog:'''
  
COM1: (M4 debug/SER1/UART4): /dev/ttymxc3
+
Step 1: System will reboot after 60 sec. androidboot.bootreason=HW_reboot
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stop watchdogd</div>
 +
Step 2: System will reboot after 60 sec. androidboot.bootreason=HW_reboot
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stop watchdogd && echo 1 > /dev/watchdog</div>
 +
Step 3: System will reboot after 3 sec. androidboot.bootreason=reboot
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># reboot</div>
 +
Step 4: System will reboot after 1 sec. androidboot.bootreason=kernel_panic
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo c > /proc/sysrq-trigger</div>
 +
*'''External Watchdog:'''
  
Loopback test (eg. ttymxc1)<br/> Before loopback test, we should connect tx and rx
+
Step 1: System will reboot after 60 sec. androidboot.bootreason=usb
<pre style="border:1px solid #cccccc; padding:5px 10px"><span style="background:#eeeeee">stty -F /dev/ttymxc1 115200
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 1 > /dev/watchdog1</div>
 +
Step 2: System will not reboot. Watchdog can be refreshed when feed dog before it timeout.<br/> Step 3: System will reboot after 10 sec ==> Watchdog does not refresh after it time- out.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0</div>
 +
androidboot.bootreason=usb
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ext_wdt_driver_test 10 1 0 && Ctrl + C</div>
  
stty -F /dev/ttymxc1&nbsp;?echo
+
=== '''Camera(Default MIPI-CSI0 and MIPI-CSI1 are for Sony IMX214):''' ===
  
cat /dev/ttymxc1 &
+
MIPI-CSI0 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
echo test > /dev/ttymxc1</span></pre>
+
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
  
=== '''蓝牙使用方法(BlueTooth Operating Method)''' ===<br/> Command&nbsp;:
+
MIPI-CSI1 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
$ hciconfig hci0 up<br/> $ bluetoothctl<br/> $ discoverable on<br/> $ pairable on<br/> $ scan on<br/> [NEW] FC:18:3C:8D:75:F4 myphone<br/> $ scan off<br/> $ pair FC:18:3C:8D:75:F4<br/> $ connect FC:18:3C:8D:75:F4</pre>
+
Step 1: Use Android camera app to test&nbsp;<br/> Step 2: Take pictures<br/> Step 3: Video recording&nbsp;<br/> Step 4: Check photo
  
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
+
MIPI-CSI2 (Tested with IMX214&nbsp;+ mini-SAS to MIPI-CSI Cable)
  
'''查看主板IP位址 ( Chech IP Address ):'''​<br/> Command&nbsp;: ifconfig
+
Step 1: Remove the CSI-0 and CSI-1 camera first<br/> Step 2: Use Android camera app to test<br/> Step 3: Take pictures<br/> Step 4: Video recording<br/> Step 5: Check photo
  
 
&nbsp;
 
&nbsp;
  
==== Windows下SSH访问及文件传输 ====
+
=== '''TPM測試方法(TPM Testing Method):''' ===
  
SSH Remote Log into Device
+
Please use tpm_test.bin to test.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># eltt2 -cgv</div>
 +
[[File:RSB-3810-TPM.png|RTENOTITLE]]
  
*SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件)<br/> *需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码
+
=== '''LED ON/OFF 使用方法(LED ONOFF Testing Method):''' ===
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">LED Status: Detect gpio signal LED ON: echo 255 ><br/> /sys/class/leds/user/brightness LED OFF: echo 0 ><br/> /sys/class/leds/user/brightness</div>
 +
&nbsp;
  
 
&nbsp;
 
&nbsp;
Line 450: Line 467:
 
&nbsp;
 
&nbsp;
  
== '''通用方法(General Method)''' ==
+
=== '''UIO-4030使用方法(UIO-4030 Testing Method):''' ===
 +
 
 +
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| style="width: 75px;" | UART(COM_3)
 +
| style="width: 702px;" | # stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Port Test" > /dev/ttyS3<br/> or<br/> #microcom -s 921600 -X /dev/ttyS3
 +
|-
 +
| 2
 +
| style="width: 75px;" | GPIO
 +
| style="width: 702px;" |
 +
4 DI & 4 DO Pins (UIO Extension_UIO2)<br/> input pin#5: gpio 317&nbsp;<br/> output pin#6: gpio 318&nbsp;<br/> input pin#7: gpio 319<br/> output pin#8: gpio 320<br/> input pin#9: gpio 321<br/> output pin#10: gpio 322<br/> input pin#11: gpio 323<br/> output pin#12: gpio 324
  
=== '''查看CPU温度(Check CPU Temperature)''' ===<br/> root@imx8qxprom5720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 44600
+
(Note: gpio 323 & gpio 324 need to set the gpio 345 to high)
  
#或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 45°</pre>  
+
|-
 +
| 3
 +
| style="width: 75px;" | RS-485(COM_4)
 +
| style="width: 702px;" | Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin<br/> Data+ connect to UIO-4030 COM_4 Pin 1 and Pin 2.<br/> # stty -F /dev/ttyUSB0 speed 115200 ignbrk -brkint -icrnl - imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyUSB0 &<br/> # echo "Serial Test" > /dev/ttyUSB0
 +
|-
 +
| 4
 +
| style="width: 75px;" | EEPROM
 +
| style="width: 702px;" | # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
=== '''查看CPU频率(Check CPU Frequency)''' ===<br/> cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq<br/> >> 900000<br/> cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq<br/> >> 1200000
+
=== '''UIO-4032使用方法(UIO-4032 Testing Method):''' ===
  
=== '''查看内存容量(Check Memory Capacity)''' ===<br/> root@imx8qxprom5720a1:/# busybox free -m<br/> total used free shared buffers cached<br/> Mem: 1794920 516080 1278840 17252 9852 80292<br/> -/+ buffers/cache: 425936 1368984<br/> Swap: 0 0 0
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| colspan="1" rowspan="2" | 1
 +
| colspan="1" rowspan="2" |
 +
UART
  
=== '''查看存储容量(Check Storage Capacity)''' ===<br/> root@imx8qxprom5720a1:/# busybox df -h<br/> Filesystem Size Used Available Use% Mounted on<br/> /dev/root 13.4G 1.7G 11.1G 13% /<br/> devtmpfs 395.8M 4.0K 395.8M 0% /dev<br/> tmpfs 876.4M 0 876.4M 0% /dev/shm<br/> tmpfs 876.4M 16.5M 859.9M 2% /run<br/> tmpfs 876.4M 0 876.4M 0% /sys/fs/cgroup<br/> tmpfs 876.4M 4.0K 876.4M 0% /tmp<br/> tmpfs 876.4M 280.0K 876.2M 0% /var/volatile<br/> /dev/mmcblk0p2 13.6G 1.7G 11.3G 13% /run/media/mmcblk0p2<br/> /dev/mmcblk0p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk0p1<br/> /dev/mmcblk1p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk1p1<br/> tmpfs 175.3M 88.0K 175.2M 0% /run/user/0<br/> root@imx8qxprom5720a1:/#
+
COM_3:ttyS3
  
=== '''網路Ping測試(Ping Network Testing)''' ===<br/> ping 8.8.8.8<br/> PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.<br/> 64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms<br/> 64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre>
+
COM_4:ttyS1
  
=== '''設置RTC (RTC Setting) ''' ===<br/> root@imx8qxprom5720a1:/# systemctl stop ntpdate.service<br/> root@imx8qxprom5720a1:/# date 090816072021 && hwclock -w && date<br/> Wed Sep 8 16:07:00 UTC 2021<br/> Wed Sep 8 16:07:00 UTC 2021<br/> root@imx8qxprom5720a1:/# date<br/> Wed Sep 8 16:07:06 UTC 2021<br/> root@imx8qxprom5720a1:/#
+
| # stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> # cat /dev/ttyS3 &<br/> # echo "Serial Port Test" > /dev/ttyS3 or<br/> # microcom -s 921600 -X /dev/ttyS3 # cat /dev/ttyS3 &
 +
|-
 +
| # stty -F /dev/ttyS1 -echo -onlcr 921600 raw # cat /dev/ttyS1 &<br/> # echo "Serial Port Test" > /dev/ttyS1<br/> or<br/> # microcom -s 921600 -X /dev/ttyS1
 +
|-
 +
| 2
 +
| USB
 +
| USB disk write/read/verify pattern
 +
|-
 +
| 3
 +
| Ethernet
 +
| # ifconfig<br/> # ping 8.8.8.8
 +
|-
 +
| 4
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
=== Mic錄音 (Mic record) ===
+
&nbsp;
  
#amixer set Mic 20%
+
=== '''UIO-4034使用方法(UIO-4034 Testing Method):''' ===
  
#arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| colspan="1" rowspan="2" | 1
 +
| colspan="1" rowspan="2" |
 +
UART
  
#aplay ./f-16000.wav
+
COM_3:ttyS3
  
=== PCIe裝置移除與rescan ===
+
COM_4:ttyS1
  
root@imx8qxprom5720a1:/# echo "1" > /sys/bus/pci/devices/0000\:01\:00.0/remove --eth1 will be remove (check with ifconfig)
+
| $ stty -F /dev/ttyS3 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS3 &<br/> $ echo "Serial Port Test" > /dev/ttyS3<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS3
 +
|-
 +
| $ stty -F /dev/ttyS1 -echo -onlcr 921600 raw<br/> $ cat /dev/ttyS1 &<br/> $ echo "Serial Port Test" > /dev/ttyS1<br/> or<br/> $ microcom -s 921600 -X /dev/ttyS1
 +
|-
 +
| 2
 +
| CAN Bus
 +
|
 +
#ip link set can0 up type can bitrate 125000<br/> # ifconfig can0 up<br/> # ip link set can1 up type can bitrate 125000<br/> # ifconfig can1 up
  
root@imx8qxprom5720a1:/# echo "1" > /sys/bus/pci/rescan --eth1 will back after run this command.
+
#candump can0 &<br/> # cansend can1 1F334455#1122334455667788
  
&nbsp;
+
|-
 +
| 3
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
== '''Linux BSP編譯方法(Linux BSP Compile Method)''' ==
+
=== '''UIO-4036使用方法(UIO-4036 Testing Method):''' ===
  
=== &nbsp; ===
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| LAN Switch
 +
| # ifconfig<br/> # ping 8.8.8.8
 +
|-
 +
| 2
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
'''如果有驗證上的錯誤 請使用以下的方法'''
+
=== '''UIO-4038使用方法(UIO-4038 Testing Method):''' ===
  
<u>'''### repo sync failed with Server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none<br/> ============================================================<br/> export GIT_SSL_NO_VERIFY=1<br/> #or<br/> git config --global http.sslverify false<br/> ============================================================'''</u>
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| LAN0(WAN)
 +
| # ifconfig
 +
|-
 +
| 2
 +
| LAN
 +
| # ping 192.168.100.1
 +
|-
 +
| 3
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 +
|}
  
 
&nbsp;
 
&nbsp;
  
{| style="width:100%; border:undefined"
+
=== '''UIO-4040使用方法(UIO-4040 Testing Method):''' ===
 +
 
 +
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| 1
 +
| SSD
 +
|
 +
#SSD disk write/read/verify pattern
 +
 
 +
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors<br/> Disk model: UIO-4040<br/> Units: sectors of 1 * 512 = 512 bytes<br/> Sector size (logical/physical): 512 bytes / 512 bytes<br/> I/O size (minimum/optimal): 512 bytes / 512 bytes
 +
 
 
|-
 
|-
| <iframe height="230" key="advonline" level="campaign" path="en/aim-linux_community/" width="100%"></iframe>
+
| 2
 +
| EEPROM
 +
| # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1<br/> # dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom<br/> # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync
 
|}
 
|}
 +
 +
 +
== '''通用方法(General Method)''' ==
 +
 +
=== '''ADB debug:''' ===
 +
 +
Step1&nbsp;:RSB-3810 Device setting
 +
<pre>console:/ $ su
 +
console:/ # setprop service.adb.tcp.port 5555
 +
console:/ # stop adbd
 +
console:/ # start adbd
 +
console:/ # ifconfig</pre>
 +
 +
Step2&nbsp;: adb platform-tools
 +
<pre>D:\platform-tools>ping 172.22.28.102
 +
D:\platform-tools>adb connect 172.22.28.102:5555
 +
D:\platform-tools>adb root
 +
D:\platform-tools>adb shell</pre>
 +
 +
=== 讀取溫度(Read Thermal): ===
 +
 +
&nbsp;
 +
 +
== '''Android11 BSP編譯方法(Android11&nbsp;BSP Compile Method)''' ==
 +
 +
=== [http://ess-wiki.advantech.com.tw/view/Android_BSP_User_Guide_for_mt8395_series_11.0 Android BSP User Guide for mt8395 series 11.0 - ESS-WIKI (advantech.com.tw)] ===

Latest revision as of 02:59, 7 May 2025

Contents

產品介紹(Product introduction )

產品特性(Product Features)

  • MediaTek Genio 1200 4核心A78和4核心A55
  • 內建LPDDR4 8GB,4000MT/s記憶體
  • HDMI 4k60fps,1 x 雙通道24位元LVDS
  • 1 x 4線RS-232/422/485,2 x USB3.2 Gen1 By 1,2 x USB2.0,1 x Micro SD,1 x Mic. in / Line out
  • 1 x M.2 3052 Key B for 5G,1 x M.2 2230 Key E Slot for WiFi/BT
  • 支援UIO40-Express I/O板擴充
  • 支援Ubuntu、Ycoto Linux和Android

 

產品官網連結(Product official website link)

RSB-3810

 

硬件接口說明(Hardware interface introduction)

接口布局和尺寸(Layout and Sizes)

RSB-3810 接口布局圖 Board Dimension Layout

RTENOTITLE

RTENOTITLE

Jumper list:

BL0 Backlight Power Select for LVDS0 (Default 5V)
VDD0 LVDS VDD (Default 3.3V)

 

Connectot list:

BAT RTC Battery CONN
BL0 LVDS Backlight
COM1 Debug Console + RS232/RS485
CSI0 MIPI-CSI Camera Input 0
CSI1 MIPI-CSI Camera Input 1
CSI2 MIPI-CSI Camera Input 2
DCIN/DCIN1 12V DC Power Input by DC Jack/ by Pin Header
HDMI HDMI CONN
LVDS0 LVDS Channel 0 CONN
LVDS1 LVDS Channel 1 CONN
M2 M.2 Key E CONN
MIC MIC In Pin Header
M2B M.2 Key B CONN
RST Reset Button
SD SD Slot
SIM SIM Slot
UIO1 UIO40-Express Pin Header 1
UIO2 UIO40-Express Pin Header 2
USB1 USB CONN. (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)
DL_KEY Download Key

 

接口引脚定義 (Pin definitions)

机械尺寸 (Mechanical Characteristics)

RTENOTITLE

 

 


快速入门 (Quick Start)

系统下载 (OS Download)

Android 11 OS download

 

Debug port 連接與設定(Debug Port Connection and Setting)

1. RSB-3810 debug port is shared with COM1. Please connect the debug console cable 1700034345-01 & 1700019474. Then connect the USB-to-RS232 Cable to your PC terminal. Connect the cable to COM1 pin header to the nearby the HDMI connector.

RTENOTITLE

2. RSB-3810 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in such applications. The example demonstrated below describes the serial terminal setup using Tera Term on a Windows host: Open Tera Term on your Windows PC, set the Baud rate to 921600.

 


燒錄方法 (Flash eMMC Method)

Step1: 下載MTK燒錄工具SP Flash Tool V5 (Download MTK flash tool "SP Flash Tool V5")

支援作業系統(Support OS):

  • Windows 7
  • Windows 10
  • Ubuntu 16.x
  • Ubuntu 18.x

Step2:使用USB Type-A to Type-A線連接電腦處機與裝置的USB Type-A孔位, 如下圖位置(Connect the usb type A to host computer and device type A port)

2022-11-25 173838.jpg

Step3: 重BSP下載以下image檔案或是解壓縮image檔(You need to download the image files from BSP as below or extract from image file.)

BSP image File path:out/target/product/mt8395_rsb3810a1

MT8195_Android_scatter.txt
preloader_mt8395_rsb3810a1.bin
vbmeta.img
vbmeta_system.img
vbmeta_vendor.img
spmfw.img
pi_img.img
dpm.img
scp.img
sspm.img
mcupm.img
cam_vpu1.img 
cam_vpu2.img 
cam_vpu3.img
lk.img 
boot.img
dtbo.img
tee.img
logo.bin
super.img
userdata.img

Step 4: 執行SP flash tool V5 燒錄工具(Launch SP flash tool V5)

RTENOTITLE

(1) 選擇MT8195_Android_scatter.txt檔(Select the MT8195_Android_scatter.txt file)

(2)選擇"Format ALL + Download"(Select theFormat All + Download)

(3)點選Download按鈕(Click the Download button)

2022-11-25 174501.jpg

Step 5 . 重新啟動裝置後系統會自己開始燒錄(Reboot the device and start to burn all image)

RSB-3810-flash OK.png

Step 6. 重新上電開機 (Turn on the power, then check the Debug message)

 

Android系统的基本使用(Android System Basic Operating Method)

Display Setting (RSB-3810)

HDMI TX:

Step 1: Setting-->Storage

Step 2: Play a video

CHeck HDMI mode and support resolution:

# cat /sys/class/graphics/fb0/modes
# cat /sys/class/drm/card0-HDMI-A-1/status
# cat /sys/class/drm/card0-HDMI-A-1/modes

HDMI RX:

(1) Connect a play video host PC device

(2) connect HDMI from PC to RSB-3810

RTENOTITLE

(3) setenforce 0

(4) open the RxVideo apk

RTENOTITLE

(5) Play a video on host PC

(6) check the video and sound can output to HDMI monitor

LVDS: Dual Channel LVDS Panel: G215HVN0 (VDD: 5V, Backlight Power: 12V)
Step 1: Connect 96LEDK-A215FH30NF2 LVDS panel with the LVDS cable. Connect this to the LVDS. Connect the Backlight cable to BL1.

Step 2: Connect another 12V adapter to the DC-Jack on the backlight cable.

Step 3: Power on RSB-3810 and the extra 12V adapter.

Step 4: Press enter after boot. The system will stop at u-boot as demonstrated below, enter the command in red and press enter

RTENOTITLE

Audio使用方法(Audio Testing Method):

Step 1: Check audio codec

console:/ # cat /proc/asound/cards
 0 [mt63xxaccdet   ]: mt63xx-accdet - mt63xx-accdet
                      mt63xx-accdet
 1 [mt8195sound    ]: mt8195-sound - mt8195-sound
                      mt8195-sound

Step 2: Record and playback:

Play audio file and check the sound output from Linu-out. Copy LRMonoPhase4.wav to the system
stop audioserver

# tinymix -D 1 'O176 I000 Switch' 1
# tinymix -D 1 'O177 I001 Switch' 1
# tinymix -D 1 'DAC In Mux' 'Normal Path'
# tinymix -D 1 'HP Mux' 'Audio Playback'
# tinyplay /storage/self/primary/LRMonoPhase4.wav -D 1 -d 2 -p 1024 -n 2

Connect Audio output from phone to RSB-3810 MIC. Record audio from phone and play the recorded file to check the sound.
stop audioserver

# tinymix -D 1 'O040 I168 Switch' 1
# tinymix -D 1 'O041 I169 Switch' 1
# tinymix -D 1 'MISO0_MUX' UL1_CH1
# tinymix -D 1 'MISO1_MUX' UL1_CH1
# tinymix -D 1 'ADC_L_Mux' 'Left Preamplifier'
# tinymix -D 1 'PGA_L_Mux' 'AIN1'
# tinycap /data/rec.wav -D 1 -d 8 -r 48000 -c 2 -b 32 -T 10
# tinyplay /data/rec.wav -D 1 -d 2 -p 1024 -n 2

 

M.2使用方法EWM-W174(M.2 Testing Method with EWM-W174): 

  • Test Wi-Fi with EWM-W174M201E Module (PCIe Interface)

Step 1: Open Android Setting.
Step 2: Click Network & internet.
Step 3: Search for WIFI

RSB-3810-M.2 M174.png

  • Test Bluetooth with EWM-W174M201E Module (USB Interface)

Step 1: Open Android Setting.
Step 2: Click Connected devices.
Step 3: Click Connection preferences.
Step 4: Click Bluetooth.
Step 5: On and Pair new device
Step 6: Available devices

Serial port使用方法(Serial port Testing Method):

  • RS-232 Loopback Test (eg. ttyS3):
# stty -F /dev/ttyS3 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke
# cat /dev/ttyS3 &
# echo "Serial Test" > /dev/ttyS3
  • RS-422 Test:

Step 1: First change the debug console port to UART2 (UIO-4030COM_3), or use telnet to login to the system console to issue the command for the com port test.
Step 2: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:
Adam-4520 RX- <--> RSB-3810 COM1 DB9 Pin 1, 
Adam-4520 RX+ <--> RSB-3810 COM1 DB9 Pin 2,
Adam-4520 TX- <--> RSB-3810 COM1 DB9 Pin 4,
Adam-4520 TX+ <--> RSB-3810 COM1 DB9 Pin 3,

Step 3: Set GPIO#328, GPIO#327 Set to 1,1

# echo 328 > /sys/class/gpio/export
# echo 327 > /sys/class/gpio/export# echo out
# out > /sys/class/ gpio/gpio328/direction
# echo out > /sys/class/gpio/gpio327/direction
# echo 1 > /sys/class/gpio/gpio328/value
# echo 1 > /sys/class/gpio/gpio327/value

Step 4: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following command:

# stty -F /dev/ttyS2 speed 115200 ignbrk -brkint -icrnl -imaxbel - opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl - echoke
# cat /dev/ttyS2 &
# echo "Serial Test" > /dev/ttyS2
  • RS-485 Test:

Step 1: Test RS-485 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following:
Adam-4520 Pin 1: Data- connect to DB9 Pin 1: COM_DCD.
Adam-4520 Pin 2: Data+ connect to DB9 Pin 3: COM_RXD.

Step 2: Set GPIO#328, GPIO#327 Set to 0,1

# echo 328 > /sys/class/gpio/export
# echo 327 > /sys/class/gpio/export# echo out
# out > /sys/class/ gpio/gpio328/direction
# echo out > /sys/class/gpio/gpio327/direction
# echo 0 > /sys/class/gpio/gpio328/value
# echo 1 > /sys/class/gpio/gpio327/value

Step 3: Test RS-422 with Adam-4520. Connect Adam-4520 with COM1 with 1700100250 DB9 as the following command:

$ stty -F /dev/ttyS2 -echo -onlcr 921600 raw
$ cat /dev/ttyS2 &
$ echo "Serial Port Test" > /dev/ttyS2
or
$ microcom -s 921600 -X /dev/ttyS2

I2C使用方法(I2C Test Method):

Step 1: Check i2c device

RTENOTITLE

Step 2: I2c set and get

console:/ # i2cdetect -y -a 4

 

USB: USB disk test (USB 2.0/ USB 3.2 Gen 1 By 1 port)

Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port or USB 3.2 Gen 1 port to check if the USB device is listed.

# lsusb -t

Step 2: Test (eg. if usb disk is /dev/sda)

# dd if=/dev/urandom of=data bs=1 count=1024
# dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096
# dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1
# dd if=backup of=/dev/sda bs=1 seek=4096

 


RTC使用方法(RTC Test Method):

Step 1: Set system time to current, then write to RTC

console:/ # date 041610362025 && hwclock -w && date

Step 2: Set one incorrect time, then read time from RTC to verify

console:/ # date 113009362023 && hwclock -r

Step 3: Restore the RTC time to system time

console:/ # date && hwclock –s

Step 4: Check the system and RTC time

console:/ # date && hwclock -r

eMMC/SD/SPI flash使用方法(eMMC/SD/SPI flash Testing Method):

eMMC: /dev/mmcblk2
SD: /dev/ mmcblk1p1

Test (eg. emmc)
Step 1: Open Android Setting.
Step 2: Click Storage

 

Ethernet使用方法(Ethernet Testing Method):

Step 1: Check the Ethernet device

# ifconfig

Step 2: Connect the cable and ping test (eg. Eth0)

# ping 8.8.8.8

RTENOTITLERTENOTITLE

GPIO使用方法(GPIO Testing Method):

  • GPIO Pins:

UIO Extension 1(UIO1):

Pin Numbers
GPIO2 315
GPIO4 316

UIO Extension2 (UIO2):

Pin Numbers
GPIO5 317
GPIO6 318
GPIO7 319
GPIO8 320
GPIO9 321
GPIO10 322
GPIO11 323 or 408
GPIO12 324 or 409
  • GPIO Loopback Test (Using GPIO2 and GPIO4 as examples):

Step 1: Connect GPIO2 and GPIO4
Step 2: Export GPIO interface

# echo 315 > /sys/class/gpio/export
# echo 316 > /sys/class/gpio/export

Step 3: Set GPIO direction

# echo out > /sys/class/gpio/gpio1/direction
# echo in > /sys/class/gpio/gpio2/direction

Step 4: Read value and set output value than check

# cat /sys/class/gpio/gpio2/value 0
# echo 1 > /sys/class/gpio/gpio1/value
# cat /sys/class/gpio/gpio2/value
1

 

Watchdog使用方法(Watchdog Testing Method):

  • Internal Watchdog:

Step 1: System will reboot after 60 sec. androidboot.bootreason=HW_reboot

# stop watchdogd

Step 2: System will reboot after 60 sec. androidboot.bootreason=HW_reboot

# stop watchdogd && echo 1 > /dev/watchdog

Step 3: System will reboot after 3 sec. androidboot.bootreason=reboot

# reboot

Step 4: System will reboot after 1 sec. androidboot.bootreason=kernel_panic

# echo c > /proc/sysrq-trigger
  • External Watchdog:

Step 1: System will reboot after 60 sec. androidboot.bootreason=usb

# echo 1 > /dev/watchdog1

Step 2: System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
Step 3: System will reboot after 10 sec ==> Watchdog does not refresh after it time- out.

# ext_wdt_driver_test 10 1 0

androidboot.bootreason=usb

# ext_wdt_driver_test 10 1 0 && Ctrl + C

Camera(Default MIPI-CSI0 and MIPI-CSI1 are for Sony IMX214):

MIPI-CSI0 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Use Android camera app to test 
Step 2: Take pictures
Step 3: Video recording 
Step 4: Check photo

MIPI-CSI1 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Use Android camera app to test 
Step 2: Take pictures
Step 3: Video recording 
Step 4: Check photo

MIPI-CSI2 (Tested with IMX214 + mini-SAS to MIPI-CSI Cable)

Step 1: Remove the CSI-0 and CSI-1 camera first
Step 2: Use Android camera app to test
Step 3: Take pictures
Step 4: Video recording
Step 5: Check photo

 

TPM測試方法(TPM Testing Method):

Please use tpm_test.bin to test.

# eltt2 -cgv

RTENOTITLE

LED ON/OFF 使用方法(LED ONOFF Testing Method):

LED Status: Detect gpio signal LED ON: echo 255 >
/sys/class/leds/user/brightness LED OFF: echo 0 >
/sys/class/leds/user/brightness

 

 

 

UIO-4030使用方法(UIO-4030 Testing Method):

1 UART(COM_3) # stty -F /dev/ttyS3 -echo -onlcr 921600 raw
# cat /dev/ttyS3 &
# echo "Serial Port Test" > /dev/ttyS3
or
#microcom -s 921600 -X /dev/ttyS3
2 GPIO

4 DI & 4 DO Pins (UIO Extension_UIO2)
input pin#5: gpio 317 
output pin#6: gpio 318 
input pin#7: gpio 319
output pin#8: gpio 320
input pin#9: gpio 321
output pin#10: gpio 322
input pin#11: gpio 323
output pin#12: gpio 324

(Note: gpio 323 & gpio 324 need to set the gpio 345 to high)

3 RS-485(COM_4) Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin
Data+ connect to UIO-4030 COM_4 Pin 1 and Pin 2.
# stty -F /dev/ttyUSB0 speed 115200 ignbrk -brkint -icrnl - imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyUSB0 &
# echo "Serial Test" > /dev/ttyUSB0
4 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom # dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4032使用方法(UIO-4032 Testing Method):

1

UART

COM_3:ttyS3

COM_4:ttyS1

# stty -F /dev/ttyS3 -echo -onlcr 921600 raw
# cat /dev/ttyS3 &
# echo "Serial Port Test" > /dev/ttyS3 or
# microcom -s 921600 -X /dev/ttyS3 # cat /dev/ttyS3 &
# stty -F /dev/ttyS1 -echo -onlcr 921600 raw # cat /dev/ttyS1 &
# echo "Serial Port Test" > /dev/ttyS1
or
# microcom -s 921600 -X /dev/ttyS1
2 USB USB disk write/read/verify pattern
3 Ethernet # ifconfig
# ping 8.8.8.8
4 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

 

UIO-4034使用方法(UIO-4034 Testing Method):

1

UART

COM_3:ttyS3

COM_4:ttyS1

$ stty -F /dev/ttyS3 -echo -onlcr 921600 raw
$ cat /dev/ttyS3 &
$ echo "Serial Port Test" > /dev/ttyS3
or
$ microcom -s 921600 -X /dev/ttyS3
$ stty -F /dev/ttyS1 -echo -onlcr 921600 raw
$ cat /dev/ttyS1 &
$ echo "Serial Port Test" > /dev/ttyS1
or
$ microcom -s 921600 -X /dev/ttyS1
2 CAN Bus
  1. ip link set can0 up type can bitrate 125000
    # ifconfig can0 up
    # ip link set can1 up type can bitrate 125000
    # ifconfig can1 up
  1. candump can0 &
    # cansend can1 1F334455#1122334455667788
3 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4036使用方法(UIO-4036 Testing Method):

1 LAN Switch # ifconfig
# ping 8.8.8.8
2 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

UIO-4038使用方法(UIO-4038 Testing Method):

1 LAN0(WAN) # ifconfig
2 LAN # ping 192.168.100.1
3 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync

 

UIO-4040使用方法(UIO-4040 Testing Method):

1 SSD
  1. SSD disk write/read/verify pattern

Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
Disk model: UIO-4040
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2 EEPROM # echo -n $'\x06\x05\x04\x03\x02\x01' > /data/test1
# dd if=/data/test1 of=/sys/bus/i2c/devices/3-0050/eeprom
# dd if=/sys/bus/i2c/devices/3-0050/eeprom of=/data/test2 conv=fsync


通用方法(General Method)

ADB debug:

Step1 :RSB-3810 Device setting

console:/ $ su
console:/ # setprop service.adb.tcp.port 5555
console:/ # stop adbd
console:/ # start adbd
console:/ # ifconfig

Step2 : adb platform-tools

D:\platform-tools>ping 172.22.28.102
D:\platform-tools>adb connect 172.22.28.102:5555
D:\platform-tools>adb root
D:\platform-tools>adb shell

讀取溫度(Read Thermal):

 

Android11 BSP編譯方法(Android11 BSP Compile Method)

Android BSP User Guide for mt8395 series 11.0 - ESS-WIKI (advantech.com.tw)