Difference between revisions of "ROM-3620 user guide"
Jems.cheng (talk | contribs) |
Jems.cheng (talk | contribs) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
= '''產品介紹(Product introduction)''' = | = '''產品介紹(Product introduction)''' = | ||
Line 15: | Line 12: | ||
*Low power consumption, fanless desgin | *Low power consumption, fanless desgin | ||
*Supports Linux and Android BSP | *Supports Linux and Android BSP | ||
− | |||
− | |||
== '''產品官網連結(Product Features)''' == | == '''產品官網連結(Product Features)''' == | ||
[https://www.advantech.com/en/products/69436ae1-5f45-4c24-bd86-ae44341adc07/rom-3620/mod_6e1958cc-fc44-4530-8136-ef18b5c7c538 ROM-3620] | [https://www.advantech.com/en/products/69436ae1-5f45-4c24-bd86-ae44341adc07/rom-3620/mod_6e1958cc-fc44-4530-8136-ef18b5c7c538 ROM-3620] | ||
− | |||
− | |||
− | |||
= '''硬件接口說明(Hardware interface introduction)''' = | = '''硬件接口說明(Hardware interface introduction)''' = | ||
Line 261: | Line 253: | ||
| style="width: 439px;" | B/B Conn. 50x2P 0.5mm 180D(M) SMDAXK500137YG | | style="width: 439px;" | B/B Conn. 50x2P 0.5mm 180D(M) SMDAXK500137YG | ||
|} | |} | ||
+ | |||
+ | | ||
== '''Rear I/O ''' == | == '''Rear I/O ''' == | ||
Line 304: | Line 298: | ||
| H | | H | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
== '''接口引脚定義 (Pin definitions)''' == | == '''接口引脚定義 (Pin definitions)''' == | ||
Line 341: | Line 331: | ||
[[File:ROM-3620-MS1.png|RTENOTITLE]][[File:ROM-3620-MS2.png|RTENOTITLE]] | [[File:ROM-3620-MS1.png|RTENOTITLE]][[File:ROM-3620-MS2.png|RTENOTITLE]] | ||
− | + | | |
= '''快速入门 (Quick Start)''' = | = '''快速入门 (Quick Start)''' = | ||
Line 396: | Line 386: | ||
---- | ---- | ||
− | + | | |
== '''Linux 燒錄方法 (Linux Flash eMMC Method)''' == | == '''Linux 燒錄方法 (Linux Flash eMMC Method)''' == | ||
Line 443: | Line 433: | ||
= '''Linux系统的基本使用(Linux System Basic Operating Method)''' = | = '''Linux系统的基本使用(Linux System Basic Operating Method)''' = | ||
− | |||
== '''Display Setting (ROM-3620)''' == | == '''Display Setting (ROM-3620)''' == | ||
Line 480: | Line 469: | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modetest -c</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modetest -c</div> | ||
[[File:ROM-3620-modetest.png|RTENOTITLE]]<br/> 3. Play colorbar of the specified resolution on HDMI. | [[File:ROM-3620-modetest.png|RTENOTITLE]]<br/> 3. Play colorbar of the specified resolution on HDMI. | ||
− | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modetest -s 56:1920x1080-60</div> | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modetest -s 56:1920x1080-60</div> |
− | + | | |
== '''Audio測試方法(Audio Testing Method):''' == | == '''Audio測試方法(Audio Testing Method):''' == | ||
Line 490: | Line 479: | ||
3. Record and playback. | 3. Record and playback. | ||
− | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># arecord -t wav -c 1 -r 44100 -d 5 /tmp/mic.wav<br/> # aplay /tmp/mic.wav</div> | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># arecord -t wav -c 1 -r 44100 -d 5 /tmp/mic.wav<br/> # aplay /tmp/mic.wav</div> |
− | + | | |
== '''4G使用方法(4G Testing Method)''' == | == '''4G使用方法(4G Testing Method)''' == | ||
Line 499: | Line 488: | ||
[[File:ROM-3620-4G.png|RTENOTITLE]] | [[File:ROM-3620-4G.png|RTENOTITLE]] | ||
+ | | ||
== '''WiFi使用方法(WIFI Testing Method)''' == | == '''WiFi使用方法(WIFI Testing Method)''' == | ||
Line 508: | Line 498: | ||
[[File:ROM-3620-WIFI Ping.png|RTENOTITLE]] | [[File:ROM-3620-WIFI Ping.png|RTENOTITLE]] | ||
+ | | ||
== '''串口使用方法(Serial Port Operating Method)''' == | == '''串口使用方法(Serial Port Operating Method)''' == | ||
Line 514: | Line 505: | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP1 -echo -onlcr 115200<br/> # cat /dev/ttyLP1 &<br/> # echo test > /dev/ttyLP1</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP1 -echo -onlcr 115200<br/> # cat /dev/ttyLP1 &<br/> # echo test > /dev/ttyLP1</div> | ||
B. RS-485 Test:<br/> UART1(COM01_UP)(ttyLP1): Change SW1801 jumper to switch modes. (SW1801: 2-on, 1,3,4-off)<br/> Test RS-485 with Adam-4520. | B. RS-485 Test:<br/> UART1(COM01_UP)(ttyLP1): Change SW1801 jumper to switch modes. (SW1801: 2-on, 1,3,4-off)<br/> Test RS-485 with Adam-4520. | ||
− | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ./enable485 /dev/ttyLP1<br/> # stty -F /dev/ttyLP1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP1 &<br/> # echo test > /dev/ttyLP1</div> | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ./enable485 /dev/ttyLP1<br/> # stty -F /dev/ttyLP1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP1 &<br/> # echo test > /dev/ttyLP1</div> |
− | + | | |
== '''I2C測試方法(I2C Testing Method)''' == | == '''I2C測試方法(I2C Testing Method)''' == | ||
Line 521: | Line 512: | ||
Check I2C Device (audio codec: 3-000a): | Check I2C Device (audio codec: 3-000a): | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># i2cdetect -y 1</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># i2cdetect -y 1</div> | ||
− | [[File:ROM-3620-I2C detect.png]] | + | [[File:ROM-3620-I2C detect.png|RTENOTITLE]] |
I2C set and get: | I2C set and get: | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># i2cset -f -y 1 0x0a 0 0xff00 w<br/> # i2cget -f -y 1 0x0a 0 w</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># i2cset -f -y 1 0x0a 0 0xff00 w<br/> # i2cget -f -y 1 0x0a 0 w</div> | ||
− | [[File:ROM-3620-I2C set.png]] | + | [[File:ROM-3620-I2C set.png|RTENOTITLE]] |
+ | | ||
== '''USB測試方法(USB Testing Method)''' == | == '''USB測試方法(USB Testing Method)''' == | ||
Line 532: | Line 524: | ||
USB (2.0/3.0) disk test<br/> After inserting the USB disk into 2.0 or 3.0 port: (Please note that with ROM-3620, USB3.0 port on ROM-DB3900 coastline can only recognize USB 3.0 devices. It can not recognize USB 2.0 only devices.) | USB (2.0/3.0) disk test<br/> After inserting the USB disk into 2.0 or 3.0 port: (Please note that with ROM-3620, USB3.0 port on ROM-DB3900 coastline can only recognize USB 3.0 devices. It can not recognize USB 2.0 only devices.) | ||
− | [[File:ROM-3620-USB.png]] | + | [[File:ROM-3620-USB.png|RTENOTITLE]] |
Test (eg. if USB disk is/dev/sda) | 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<br/> # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096<br/> # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div> | <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<br/> # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096<br/> # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div> | ||
+ | | ||
== '''RTC測試方法(RTC Testing Method)''' == | == '''RTC測試方法(RTC Testing Method)''' == | ||
Line 541: | Line 534: | ||
Disable rtc sync service: | Disable rtc sync service: | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl stop systemd-timesyncd<br/> # systemctl stop ntpdate.service</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl stop systemd-timesyncd<br/> # systemctl stop ntpdate.service</div> | ||
− | [[File:ROM-3620-RTC1.png]] | + | [[File:ROM-3620-RTC1.png|RTENOTITLE]] |
Set system time to current, then write to RTC: | Set system time to current, then write to RTC: | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># date 021710452022 && hwclock -w && date</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># date 021710452022 && hwclock -w && date</div> | ||
− | [[File:ROM-3620-RTC2.png]] | + | [[File:ROM-3620-RTC2.png|RTENOTITLE]] |
Set one incorrect time, then read time from RTC to verify: | Set one incorrect time, then read time from RTC to verify: | ||
− | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># date 010100002000 && hwclock -r && date</div> | |
− | # date 010100002000 && hwclock -r && date | + | [[File:ROM-3620-RTC3.png|RTENOTITLE]] |
− | |||
− | [[File:ROM-3620-RTC3.png]] | ||
Restore the RTC time to system time. | Restore the RTC time to system time. | ||
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># hwclock -s && date</div> | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># hwclock -s && date</div> | ||
− | [[File:ROM-3620-RTC4.png]] | + | [[File:ROM-3620-RTC4.png|RTENOTITLE]] |
− | + | | |
− | ''' | + | == '''eMMC/SD/SPI Flash測試方法(eMMC/SD/SPI Flash Testing Method)''' == |
− | + | eMMC: /dev/mmcblk0<br/> SD: /dev/mmcblk1<br/> QSPI1: /dev/mtd0<br/> SPI0_0: /dev/mtd1<br/> SPI0_1: /dev/mtd2<br/> SPI3_0: /dev/mtd3<br/> SPI3_1: /dev/mtd4 | |
− | + | Test command(eg. emmc): | |
+ | <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/mmcblk0 of=backup bs=1 count=1024 skip=4096<br/> # dd if=data of=/dev/mmcblk0 bs=1 seek=4096<br/> # dd if=/dev/mmcblk0 of=data1 bs=1 count=1024 skip=4096<br/> # diff data data1<br/> # dd if=backup of=/dev/mmcblk0 bs=1 seek=4096</div> | ||
+ | | ||
− | ''' | + | == '''乙太網路使用方法(Ethernent Testing Method)''' == |
− | = | + | Connect cable and use command : ifconfig |
− | < | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ifconfig</div> |
+ | [[File:ROM-3620-LAN1.png|RTENOTITLE]] | ||
− | + | Ping test (eg.eth1): | |
− | # | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ping - I eth1 8.8.8.8</div> |
− | # | + | [[File:ROM-3620-LAN2.png|RTENOTITLE]] |
− | # | ||
− | |||
− | + | | |
− | |||
− | |||
− | |||
− | |||
− | == ''' | + | == '''GPIO使用方法(GPIO Operating Method)''' == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {| border="1" cellpadding="1" cellspacing="1" style="width: 500px;" | |
+ | |- | ||
+ | | CPU Ball Name | ||
+ | | Pin# | ||
+ | | Number | ||
+ | |- | ||
+ | | SC_P_QSPI0B_DATA0_LSIO_GPIO3_IO18 | ||
+ | | GPIO0 | ||
+ | | 402 | ||
+ | |- | ||
+ | | SC_P_QSPI0B_DQS_LSIO_GPIO3_IO22 | ||
+ | | GPIO1 | ||
+ | | 406 | ||
+ | |- | ||
+ | | SC_P_QSPI0B_DATA1_LSIO_GPIO3_IO19 | ||
+ | | GPIO2 | ||
+ | | 403 | ||
+ | |- | ||
+ | | SC_P_CSI_PCLK_LSIO_GPIO3_IO00 | ||
+ | | GPIO3 | ||
+ | | 384 | ||
+ | |- | ||
+ | | SC_P_SPI2_SCK_LSIO_GPIO1_IO03 | ||
+ | | GPIO4 | ||
+ | | 451 | ||
+ | |- | ||
+ | | SC_P_SPI2_CS0_LSIO_GPIO1_IO00 | ||
+ | | GPIO5 | ||
+ | | 448 | ||
+ | |- | ||
+ | | SC_P_SPI2_SDO_LSIO_GPIO1_IO01 | ||
+ | | GPIO6 | ||
+ | | 449 | ||
+ | |- | ||
+ | | SC_P_SPI2_SDI_LSIO_GPIO1_IO02 | ||
+ | | GPIO7 | ||
+ | | 450 | ||
+ | |- | ||
+ | | SC_P_MCLK_IN0_LSIO_GPIO0_IO19 | ||
+ | | GPIO8 | ||
+ | | 499 | ||
+ | |- | ||
+ | | SC_P_QSPI0B_SCLK_LSIO_GPIO3_IO17 | ||
+ | | GPIO9 | ||
+ | | 401 | ||
+ | |} | ||
− | [[File: | + | Loopback test (take GPIO0 and GPIO1 as an example)<br/> 1. Connect GPIO0 and GPIO1.<br/> 2. Export GPIO interface. |
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 402 > /sys/class/gpio/export<br/> # echo 406 > /sys/class/gpio/export</div> | ||
+ | [[File:ROM-3620-GPIO1.png|RTENOTITLE]]<br/> 3. Set 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> | ||
+ | [[File:ROM-3620-GPIO2.png|RTENOTITLE]]<br/> 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<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value</div> | ||
+ | [[File:ROM-3620-GPIO3.png|RTENOTITLE]] | ||
− | == ''' | + | == '''Watchdog測試方法(Watchdog Testing Method)''' == |
− | [[File: | + | System will reboot after 1 sec. |
+ | <div align="left" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># /unit_tests/Watchdog/wdt_driver_test.out 1 2 0</div> | ||
+ | [[File:ROM-3620-WDog.png|RTENOTITLE]] | ||
| | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == C'''amer測試方法(Camera Testing Method)''' == | |
− | + | Please connect MIPI-CSI2 camera (OV5640) to CN39 FPC connector.<br/> Preview: | |
− | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! waylandsink</div> | |
+ | Capture: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg</div> | ||
+ | == '''CANbus測試方法(CANbus Testing Method)''' == | ||
− | + | '''1. Connect CAN0_D+ to CAN1_D+ and CAN0_D- to CAN1_D-.<br/> 2. Set CAN0 and CAN1 up.''' | |
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# ip link set can0 up type can bitrate 12500<br/> # ifconfig can0 up<br/> # ip link set can1 up type can bitrate 12500<br/> # ifconfig can1 up'''</div> | ||
+ | [[File:ROM-3620-CAN1.png|RTENOTITLE]] | ||
− | + | 3. candump can0. | |
− | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># candump can0 &</div> | |
− | + | [[File:ROM-3620-CAN2.png|RTENOTITLE]]<br/> 4. cansend can1. | |
− | + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cansend can1 1F334455#1122334455667788</div> | |
− | + | [[File:ROM-3620-CAN3.png|RTENOTITLE]] | |
− | |||
− | + | == '''TPM測試方法(TPM Testing Method)''' == | |
− | + | Using the “tpm_test.bin” to test, please connect to your Advantech contact window for the test tool. | |
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ./tpm_test.bin</div> | ||
+ | [[File:ROM-3620-TPM1.png]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' == | == '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' == | ||
− | ''' | + | '''Windows下SSH访问及文件传输''' |
− | |||
− | |||
− | |||
− | |||
− | |||
SSH Remote Log into Device | SSH Remote Log into Device | ||
Line 683: | Line 670: | ||
*SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件) | *SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件) | ||
*需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码 | *需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码 | ||
− | |||
− | |||
[[File:SSHsettingdetail.png|RTENOTITLE]] | [[File:SSHsettingdetail.png|RTENOTITLE]] | ||
[[File:SSHSetting2021-09-10 143631.jpg|RTENOTITLE]] | [[File:SSHSetting2021-09-10 143631.jpg|RTENOTITLE]] | ||
− | |||
− | |||
[[File:Sshsetting12021-09-10 143743n.jpg|RTENOTITLE]] | [[File:Sshsetting12021-09-10 143743n.jpg|RTENOTITLE]] | ||
− | |||
− | |||
= '''通用方法(General Method)''' = | = '''通用方法(General Method)''' = | ||
Line 759: | Line 740: | ||
''' ''' | ''' ''' | ||
+ | |||
= '''Linux BSP編譯方法(Linux BSP Compile Method)''' = | = '''Linux BSP編譯方法(Linux BSP Compile Method)''' = | ||
+ | |||
+ | === [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBV9_User_Guide '''Yocto 2.5'''] === | ||
=== [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVA_User_Guide '''Yocto 3.0'''] === | === [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVA_User_Guide '''Yocto 3.0'''] === |
Latest revision as of 07:52, 29 December 2023
Contents
- 1 產品介紹(Product introduction)
- 2 硬件接口說明(Hardware interface introduction)
- 3 快速入门 (Quick Start)
- 4 Linux系统的基本使用(Linux System Basic Operating Method)
- 4.1 Display Setting (ROM-3620)
- 4.2 Audio測試方法(Audio Testing Method):
- 4.3 4G使用方法(4G Testing Method)
- 4.4 WiFi使用方法(WIFI Testing Method)
- 4.5 串口使用方法(Serial Port Operating Method)
- 4.6 I2C測試方法(I2C Testing Method)
- 4.7 USB測試方法(USB Testing Method)
- 4.8 RTC測試方法(RTC Testing Method)
- 4.9 eMMC/SD/SPI Flash測試方法(eMMC/SD/SPI Flash Testing Method)
- 4.10 乙太網路使用方法(Ethernent Testing Method)
- 4.11 GPIO使用方法(GPIO Operating Method)
- 4.12 Watchdog測試方法(Watchdog Testing Method)
- 4.13 Camer測試方法(Camera Testing Method)
- 4.14 CANbus測試方法(CANbus Testing Method)
- 4.15 TPM測試方法(TPM Testing Method)
- 4.16 遠程訪問及文件傳輸(Remote Access and File Transimmion)
- 5 通用方法(General Method)
- 6 Linux BSP編譯方法(Linux BSP Compile Method)
產品介紹(Product introduction)
產品特性(Product Features)
- NXP i.MX 8X processor with 2-4 x Arm Cortex-A35 cores
- Onbard LPDDR4 memory and eMMC 16GB
- Supports wide range power input 5V~24V
- Supports Vivante GC7000 Lite hardware accelerators
- Supports Ultra HD 4K/ full HD 1080p video decode and HD 1080p video encode hardware engine
- Supports 1 PCIe, 1 USB 3.0, 1 USB 2.0, 1 USB OTG2.0, 5 I2C, 1 I2S, 1 Camera in, 2 CANbus, 10 GPIO
- Low power consumption, fanless desgin
- Supports Linux and Android BSP
產品官網連結(Product Features)
硬件接口說明(Hardware interface introduction)
接口布局和尺寸(Layout and Sizes)
ROM-3620 接口布局圖 Board Dimension Layout
Position |
Description |
SW1(1) |
UART & Debug Port selection |
SW1(2) |
AT & ATX mode selection |
SW1(1): UART & Debug Port selection
Setting |
Function |
1-On |
Normal UART |
1-Off |
Debug Console (Default) |
SW1(2): AT/ATX Mode Selection
Setting |
Function |
2-On |
AT Mode (Default) |
2-Off |
ATX Mode |
ROM-DB3900 接口布局圖 Board Dimension Layout
主板内置插针式引脚排序方式 (Pin Header defination)
Internal I/O
Position | Description | Connector Type |
DCIN | DC-in | DC POWER JACK 2.5mm 90D(M) DIP 2DCG213B200 |
COM01 | COM Port | D-SUB Conn. 18P 90D(M) DIP DM10151-H531-4F |
HDMI | HDMI | HDMI Conn. 19P 0.5mm 90D(F) SMD QJ51191-LFB4-7F |
VGA | VGA | D-SUB Conn. 15P 90D(F) DIP 070242FR015S200ZU |
RJ45+USB | LAN+USB | PhoneJack RJ45+USB3.0*2 32P 90D(F) DIP 05-A00919 |
Phone Jack | Phone Jack | Audio Jack 9P 2.5mm 90D(F) DIP ABA-JAK-03 |
Audio | Audio | PIN HEADER 2x10P 2.54mm 180D(M) DIP 21N22564 |
LVDS | LVDS | B/B Conn. 40P 1.25mm 90D SMD DF13-40DP-1.25V(91) |
FAN | FAN | Wafer 2.54mm 3P 180D(M) DIP 22-27-2031 |
SATA_PWR | SATA power | WAFER 4P 2.5mm 180D(M) DIP 24W1161-04S10-01T |
PCIE_SLOT0 | PCIE_SLOT0 | PCIEXPRESS 36P 180D(F) DIP 2EG01817-D2D-DF |
PCIE_SLOT1 | PCIE_SLOT1 | PCIEXPRESS 36P 180D(F) DIP 2EG01817-D2D-DF |
SATA | SATA | Serial ATA 7P 1.27mm 180D(M) DIP WATM-07DBN4A3B8 |
GPIO | GPIO | PIN HEADER 10x2P 2.0mm 180D(M) DIP 21N22050 |
LVDS_BKLT | LVDS Backlight | WAFER BOX 2.0mm 5P 180D(M) DIP WO/Pb JIHVEI |
SW3 | Reset button | TACT SW STS-091 SMD 4P H=3.8mm |
SW4 | Power button | TACT SW STS-091 SMD 4P H=3.8mm |
SW5 | Sleep button | TACT SW STS-091 SMD 4P H=3.8mm |
SW6 | Wake up button | TACT SW STS-091 SMD 4P H=3.8mm |
SPI0 | SPI0 | PIN HEADER 2x4P 2.54mm 180D(M) DIP 210-92-04GB02 |
SPI1 | SPI1 | PIN HEADER 2x4P 2.54mm 180D(M) DIP 210-92-04GB02 |
SW2 | Boot selection | DIP SW EDG104S DIP 6P Radial SPST |
COM3 | COM3 | BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10 |
COM2 | COM2 | BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10 |
CAN1 | CAN1 | BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10 |
CAN0 | CAN0 | BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10 |
USB_OTG | USB OTG | MINI USB 5P 180D(F) SMD UH51543-CS7-7F |
SD | SD | SD CARD 9P 90D(F) SMD WK2192C-S3D-7H |
System_Bus | SYSTEMBUS | PCB SKT 30x4P 2.00mm 180D(F) DIP 264-40303-02 |
I2C0 | I2C0 | WAFER BOX 2.0mm 4P 180D(M) W/LOCKA2001WV2-4P |
I2C1 | I2C1 | WAFER BOX 2.0mm 4P 180D(M) W/LOCKA2001WV2-4P |
RTXA,RTXB, RTXC,RTXD |
RTX B2B Connector |
B/B Conn. 50x2P 0.5mm 180D(M) SMDAXK500137YG |
Rear I/O
Position | Description | Name |
DCIN | DC Jack | A |
COM01A | UART Port 1 | B |
COM01B | UART Port 2 | C |
HDMI | HDMI Port | D |
VGA | VGA Port | E |
RJ45+USB | GbE Ethernet Connector | F |
RJ45+USB | USB Port 1/ 2 | G |
PHONE_JACK | MIC Input/ Audio Output | H |
接口引脚定義 (Pin definitions)
Rear IO:
- DCIN
- 串口(COM01A、UART1、4_WIRE(ttyLP1))
- 串口(COM01B、UART2、4_WIRE(ttyLP2))
- 显示接口(VGA、HDMI)
- RJ45+USB接口(RJ45、USB1-2)
- PHONE_JACK接口(Audio_output)
Internel IO:
- Boot_selection_switch
- 電池(BAT1)
- CAN(CAN0,CAN1)
- LVDS接口(LVDS、LVDS_BKLT)
- 串口(COM3(COM_DB(ttyLP0))、COM2(UART3)(ttyLP3))
- USB_OTG接口(USB_OTG)
- I2S0接口(I2S\Audio_Codec)
- 电源及指示灯和开关机复位按钮(Power 、LED、Power Button、Reset Button、Sleep Button)
- GPIO接口
- PCIE接口_SATA接口_SPI、I2C_接口
机械尺寸 (Mechanical Characteristics)
ROM-3620
快速入门 (Quick Start)
系统下载 (OS Download)
- 'Linux系统 (Linux OS)'
Version | Date | Product | CPU | Yocto3.0/Ubuntu18.04/Debian9 | SDK | Components | Features | Modules | Test Report | Release | Release notes | Comment |
V90210 | 2021-03-09 | ROM-3620 | 8X | Yocto2.5 | SDK | Components | Features | Modules | Test Report | 4.14.98 MP | Release Note | MP |
VA0297 | 2021-07-21 | ROM-3620 | 8X | Yocto3.0 | SDK | Components | Features | Modules | Test Report | 5.4.70 Alpha | Release_Note | QE test |
Linux 燒錄方法 (Linux Flash eMMC Method)
使用Flash tool 燒錄鏡像到eMMC (Flash image into eMMC by Flash Tools)
1. Copy 3620A1AIM20LIV90210_iMX8X_flash_tool.tgz package to your desktop.
2. Insert SD card to PC.
3. Make a bootable sd card.
# cd 3620A1AIM20LIV90210_iMX8X_flash_tool/mk_inand/
# sudo ./mksd-linux.sh /dev/sdg
4. Insert SD card and copy 3620A1AIM20LIV90210_iMX8X_flash_tool to USB disk.
5. Insert USB disk and SD card then Boot from SD.
6. Enter usb disk folder, make a bootable emmc.
# cd 3620A1AIM20LIV90210_iMX8X_flash_tool/mk_inand/
# sudo ./mksd-linux.sh /dev/mmcblk0
使用UUU工具燒錄鏡像到eMMC (Flash image into eMMC by UUU Tools)
1. Download UUU tool from (https://github.com/ADVANTECH-Corp/uuu/releases/download/v20191101/uuu).
2. Create a folder with files as below:
imx-boot-imx8qxprom3620a1-sd.bin-flash
fsl-image-qt5-validation-imx-imx8qxprom3620a1-20210309105548.rootfs.sdcard
3. Connect otg cable from PC to device.
4. Set the correct boot mode, then power on(4-on only).
5. Perform the following command:
6. UUU tool will start recovery image to eMMC.
7. For more usage:
http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBV9_User_Guide#System_Recovery
Debug 串口調試 (Debug port Setting)
1. Connect debug port cable (1701100300) to debug port (COM3) on ROMDB3900.
2. Connect it to your PC with RS-232 Cable (1700019474).
ROM-3620 can communicate with a host server by using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in this case. The example below describes the serial terminal setup using HyperTerminal on a Windows host:
1. Connect ROM-3620 with your PC by using a serial cable.
2. Open HyperTerminal on your Windows PC, and select the settings as shown in below Photo.
以 Tera Term 为例介绍如何使用串口调试功能
Tera Term Tool
Check the Sriel port in Device Manager (查看PC端的串口号):
if you can not identify the Serial device , please check your serial driver.
Debug port connection (串口連接)
Log into Terminal Tool (进入串口调试终端):
Linux系统的基本使用(Linux System Basic Operating Method)
Display Setting (ROM-3620)
- Single Channel LVDS0 + Single Channel LVDS1 (Default):
LVDS0 - g070vw01v0(VDD:3.3V, Backlight Power:12V)
1. Connect LVDS VDD and Backlight Power cable.
2. Power on.
3. Weston UI will be displayed on the screen.
LVDS1 - g070vw01v0(VDD:3.3V, Backlight Power:12V)
1. Connect LVDS VDD and Backlight Power cable.
2. Power on.
3. Weston UI will be displayed on the screen.
- Dual Channel LVDS:
Dual Channel LVDS - g215hvn0 (VDD:5V, Backlight Power:12V)
1. Connect two LVDS VDD and Backlight Power cable.
2. Power on.
3. Press enter after boot, system will stop at u-boot as below:
u-boot=>run lvds_dual
4. Weston UI will be displayed on the screen
- MIPI to HDMI test:
1. Connect LVDS to HDMI cable to LVDS0 or LVDS1.
2. Power on.
3. Press enter after boot, system will stop at u-boot as below:
u-boot=>run hdmi_bridge
4. Weston UI will be displayed on the screen.
Test HDMI with different resolutions:
1. Disable weston UI.
2. Get “connect ID” and “support resolutions“.
3. Play colorbar of the specified resolution on HDMI.
Audio測試方法(Audio Testing Method):
1. Connect ROM-EG51 to I2S_CN3, connect MIC and headphone.
2. Power on and check Audio Codec (SGTL5000)
# amixer set Mic 100%
# amixer set Headphone 100%
3. Record and playback.
# aplay /tmp/mic.wav
4G使用方法(4G Testing Method)
Test 4G: (EWM-C117FL06E - USB)
1. Connect EWM-C117FL06E to Mini PCIE slot on 9680015491 and connect the card to CN6 PCIe_D slot on ROM-DB5901.
2. Connect the antenna 1750007990-01 to the SMA (F) connector on 9680015491 and connect the IPEX connector to MT1 on EWM-C117FL06E module.
3. Connect the Mini USB cable from 9680015491 to USB 2.0 Type A port on ROM-DB3900.
4. Power on and execute the pppd command to connect to the network.
WiFi使用方法(WIFI Testing Method)
Test WiFi card (EWM-W189H02E PCIe signal)
# ifconfig wlan0 up
# wpa_passphrase “SSID” “PASSWORD” > /tmp/wpa.conf
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
# udhcpc -b -i wlan0
Ping network:
串口使用方法(Serial Port Operating Method)
A. RS-232 Test:
Loopback test (eg. ttyLP1)
UART1(COM01_UP)(ttyLP1): Change SW1801 jumper to switch modes. (SW1801: 1-on, 2,3,4-off)
UART2(COM01_Down)(ttyLP2): Change SW1802 jumper to switch modes. (SW1802: 1-on, 2,3,4-off)
UART3(COM2)(ttyLP3): Change SW1901 jumper to switch modes. (SW1901: 1-on, 2,3,4-off)
# cat /dev/ttyLP1 &
# echo test > /dev/ttyLP1
B. RS-485 Test:
UART1(COM01_UP)(ttyLP1): Change SW1801 jumper to switch modes. (SW1801: 2-on, 1,3,4-off)
Test RS-485 with Adam-4520.
# stty -F /dev/ttyLP1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyLP1 &
# echo test > /dev/ttyLP1
I2C測試方法(I2C Testing Method)
Check I2C Device (audio codec: 3-000a):
I2C set and get:
# i2cget -f -y 1 0x0a 0 w
USB測試方法(USB Testing Method)
USB (2.0/3.0) disk test
After inserting the USB disk into 2.0 or 3.0 port: (Please note that with ROM-3620, USB3.0 port on ROM-DB3900 coastline can only recognize USB 3.0 devices. It can not recognize USB 2.0 only devices.)
Test (eg. if USB disk is/dev/sda)
# 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 Testing Method)
Disable rtc sync service:
# systemctl stop ntpdate.service
Set system time to current, then write to RTC:
Set one incorrect time, then read time from RTC to verify:
Restore the RTC time to system time.
eMMC/SD/SPI Flash測試方法(eMMC/SD/SPI Flash Testing Method)
eMMC: /dev/mmcblk0
SD: /dev/mmcblk1
QSPI1: /dev/mtd0
SPI0_0: /dev/mtd1
SPI0_1: /dev/mtd2
SPI3_0: /dev/mtd3
SPI3_1: /dev/mtd4
Test command(eg. emmc):
# dd if=/dev/mmcblk0 of=backup bs=1 count=1024 skip=4096
# dd if=data of=/dev/mmcblk0 bs=1 seek=4096
# dd if=/dev/mmcblk0 of=data1 bs=1 count=1024 skip=4096
# diff data data1
# dd if=backup of=/dev/mmcblk0 bs=1 seek=4096
乙太網路使用方法(Ethernent Testing Method)
Connect cable and use command : ifconfig
Ping test (eg.eth1):
GPIO使用方法(GPIO Operating Method)
CPU Ball Name | Pin# | Number |
SC_P_QSPI0B_DATA0_LSIO_GPIO3_IO18 | GPIO0 | 402 |
SC_P_QSPI0B_DQS_LSIO_GPIO3_IO22 | GPIO1 | 406 |
SC_P_QSPI0B_DATA1_LSIO_GPIO3_IO19 | GPIO2 | 403 |
SC_P_CSI_PCLK_LSIO_GPIO3_IO00 | GPIO3 | 384 |
SC_P_SPI2_SCK_LSIO_GPIO1_IO03 | GPIO4 | 451 |
SC_P_SPI2_CS0_LSIO_GPIO1_IO00 | GPIO5 | 448 |
SC_P_SPI2_SDO_LSIO_GPIO1_IO01 | GPIO6 | 449 |
SC_P_SPI2_SDI_LSIO_GPIO1_IO02 | GPIO7 | 450 |
SC_P_MCLK_IN0_LSIO_GPIO0_IO19 | GPIO8 | 499 |
SC_P_QSPI0B_SCLK_LSIO_GPIO3_IO17 | GPIO9 | 401 |
Loopback test (take GPIO0 and GPIO1 as an example)
1. Connect GPIO0 and GPIO1.
2. Export GPIO interface.
# echo 406 > /sys/class/gpio/export
# echo in > /sys/class/gpio/gpio2/direction
4. Read value and set output value than check.
# echo 1 > /sys/class/gpio/gpio1/value
# cat /sys/class/gpio/gpio2/value
Watchdog測試方法(Watchdog Testing Method)
System will reboot after 1 sec.
Camer測試方法(Camera Testing Method)
Please connect MIPI-CSI2 camera (OV5640) to CN39 FPC connector.
Preview:
Capture:
CANbus測試方法(CANbus Testing Method)
1. Connect CAN0_D+ to CAN1_D+ and CAN0_D- to CAN1_D-.
2. Set CAN0 and CAN1 up.
# ifconfig can0 up
# ip link set can1 up type can bitrate 12500
# ifconfig can1 up
3. candump can0.
TPM測試方法(TPM Testing Method)
Using the “tpm_test.bin” to test, please connect to your Advantech contact window for the test tool.
遠程訪問及文件傳輸(Remote Access and File Transimmion)
Windows下SSH访问及文件传输
SSH Remote Log into Device
- SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件)
- 需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码
通用方法(General Method)
查看CPU温度(Check CPU Temperature)
root@imx8qxprom5620a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 44600 # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 45°
查看CPU频率(Check CPU Frequency)
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq >> 900000 cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq >> 1200000
查看内存容量(Check Memory Capacity)
root@imx8qxprom5620a1:/# busybox free -m total used free shared buffers cached Mem: 1794920 516080 1278840 17252 9852 80292 -/+ buffers/cache: 425936 1368984 Swap: 0 0 0
查看存储容量(Check Storage Capacity)
root@imx8qxprom5620a1:/# busybox df -h Filesystem Size Used Available Use% Mounted on /dev/root 13.4G 1.7G 11.1G 13% / devtmpfs 395.8M 4.0K 395.8M 0% /dev tmpfs 876.4M 0 876.4M 0% /dev/shm tmpfs 876.4M 16.5M 859.9M 2% /run tmpfs 876.4M 0 876.4M 0% /sys/fs/cgroup tmpfs 876.4M 4.0K 876.4M 0% /tmp tmpfs 876.4M 280.0K 876.2M 0% /var/volatile /dev/mmcblk0p2 13.6G 1.7G 11.3G 13% /run/media/mmcblk0p2 /dev/mmcblk0p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk0p1 /dev/mmcblk1p1 63.9M 23.4M 40.5M 37% /run/media/mmcblk1p1 tmpfs 175.3M 88.0K 175.2M 0% /run/user/0 root@imx8qxprom5620a1:/#
網路Ping測試(Ping Network Testing)
ping 8.8.8.8 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
設置RTC (RTC Setting)
root@imx8qxprom5620a1:/# systemctl stop ntpdate.service root@imx8qxprom5620a1:/# date 090816072021 && hwclock -w && date Wed Sep 8 16:07:00 UTC 2021 Wed Sep 8 16:07:00 UTC 2021 root@imx8qxprom5620a1:/# date Wed Sep 8 16:07:06 UTC 2021 root@imx8qxprom5620a1:/#'''
Linux BSP編譯方法(Linux BSP Compile Method)
Yocto 2.5
Yocto 3.0
如果有驗證上的錯誤 請使用以下的方法
### repo sync failed with Server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
============================================================
export GIT_SSL_NO_VERIFY=1
#or
git config --global http.sslverify false
============================================================