Difference between revisions of "EPC-R3720 user guide"

From ESS-WIKI
Jump to: navigation, search
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
<br/> == '''資源特性(Features)''' ==
+
== '''產品介紹(Product introduction )''' ==
  
*NXP Arm® Cortex®-A53 i.MX8M Plus Quad/Dual up to 1.8 GHz&nbsp;<br/> *Onboard LPDDR4 4 GB / 6 GB, 4000MT/s memory&nbsp;<br/> *HDMI 1920x1080 at 60Hz, 1 Single or 1 Dual Channel 24 bit LVDS (or 1 4-Lane MIPI-DSI by BOM Option)&nbsp;<br/> *1 4-wire RS-232/422/485, 1 USB3.2 Gen1 By 1, 1 USB2.0, 1 Micro SD, 1 Mic. in / Line out&nbsp;<br/> *1 mini-PCIe for 3G/4G, 1 M.2 2230 Key E Slot&nbsp;<br/> *Supports Yocto Linux and Android&nbsp;<br/> *Support I/O Expansions boards by UIO40-Express&nbsp;
+
=== '''產品特性(Product Features)''' ===
  
== '''訂購資訊(Ordering Information)''' ==
+
*NXP Arm® Cortex®-A53 i.MX8M Plus Quad/Dual up to 1.8 GHz
 +
*Onboard LPDDR4 4 GB / 6 GB, 4000MT/s memory
 +
*HDMI 1920x1080 at 60Hz, 1 Single or 1 Dual Channel 24 bit LVDS (or 1 4-Lane MIPI-DSI by BOM Option)  
 +
*1 4-wire RS-232/422/485, 1 USB3.2 Gen1 By 1, 1 USB2.0, 1 Micro SD, 1 Mic. in / Line out
 +
*1 mini-PCIe for 3G/4G, 1 M.2 2230 Key E Slot
 +
*Supports Yocto Linux and Android
 +
*Support I/O Expansions boards by UIO40-Express
  
[[File:EPC-R3720 ordInfo.PNG]]
 
  
&nbsp;
+
=== '''產品官網連結(Product official website link)&nbsp;''' ===
 +
 
 +
'''RSB-3720'''
  
== '''規格(Specifications)''' ==
+
== '''硬件接口說明(Hardware interface introduction)''' ==
  
== '''接口布局和尺寸(Layout and Sizes)''' ==
+
=== '''接口布局和尺寸(Layout and Sizes)''' ===
  
=== '''接口布局圖(Board Dimension Layout)&nbsp;''' ===
+
=== '''RSB-3720 接口布局圖(Board Dimension Layout)&nbsp;''' ===
  
[[File:RSB-3720 board review2021-10-21 144120.jpg|RTENOTITLE]]
+
'''Front I/O'''
  
[[File:RSB-3720 connector location 2021-10-21 143853.jpg|RTENOTITLE]]
+
'''[[File:EPC-R3720 Front IO.PNG|RTENOTITLE]]'''
  
 
&nbsp;
 
&nbsp;
  
[[File:RSB-3720 connector location back 2021-10-21 144716.jpg|RTENOTITLE]]
+
'''Rear I/O'''
  
&nbsp;
+
[[File:EPC-R3720 Rear IO.PNG|RTENOTITLE]]
 +
 
 +
[[File:EPC-R3720 Left Right.PNG|RTENOTITLE]]
  
 
&nbsp;
 
&nbsp;
Line 30: Line 39:
 
== '''&nbsp;接口列表(Connector List)''' ==
 
== '''&nbsp;接口列表(Connector List)''' ==
  
{| border="1" cellpadding="1" cellspacing=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| [[DC_Power_Jack_(DC-IN)_EPC-R3720|DC Power Jack (DC-IN)]]
 +
|-
 +
| [[USB_Ports_EPC-R3720|USB Ports]]
 
|-
 
|-
| &nbsp;
+
| [[LAN_Ports_EPC-R3720|LAN Ports]]
=== '''接口引脚定義 (Pin definitions)''' ===
+
|-
 
+
| [[HDMI_EPC-R3720|HDMI]]
*[[BLP1|BLP1&nbsp;]]&nbsp;<br/> *[[BLP2|BLP2]]&nbsp;<br/> *[http://ess-wiki.advantech.com.tw/wiki/index.php?title=VDD1&oldid=21592 VDD1]&nbsp;<br/> *[http://ess-wiki.advantech.com.tw/wiki/index.php?title=SW1&oldid=21594 SW1]&nbsp;<br/> *[[BAT_(RTC_Battery_CONN.)|BAT (RTC Battery CONN.)]]&nbsp;<br/> *[[BL1_(LVDS_Backlight_1)|BL1 (LVDS Backlight 1)]]&nbsp;<br/> *[[BL2_(LVDS_Backlight_2)|BL2 (LVDS Backlight 2)]]&nbsp;<br/> *[[COM1_(COM_+_CAN_Pin_Header):_(default_as_debug_console)|COM1 (COM + CAN Pin Header): (default as debug console)]]&nbsp;<br/> *[[CSI1_(MIPI-CSI_Camera_Input_1)|CSI1 (MIPI-CSI Camera Input 1)]]&nbsp;<br/> *[[CSI2_(MIPI-CSI_Camera_Input_2)|CSI2 (MIPI-CSI Camera Input 2)]]&nbsp;<br/> *[[DCIN/_DCIN1_(12V_DC_Power_Input_by_DC_Jack/_by_Pin_Header)|DCIN/ DCIN1 (12V DC Power Input by DC Jack/ by Pin Header)]]&nbsp;<br/> *[[HDMI_(HDMI_CONN.)|HDMI (HDMI CONN.)]]&nbsp;<br/> *[[LAN1_(Ethernet_eth0)|LAN1 (Ethernet eth0)]]&nbsp;<br/> *[[LAN2_(Ethernet_eth1)|LAN2 (Ethernet eth1)]]&nbsp;<br/> *[[LOUT_(Line_Out_Pin_Header)|LOUT (Line Out Pin Header)]]&nbsp;<br/> *[[LVDS_(LVDS_CONN.)|LVDS (LVDS CONN.)]]&nbsp;<br/> *[[M2_(M.2_Key_E_CONN.)|M2 (M.2 Key E CONN.)]]&nbsp;<br/> *[[MIC_(MIC_In_Pin_Header)|MIC (MIC In Pin Header)]]&nbsp;<br/> *[[MPCIE_(Mini-PCIe_CONN.)|MPCIE (Mini-PCIe CONN.)]]&nbsp;<br/> *[[RST_(Reset_Button)|RST (Reset Button)]]&nbsp;<br/> *[[SD_(SD_Slot)|SD (SD Slot)]]&nbsp;<br/> *[[SIM_(SIM_Slot)|SIM (SIM Slot)]]&nbsp;<br/> *[[UIO1_(UIO40-Express_Pin_Header_1)|UIO1 (UIO40-Express Pin Header 1)]]&nbsp;<br/> *[[UIO2_(UIO40-Express_Pin_Header_2)|UIO2 (UIO40-Express Pin Header 2)]]&nbsp;<br/> *[[USB_1_(USB_3.2_Gen_1_on_TOP_+_USB_2.0_on_BOT)|USB 1 (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)]]&nbsp;<br/> *[[LED|LED]]&nbsp;
+
|-
 +
| [[COM_/_CAN|COM_EPC-R3720/CAN_EPC]]
 +
|}
  
&nbsp;
+
=== '''&nbsp;機械尺寸('''Mechanical Characteristics) ===
  
&nbsp;
+
[[File:Mechanical Characteristics EPC-R3720.PNG|RTENOTITLE]]
  
=== '''機械尺寸('''Mechanical Characteristics) ===
+
== '''快速入門&nbsp;(Quick Start)''' ==
  
[[File:RSB-3720 board Dimensions 2021-10-21 145827.jpg|RTENOTITLE]]
+
=== '''系统下载 (OS Download)''' ===
  
== '''快速入門&nbsp;(Quick Start)''' ==
+
*'''Linux系统 (Linux OS)'''  
  
=== '''系统下载 (OS Download)''' ===
+
'''Yocto 3.0:'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_3.0_release IoTGateway/BSP/Linux/iMX8/OS Support List 3.0]
  
'''[https://www.dropbox.com/sh/xqcxe99gc3gbkml/AAAEcdrVin0mQ28oaxVEuJcSa?dl=0 Dropbox link for imx8 Yocto 3.0 BSP and Image]'''
+
'''Yocto 3.3:'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_3.3_RSB-3720 IoTGateway/BSP/Linux/iMX8/OS Support List 3.3 RSB-3720]
  
'''Linux系统 (Linux OS)''''''&nbsp; &nbsp;'''
+
'''Yocto 4.0:&nbsp;'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_4.0_release_RSB-3720 IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release RSB-3720]
  
{| border="1" cellpadding="0" cellspacing=""
+
'''&nbsp;'''
|-
 
| &nbsp;<br/> '''Product'''
 
| &nbsp;<br/> '''Date'''
 
| &nbsp;<br/> '''Alpha Release'''
 
| &nbsp;<br/> '''Beta Release'''
 
| &nbsp;<br/> '''MP Release'''
 
| &nbsp;<br/> '''Release Note'''
 
| &nbsp;<br/> '''Comment'''
 
| &nbsp;<br/> '''Release Owner'''
 
|-
 
| [https://www.dropbox.com/sh/xqcxe99gc3gbkml/AABJMGBffPJA5roAasfD3z92a/2021-10-05?dl=0&preview=3720A1AIM30LIVA0333_iMX8MP_6G_2021-10-05.img.gz&subfolder_nav_tracking=1 3720A1AIM30LIVA0333_iMX8MP_6G_2021-10-05.img.gz]
 
|-
 
| &nbsp;<br/> &#124; &nbsp;<br/> &#124; &nbsp;<br/> &#124; &nbsp;<br/> &#124; &nbsp;<br/> &#124; &nbsp;<br/> &#124;}
 
&nbsp;
 
  
 
== '''&nbsp;Linux&nbsp;燒錄方法 (Linux Flash eMMC Method)&nbsp;''' ==
 
== '''&nbsp;Linux&nbsp;燒錄方法 (Linux Flash eMMC Method)&nbsp;''' ==
Line 92: Line 93:
  
 
Debug 串口調試 (Debug port Setting)
 
Debug 串口調試 (Debug port Setting)
以 Tera Term&nbsp; 為例介绍如何使用串口調試功能 ( Tera Term is kind of terminal tool , we need to set&nbsp;&nbsp;the parameter (Baud Rate , Data, Parity, Stop, Flow Control )&nbsp;&nbsp;into "Tera Term &nbsp;terminal tool " )&nbsp;&nbsp; <pre> &nbsp; 波特率(Baud Rate):115200<br/> &nbsp; &nbsp;數據位(Data):8<br/> &nbsp; &nbsp;奇偶校驗(Parity):无 (none)<br/> &nbsp; &nbsp;停止位(Stop):1<br/> &nbsp; &nbsp;流控(Flow Control):无 (none) </pre>
+
 
 +
以 Tera Term&nbsp; 為例介绍如何使用串口調試功能 ( Tera Term is kind of terminal tool , we need to set&nbsp;&nbsp;the parameter (Baud Rate , Data, Parity, Stop, Flow Control )&nbsp;&nbsp;into "Tera Term &nbsp;terminal tool " )&nbsp;&nbsp;
 +
<pre>   波特率(Baud Rate):115200
 +
  數據位(Data):8
 +
  奇偶校驗(Parity):无 (none)
 +
  停止位(Stop):1
 +
  流控(Flow Control):无 (none) </pre>
  
 
Tera Term Tool&nbsp;
 
Tera Term Tool&nbsp;
Line 160: Line 167:
 
'''&nbsp; &nbsp; &nbsp; U-boot&nbsp;Command&nbsp;'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 
'''&nbsp; &nbsp; &nbsp; U-boot&nbsp;Command&nbsp;'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  
*Display&nbsp;<br/> **HDMI (default)&nbsp;<br/> ***imx8mp-rsb3720-a1.dtb &nbsp;&nbsp;<br/> **LVDS&nbsp;<br/> ***g070vw01(LVDS0) + HDMI&nbsp;<br/> ****imx8mp-rsb3720-a1-lvds0-auo.dtb &nbsp;&nbsp;<br/> ***g070vw01(LVDS1) + HDMI&nbsp;<br/> ****imx8mp-rsb3720-a1-lvds1-auo.dtb &nbsp;&nbsp;<br/> ***g215hvn01(DUAL LVDS) + HDMI&nbsp;<br/> ****imx8mp-rsb3720-a1-lvds-dual.dtb &nbsp; &nbsp;&nbsp;<br/> **DSI&nbsp;<br/> ***adv7535(DSI to HDMI)&nbsp;+ HDMI&nbsp;<br/> ****imx8mp-rsb3720-a1-adv7535.dtb &nbsp;&nbsp;<br/> ***auog101uan02(DSI) +&nbsp;HDMI&nbsp;<br/> ****imx8mp-rsb3720-a1-auog101uan02.dtb &nbsp; &nbsp; &nbsp;&nbsp;<br/> *Camera&nbsp;<br/> **OV5640 (default)&nbsp;<br/> ***imx8mp-rsb3720-a1.dtb &nbsp;&nbsp;<br/> **Basler camrea&nbsp;<br/> ***imx8mp-rsb3720-a1-basler.dtb &nbsp; &nbsp;&nbsp;
+
*Display  
 +
**HDMI (default)  
 +
***imx8mp-rsb3720-a1.dtb  
 +
**LVDS  
 +
***g070vw01(LVDS0) + HDMI  
 +
****imx8mp-rsb3720-a1-lvds0-auo.dtb  
 +
***g070vw01(LVDS1) + HDMI  
 +
****imx8mp-rsb3720-a1-lvds1-auo.dtb  
 +
***g215hvn01(DUAL LVDS) + HDMI  
 +
****imx8mp-rsb3720-a1-lvds-dual.dtb    
 +
**DSI  
 +
***adv7535(DSI to HDMI)&nbsp;+ HDMI  
 +
****imx8mp-rsb3720-a1-adv7535.dtb  
 +
***auog101uan02(DSI) +&nbsp;HDMI  
 +
****imx8mp-rsb3720-a1-auog101uan02.dtb      
 +
*Camera  
 +
**OV5640 (default)  
 +
***imx8mp-rsb3720-a1.dtb  
 +
**Basler camrea  
 +
***imx8mp-rsb3720-a1-basler.dtb    
  
 
=== '''乙太網路使用方法(Ethernent Testing Method)''' ===
 
=== '''乙太網路使用方法(Ethernent Testing Method)''' ===
Line 182: Line 208:
 
Set static IP Addr:&nbsp;
 
Set static IP Addr:&nbsp;
  
#connmanctl config <service> --ipv4 manual <ip address> <netmask> <gateway><br/> # connmanctl config <service> --nameservers <dns-addr>&nbsp;
+
#connmanctl config <service> --ipv4 manual <ip address> <netmask> <gateway><br/> # connmanctl config <service> --nameservers <dns-addr>  
  
 
Example:
 
Example:
  
 
root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254<br/> root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --nameservers 8.8.8.8 4.4.4.4
 
root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254<br/> root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --nameservers 8.8.8.8 4.4.4.4
=== '''WiFi使用方法(WIFI Testing Method)''' === <pre># killall wpa_supplicant<br/> # ifconfig wlan0 up<br/> # wpa_passphrase "SSID" "PASSWORD" > /tmp/wpa.conf<br/> # cat /tmp/wpa.conf<br/> # wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf<br/> # udhcpc -b -i wlan0<br/> # ifconfig<br/> # ping 8.8.8.8<br/> Add DNS to /etc/resolv.conf<br/> # cat /etc/resolv.conf<br/> # Generated by Connection Manager<br/> nameserver 8.8.8.8<br/> nameserver 8.8.4.4<br/> Now can ping google.com<br/> # ping google.com</pre>
+
 
 +
=== '''WiFi使用方法(WIFI Testing Method)''' ===
 +
<pre># killall wpa_supplicant
 +
# ifconfig wlan0 up
 +
# wpa_passphrase "SSID" "PASSWORD" > /tmp/wpa.conf
 +
# cat /tmp/wpa.conf
 +
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
 +
# udhcpc -b -i wlan0
 +
# ifconfig
 +
# ping 8.8.8.8
 +
Add DNS to /etc/resolv.conf
 +
# cat /etc/resolv.conf
 +
# Generated by Connection Manager
 +
nameserver 8.8.8.8
 +
nameserver 8.8.4.4
 +
Now can ping google.com
 +
# ping google.com</pre>
  
 
=== '''4G使用方法(4G Testing Method)''' ===
 
=== '''4G使用方法(4G Testing Method)''' ===
Line 197: Line 239:
 
=== '''GPIO使用方法(GPIO Operating Method)''' ===
 
=== '''GPIO使用方法(GPIO Operating Method)''' ===
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 173px;"
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 325px;"
 +
|-
 +
| style="width: 137px;" | GPIO Pin
 +
| style="width: 173px;" | Number
 +
|-
 +
| style="width: 137px;" | GPIO2
 +
| style="width: 173px;" | 501
 +
|-
 +
| style="width: 137px;" | GPIO4
 +
| style="width: 173px;" | 503
 +
|-
 +
| style="width: 137px;" | GPIO5
 +
| style="width: 173px;" | 504
 
|-
 
|-
| Short GPIO pin 2 & pin 4 [[File:RSB-3720 gpio short24.png|RTENOTITLE]] Short GPIO pin 5 & pin 6 [[File:RSB-3720 gpio short56.png|RTENOTITLE]] Short GPIO pin 7 & pin 8 [[File:RSB-3720 gpio short78.png|RTENOTITLE]] Short GPIO pin 9 & pin 10&nbsp; [[File:RSB-3720 gpio short910.png|RTENOTITLE]] Short GPIO pin 11 & pin 12 [[File:RSB-3720 gpio short1112.png|RTENOTITLE]] &nbsp; &nbsp;  
+
| style="width: 137px;" | GPIO6
 +
| style="width: 173px;" | 505
 +
|-
 +
| style="width: 137px;" | GPIO7
 +
| style="width: 173px;" | 506
 +
|-
 +
| style="width: 137px;" | GPIO8
 +
| style="width: 173px;" | 507
 +
|-
 +
| style="width: 137px;" | GPIO9
 +
| style="width: 173px;" | 508
 +
|-
 +
| style="width: 137px;" | GPIO10
 +
| style="width: 173px;" | 509
 +
|-
 +
| style="width: 137px;" | GPIO11
 +
| style="width: 173px;" | 139
 +
|-
 +
| style="width: 137px;" | GPIO12
 +
| style="width: 173px;" | 138
 +
|}
 +
 
 +
Short GPIO pin 2 & pin 4
 +
 
 +
[[File:RSB-3720 gpio short24.png|RTENOTITLE]]
 +
 
 +
Short GPIO pin 5 & pin 6
 +
 
 +
[[File:RSB-3720 gpio short56.png|RTENOTITLE]]
 +
 
 +
Short GPIO pin 7 & pin 8
 +
 
 +
[[File:RSB-3720 gpio short78.png|RTENOTITLE]]
 +
 
 +
Short GPIO pin 9 & pin 10&nbsp;
 +
 
 +
[[File:RSB-3720 gpio short910.png|RTENOTITLE]]
 +
 
 +
Short GPIO pin 11 & pin 12
 +
 
 +
[[File:RSB-3720 gpio short1112.png|RTENOTITLE]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 
=== '''LED_USER使用方法(LED_USER ON/OFF&nbsp;test)''' ===
 
=== '''LED_USER使用方法(LED_USER ON/OFF&nbsp;test)''' ===
  
 
ON: echo 255 > /sys/class/leds/user/brightness<br/> OFF: echo 0 > /sys/class/leds/user/brightness
 
ON: echo 255 > /sys/class/leds/user/brightness<br/> OFF: echo 0 > /sys/class/leds/user/brightness
 +
  
 
=== '''COM1複合使用方法(COM1 complex&nbsp;Port Operating&nbsp;Method)'''&nbsp; ===
 
=== '''COM1複合使用方法(COM1 complex&nbsp;Port Operating&nbsp;Method)'''&nbsp; ===
Line 209: Line 309:
  
 
RS-232 default as debug console)
 
RS-232 default as debug console)
[[File:RSB-3720 COM1 2021-10-21 152125.jpg|RTENOTITLE]] <pre>RS-485 test<br/> Test RS-485 with Adam-4520. Adam-4520 Pin to RSB-3720 COM1<br/> Data-&nbsp;: Pin 1: COM_DCD<br/> Data+&nbsp;: Pin 3: COM_RXD
 
  
RS-485 test<br/> # echo 496 > /sys/class/gpio/export<br/> # echo 497 > /sys/class/gpio/export<br/> # echo out > /sys/class/gpio/gpio1/direction<br/> # echo out > /sys/class/gpio/gpio2/direction<br/> # echo 0 > /sys/class/gpio/gpio1/value<br/> # echo 1 > /sys/class/gpio/gpio2/value<br/> # ./enable485 /dev/ttymxc2<br/> # stty -F /dev/ttymxc2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttymxc2 &<br/> # echo "Serial Test" > /dev/ttymxc2<br/> Will print “Serial Test” through RS-485</pre>
+
[[File:RSB-3720 COM1 2021-10-21 152125.jpg|RTENOTITLE]]
 +
<pre>RS-485 test
 +
Test RS-485 with Adam-4520. Adam-4520 Pin to RSB-3720 COM1
 +
Data-&nbsp;: Pin 1: COM_DCD
 +
Data+&nbsp;: Pin 3: COM_RXD
 +
 
 +
RS-485 test
 +
# echo 496 > /sys/class/gpio/export
 +
# echo 497 > /sys/class/gpio/export
 +
# echo out > /sys/class/gpio/gpio1/direction
 +
# echo out > /sys/class/gpio/gpio2/direction
 +
# echo 0 > /sys/class/gpio/gpio1/value
 +
# echo 1 > /sys/class/gpio/gpio2/value
 +
# ./enable485 /dev/ttymxc2
 +
# stty -F /dev/ttymxc2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
 +
# cat /dev/ttymxc2 &
 +
# echo "Serial Test" > /dev/ttymxc2
 +
Will print “Serial Test” through RS-485</pre>
  
 
'''RS-232&nbsp; --&nbsp; Disable console'''
 
'''RS-232&nbsp; --&nbsp; Disable console'''
  
:Disable debug message output can also improve boot speed&nbsp;
+
:Disable debug message output can also improve boot speed  
Disable kernel message <pre>setenv mmcargs setenv bootargs ${jh_clk} console=${console} modprobe.blacklist=${modprobe.blacklist} root=${mmcroot} video=HDMI-A-1:${videores} '''quiet'''<br/> env save<br/> reset<br/> </pre>
+
 
 +
Disable kernel message
 +
<pre>setenv mmcargs setenv bootargs ${jh_clk} console=${console} modprobe.blacklist=${modprobe.blacklist} root=${mmcroot} video=HDMI-A-1:${videores} '''quiet'''
 +
env save
 +
reset
 +
</pre>
  
 
Or
 
Or
Line 223: Line 344:
  
 
(1) Yocto machine setting:
 
(1) Yocto machine setting:
modify /sources/meta-advantech/meta-fsl-imx/conf/machine$/${MC}.conf <pre>SERIAL_CONSOLES = ";"<br/> </pre>
+
 
 +
modify /sources/meta-advantech/meta-fsl-imx/conf/machine$/${MC}.conf
 +
<pre>SERIAL_CONSOLES = ";"
 +
</pre>
  
 
(2) Uboot parameter&nbsp;setting:
 
(2) Uboot parameter&nbsp;setting:
  
*For the imx8mq, imx8mm,&nbsp;imx8mp:&nbsp; <pre>setenv console disabled<br/> env save<br/> reset<br/> </pre>
+
*For the imx8mq, imx8mm,&nbsp;imx8mp:  
 +
<pre>setenv console disabled
 +
env save
 +
reset
 +
</pre>
  
  
&nbsp;
+
=== '''CANBus or CAN-FD''' ===
=== '''藍牙使用方法(BlueTooth Operating&nbsp;Method)''' === <pre># hciattach /dev/ttymxc0 bcm43xx 115200 flow<br/> # hciconfig hci0 up<br/> # hcitool scan# bluetoothctl<br/> # discoverable on<br/> #pairable on<br/> # scan on<br/> # scan off<br/> # pair 84:C5:A6:D3:AF:E4<br/> # connect 84:C5:A6:D3:AF:E4<br/> Check BT connect info<br/> # info 84:C5:A6:D3:AF:E4</pre>
+
 
=== '''音訊使用方法(BlueTooth Operating&nbsp;Method)''' === <pre>Line-in , Line-out, MIC<br/> 1.Line-out<br/> Command&nbsp;: gplay-1.0<br/> 2.MIC<br/> Command&nbsp;: arecord<br/> Check audio codec:
+
(Please note that the CAN function on RSB-3720 COM1 Pin Header is CANBus only&nbsp;with RSB-3720CQ & RSB-3720CD, RSB-3720 COM1 Pin Header is CANB-FD only&nbsp;with RSB-3720WQ & RSB-3720WD)&nbsp;<br/> Step 1: Connect the UIO-4034 A101-2 CANbus port Pin 2 and Pin 7 to RSB-3720&nbsp;COM1 with 1700100250 cable, pin 9 and Pin 6 of the DB9.&nbsp;<br/> Step 2: Set CAN0 and CAN1 up.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">root@imx8mprsb3720a1:~# ip link set can0 up type can bitrate 125000&nbsp;<br/> [ 1362.935162] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready&nbsp;<br/> root@imx8mprsb3720a1:~# ifconfig can0 up&nbsp;<br/> root@imx8mprsb3720a1:~# ip link set can1 up type can bitrate 125000&nbsp;<br/> [ 1381.546624] IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready&nbsp;<br/> root@imx8mprsb3720a1:~# ifconfig can1 up</div>
 +
Step 3: candump CAN0
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">root@imx8mprsb3720a1:~# candump can0 &&nbsp;<br/> [1] 965</div>
 +
Step 4: candump CAN1
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">root@imx8mprsb3720a1:~# cansend can1 1F334455#1122334455667788&nbsp;<br/> root@imx8mprsb3720a1:~# can0 1F334455 [8] 11 22 33 44 55 66 77 88</div>
 +
 
 +
=== '''藍牙使用方法(BlueTooth Operating&nbsp;Method)''' ===
 +
<pre># hciattach /dev/ttymxc0 bcm43xx 115200 flow
 +
# hciconfig hci0 up
 +
# hcitool scan# bluetoothctl
 +
# discoverable on
 +
#pairable on
 +
# scan on
 +
# scan off
 +
# pair 84:C5:A6:D3:AF:E4
 +
# connect 84:C5:A6:D3:AF:E4
 +
Check BT connect info
 +
# info 84:C5:A6:D3:AF:E4</pre>
 +
 
 +
=== '''音訊使用方法(BlueTooth Operating&nbsp;Method)''' ===
 +
<pre>Line-in , Line-out, MIC
 +
1.Line-out
 +
Command&nbsp;: gplay-1.0
 +
2.MIC
 +
Command&nbsp;: arecord
 +
Check audio codec:
 +
 
 +
# cat /proc/asound/cards
 +
0 [sgtl5000      ]: sgtl5000 - sgtl5000
 +
                      sgtl5000
 +
1 [audiohdmi      ]: audio-hdmi - audio-hdmi
 +
                      audio-hdmi
 +
root@imx8mprsb3720a1:~#
 +
  Set Mic/audio volume
 +
# amixer set Mic 100%
 +
# amixer set Lineout 100%
 +
# amixer set PCM 100%
 +
 
 +
Record and playback
 +
Example command:
 +
# arecord –t wav –c 1 –r 44100 –d 5 /tmp/mic.wav
 +
# aplay /tmp/mic.wav
  
# cat /proc/asound/cards<br/> &nbsp;0 [sgtl5000 &nbsp; &nbsp; &nbsp; ]: sgtl5000 - sgtl5000<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sgtl5000<br/> &nbsp;1 [audiohdmi &nbsp; &nbsp; &nbsp;]: audio-hdmi - audio-hdmi<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; audio-hdmi<br/> root@imx8mprsb3720a1:~#<br/> &nbsp; &nbsp;Set Mic/audio volume<br/> # amixer set Mic 100%<br/> # amixer set Lineout 100%<br/> # amixer set PCM 100%
+
Record from MIC:
 +
# arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav
 +
Recording WAVE './f-16000.wav'&nbsp;: Signed 16 bit Little Endian, Rate 16000 Hz, Mono
 +
# aplay f-16000.wav
 +
Playing WAVE 'f-16000.wav'&nbsp;: Signed 16 bit Little Endian, Rate 16000 Hz, Mono
  
Record and playback<br/> Example command:<br/> # arecord –t wav –c 1 –r 44100 –d 5 /tmp/mic.wav<br/> # aplay /tmp/mic.wav
+
Play wav file from codec:
 +
# aplay -D plughw:0,0 file_example_WAV_10MG.wav
 +
Playing WAVE 'file_example_WAV_10MG.wav'&nbsp;: Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
  
Record from MIC:<br/> # arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav<br/> Recording WAVE './f-16000.wav'&nbsp;: Signed 16 bit Little Endian, Rate 16000 Hz, Mono<br/> # aplay f-16000.wav<br/> Playing WAVE 'f-16000.wav'&nbsp;: Signed 16 bit Little Endian, Rate 16000 Hz, Mono
+
Play wav file from HDMI:
 +
# aplay -D plughw:1,0 file_exam
 +
ple_WAV_10MG.wav
 +
Playing WAVE 'file_example_WAV_10MG.wav'&nbsp;: Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
 +
</pre>
  
Play wav file from codec:<br/> # aplay -D plughw:0,0 file_example_WAV_10MG.wav<br/> Playing WAVE 'file_example_WAV_10MG.wav'&nbsp;: Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
+
=== '''I2C 測試( I2C Test method)&nbsp;''' ===
 +
<pre>Check I2C device (Audio codec: 0-000a)
 +
# i2cdetect -y 0
 +
I2C set and get:
 +
# i2cset -f -y 0 0x0a 0 0xff00 w
 +
# i2cget -f -y 0 0x0a 0 w
 +
0x11a0
 +
</pre>
  
Play wav file from HDMI:<br/> # aplay -D plughw:1,0 file_exam<br/> ple_WAV_10MG.wav<br/> Playing WAVE 'file_example_WAV_10MG.wav'&nbsp;: Signed 16 bit Little Endian, Rate 44100 Hz, Stereo<br/> </pre>
+
=== '''看門狗測試 (Watch Dog Test method)&nbsp;''' ===
=== '''I2C 測試( I2C Test method)&nbsp;''' === <pre>Check I2C device (Audio codec: 0-000a)<br/> # i2cdetect -y 0<br/> I2C set and get:<br/> # i2cset -f -y 0 0x0a 0 0xff00 w<br/> # i2cget -f -y 0 0x0a 0 w<br/> 0x11a0<br/> </pre>
+
<pre>System will reboot after 1 sec
=== '''看門狗測試 (Watch Dog Test method)&nbsp;''' === <pre>System will reboot after 1 sec<br/> # /unit_tests/Watchdog/wdt_driver_test.out 1 2 0</pre>
+
# /unit_tests/Watchdog/wdt_driver_test.out 1 2 0</pre>
  
 
[[File:RSB-3720 watchdog.png|RTENOTITLE]]
 
[[File:RSB-3720 watchdog.png|RTENOTITLE]]
=== '''攝像頭測試(Camera Test method)&nbsp;''' === <pre>Check MIPI CSI camera&nbsp;<br/> MIPI CSI0:<br/> MIPI CSI1:
 
  
MIPI CSI0 - ov5640<br/> Preview:<br/> # gst-launch-1.0 v4l2src device=/dev/video0&nbsp;! video/x-raw,width=640,height=480&nbsp;! waylandsink<br/> Capture:<br/> # gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0&nbsp;! video/x-raw,width=640,height=480&nbsp;! jpegenc&nbsp;! filesink location=sample.jpeg<br/> MIPI CSI1 – ov5640<br/> Preview:<br/> # gst-launch-1.0 v4l2src device=/dev/video1&nbsp;! video/x-raw,width=640,height=480&nbsp;! waylandsink<br/> Capture:<br/> # gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video1&nbsp;! video/x-raw,width=640,height=480&nbsp;! jpegenc&nbsp;! filesink location=sample.jpeg</pre>
+
=== '''攝像頭測試(Camera Test method)&nbsp;''' ===
 +
<pre>Check MIPI CSI camera
 +
MIPI CSI0:
 +
MIPI CSI1:
 +
 
 +
MIPI CSI0 - ov5640
 +
Preview:
 +
# gst-launch-1.0 v4l2src device=/dev/video0&nbsp;! video/x-raw,width=640,height=480&nbsp;! waylandsink
 +
Capture:
 +
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0&nbsp;! video/x-raw,width=640,height=480&nbsp;! jpegenc&nbsp;! filesink location=sample.jpeg
 +
MIPI CSI1 – ov5640
 +
Preview:
 +
# gst-launch-1.0 v4l2src device=/dev/video1&nbsp;! video/x-raw,width=640,height=480&nbsp;! waylandsink
 +
Capture:
 +
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video1&nbsp;! video/x-raw,width=640,height=480&nbsp;! jpegenc&nbsp;! filesink location=sample.jpeg</pre>
  
 
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
 
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 查看主板IP位址&nbsp;( check&nbsp;IP Address ):'''​ <pre> &nbsp; &nbsp; &nbsp; &nbsp;Command&nbsp;: ifconfig</pre>
+
 
 +
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 查看主板IP位址&nbsp;( check&nbsp;IP Address ):'''​
 +
<pre>       Command&nbsp;: ifconfig</pre>
  
 
[[File:RSB-3720 ifconfig 2022-01-03 153950.jpg|RTENOTITLE]]
 
[[File:RSB-3720 ifconfig 2022-01-03 153950.jpg|RTENOTITLE]]
Line 262: Line 464:
 
SSH Remote Log into Device&nbsp;
 
SSH Remote Log into Device&nbsp;
  
*SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件)&nbsp;<br/> *需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼&nbsp;
+
*SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件)  
 +
*需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼  
  
 
&nbsp;
 
&nbsp;
Line 277: Line 480:
  
 
== '''通用方法(General Method)''' ==
 
== '''通用方法(General Method)''' ==
=== '''查看CPU温度(Check CPU Temperature)''' === <pre> &nbsp; &nbsp;root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp &nbsp; 40000
 
  
&nbsp; &nbsp; # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 40°</pre>
+
=== '''查看CPU温度(Check CPU Temperature)''' ===
=== '''查看CPU频率(Check CPU Frequency)''' === <pre> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;>> 1200000<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq &nbsp; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;>> 1800000</pre>
+
<pre>    root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp  40000
=== '''查看内存容量(Check Memory&nbsp;Capacity)''' === <pre>root@imx8mprsb3720a1:/# busybox free -m<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; total &nbsp; &nbsp; &nbsp; &nbsp;used &nbsp; &nbsp; &nbsp; &nbsp;free &nbsp; &nbsp; &nbsp;shared &nbsp;buff/cache &nbsp; available<br/> Mem: &nbsp; &nbsp; &nbsp; &nbsp;6002524 &nbsp; &nbsp; &nbsp;393988 &nbsp; &nbsp; 5517304 &nbsp; &nbsp; &nbsp; 18460 &nbsp; &nbsp; &nbsp; 91232 &nbsp; &nbsp; 5507676<br/> Swap: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0<br/> </pre>
+
 
 +
    # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 40°</pre>
 +
 
 +
=== '''查看CPU频率(Check CPU Frequency)''' ===
 +
<pre>           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq  
 +
          >> 1200000
 +
          cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq  
 +
          >> 1800000</pre>
 +
 
 +
=== '''查看内存容量(Check Memory&nbsp;Capacity)''' ===
 +
<pre>root@imx8mprsb3720a1:/# busybox free -m
 +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; total &nbsp; &nbsp; &nbsp; &nbsp;used &nbsp; &nbsp; &nbsp; &nbsp;free &nbsp; &nbsp; &nbsp;shared &nbsp;buff/cache &nbsp; available
 +
Mem: &nbsp; &nbsp; &nbsp; &nbsp;6002524 &nbsp; &nbsp; &nbsp;393988 &nbsp; &nbsp; 5517304 &nbsp; &nbsp; &nbsp; 18460 &nbsp; &nbsp; &nbsp; 91232 &nbsp; &nbsp; 5507676
 +
Swap: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0
 +
</pre>
  
 
&nbsp;
 
&nbsp;
=== '''查看存储容量(Check Storage Capacity)''' === <pre>root@imx8qxprom5620a1:/# busybox df -h<br/> Filesystem &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Size &nbsp; &nbsp; &nbsp;Used Available Use% Mounted on<br/> /dev/root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;13.4G &nbsp; &nbsp; &nbsp;1.7G &nbsp; &nbsp; 11.1G &nbsp;13% /<br/> devtmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;395.8M &nbsp; &nbsp; &nbsp;4.0K &nbsp; &nbsp;395.8M &nbsp; 0% /dev<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 876.4M &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp;876.4M &nbsp; 0% /dev/shm<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 876.4M &nbsp; &nbsp; 16.5M &nbsp; &nbsp;859.9M &nbsp; 2% /run<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 876.4M &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp;876.4M &nbsp; 0% /sys/fs/cgroup<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 876.4M &nbsp; &nbsp; &nbsp;4.0K &nbsp; &nbsp;876.4M &nbsp; 0% /tmp<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 876.4M &nbsp; &nbsp;280.0K &nbsp; &nbsp;876.2M &nbsp; 0% /var/volatile<br/> /dev/mmcblk0p2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 13.6G &nbsp; &nbsp; &nbsp;1.7G &nbsp; &nbsp; 11.3G &nbsp;13% /run/media/mmcblk0p2<br/> /dev/mmcblk0p1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 63.9M &nbsp; &nbsp; 23.4M &nbsp; &nbsp; 40.5M &nbsp;37% /run/media/mmcblk0p1<br/> /dev/mmcblk1p1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 63.9M &nbsp; &nbsp; 23.4M &nbsp; &nbsp; 40.5M &nbsp;37% /run/media/mmcblk1p1<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 175.3M &nbsp; &nbsp; 88.0K &nbsp; &nbsp;175.2M &nbsp; 0% /run/user/0<br/> root@imx8qxprom5620a1:/#</pre>
+
 
=== '''&nbsp;網路Ping測試(Ping Network Testing)''' === <pre> &nbsp; &nbsp; ping 8.8.8.8<br/> &nbsp; &nbsp; &nbsp;PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.<br/> &nbsp; &nbsp; &nbsp;64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms<br/> &nbsp; &nbsp; &nbsp;64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre>
+
=== '''查看存储容量(Check Storage Capacity)''' ===
 +
<pre>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:/#</pre>
 +
 
 +
&nbsp;
 +
 
 +
=== '''網路Ping測試(Ping Network Testing)''' ===
 +
<pre>     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</pre>
  
 
=== '''設置RTC (RTC Setting)&nbsp;''' ===
 
=== '''設置RTC (RTC Setting)&nbsp;''' ===
Line 294: Line 532:
  
 
== '''Linux&nbsp;BSP編譯方法(Linux BSP Compile Method)''' ==
 
== '''Linux&nbsp;BSP編譯方法(Linux BSP Compile Method)''' ==
 +
 +
=== [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVC_User_Guide '''Yocto 4.0'''] ===
 +
 +
=== [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVB_User_Guide '''Yocto 3.3&nbsp;'''] ===
  
 
=== [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'''] ===
Line 317: Line 559:
 
&nbsp;
 
&nbsp;
  
{| border="0" cellpadding="10" cellspacing="0" style=""
+
{| border="0" cellpadding="10" cellspacing="0" style="width:100%;"
|-
 
| &nbsp;
 
|}
 
 
 
|-
 
| &nbsp;
 
|}
 
 
 
|}
 
 
 
 
|-
 
|-
| &nbsp;
+
| <iframe height="230" key="advonline" level="campaign" path="en/aim-linux_community/" width="100%"></iframe>
 
|}
 
|}

Latest revision as of 04:29, 25 June 2024

Contents

產品介紹(Product introduction )

產品特性(Product Features)

  • NXP Arm® Cortex®-A53 i.MX8M Plus Quad/Dual up to 1.8 GHz
  • Onboard LPDDR4 4 GB / 6 GB, 4000MT/s memory
  • HDMI 1920x1080 at 60Hz, 1 Single or 1 Dual Channel 24 bit LVDS (or 1 4-Lane MIPI-DSI by BOM Option)
  • 1 4-wire RS-232/422/485, 1 USB3.2 Gen1 By 1, 1 USB2.0, 1 Micro SD, 1 Mic. in / Line out
  • 1 mini-PCIe for 3G/4G, 1 M.2 2230 Key E Slot
  • Supports Yocto Linux and Android
  • Support I/O Expansions boards by UIO40-Express


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

RSB-3720

硬件接口說明(Hardware interface introduction)

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

RSB-3720 接口布局圖(Board Dimension Layout) 

Front I/O

RTENOTITLE

 

Rear I/O

RTENOTITLE

RTENOTITLE

 

 接口列表(Connector List)

DC Power Jack (DC-IN)
USB Ports
LAN Ports
HDMI
COM_EPC-R3720/CAN_EPC

 機械尺寸(Mechanical Characteristics)

RTENOTITLE

快速入門 (Quick Start)

系统下载 (OS Download)

  • Linux系统 (Linux OS)

Yocto 3.0:IoTGateway/BSP/Linux/iMX8/OS Support List 3.0

Yocto 3.3:IoTGateway/BSP/Linux/iMX8/OS Support List 3.3 RSB-3720

Yocto 4.0: IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release RSB-3720

 

 Linux 燒錄方法 (Linux Flash eMMC Method) 

    1. 創建一個可以開機的SD Card (Create a bootable SD card )  

     先確認SD卡在Ubuntu 系統(x86) 所認到的SD卡代號 ( Check the SD card symbol in Ubuntu System (x86)

      Command: sudo fdisk - l 

      RTENOTITLE

   2. 燒錄鏡像到SD 卡中. (Flash Image into SD card) 

        Command : sudo dd if=3720A1AIM30LIVA0333_iMX8MP_6G_2021-10-05.img of=/dev/sdf bs=1M conv=fsync 

     RTENOTITLE

   3. 將flash tool 拷貝到U盤  (Cpye the eMMC flash tool into USB Disk ) 

      RTENOTITLE

4. 設定終端機(Set Debug Terminal) 

Debug 串口調試 (Debug port Setting)

以 Tera Term  為例介绍如何使用串口調試功能 ( Tera Term is kind of terminal tool , we need to set  the parameter (Baud Rate , Data, Parity, Stop, Flow Control )  into "Tera Term  terminal tool " )  

   波特率(Baud Rate):115200
   數據位(Data):8
   奇偶校驗(Parity):无 (none)
   停止位(Stop):1
   流控(Flow Control):无 (none) 

Tera Term Tool 

Check the Sriel port in Device Manager (查看PC端的串口號):

if you can not identify the Serial device , please check your serial driver. 

 

5. 將可開機的SD 卡插入 SD 插槽, 並打開電源開機     (Plug into the SD card into SD Card Slot , then turn on the power) 

   RTENOTITLE

6. 確認撥碼開關 為 SD 卡開機模式  (Check the Switch)

SD 卡開機: 1, 2 on  (Set the SD card boot up mode ,  1 on  2 on ) 

RTENOTITLE

'eMMC 開機: '2 on ( Set the eMMC boot up mode , 2 on , others off) 

RTENOTITLE

7.打開電源,由終端機可看到開機訊息  (Turn on the power , you will see the debug message from Terminal tool ) 

RTENOTITLE

8. 開機後 請再重新開機一次,系統將會重新劃分磁區大小. (If you can not not copy the eMMC flash tool into root file system , please reboot the device , because , the system will the reconfigure the partition )

9. 燒錄eMMC前, 請將U盤插入USB port   (Please pulg the USB Disk into USB port before flash eMMC)

10. 在系統確認U盤 (Check the USB disk in the Yocto System (Device side) ) 

     RTENOTITLE

11. 將flash tool 燒錄鏡像,拷貝到根目錄 (Copy the flash tool into root file system) 

 RTENOTITLE

RTENOTITLE

12. 解壓縮 flash tool  (Unzip the flash tool ) 

RTENOTITLE

13. 執行燒錄eMMC  (Exeucte the eMMC flash script )

   Note: eMMC : /dev/mmcblk2

  RTENOTITLE

14. 移除SD卡 ,重新開機,並切換撥碼開關  (Remove the SD card , Change the Switch to eMMC mode , then reboot the system) 

RTENOTITLE

15. 從eMMC 開機,debug 訊息  (You will see the debug message when you boot up from eMMC flash ) 

RTENOTITLE

    

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

Display Setting (RSB-3720)

      U-boot Command                    

  • Display
    • HDMI (default)
      • imx8mp-rsb3720-a1.dtb
    • LVDS
      • g070vw01(LVDS0) + HDMI
        • imx8mp-rsb3720-a1-lvds0-auo.dtb
      • g070vw01(LVDS1) + HDMI
        • imx8mp-rsb3720-a1-lvds1-auo.dtb
      • g215hvn01(DUAL LVDS) + HDMI
        • imx8mp-rsb3720-a1-lvds-dual.dtb
    • DSI
      • adv7535(DSI to HDMI) + HDMI
        • imx8mp-rsb3720-a1-adv7535.dtb
      • auog101uan02(DSI) + HDMI
        • imx8mp-rsb3720-a1-auog101uan02.dtb
  • Camera
    • OV5640 (default)
      • imx8mp-rsb3720-a1.dtb
    • Basler camrea
      • imx8mp-rsb3720-a1-basler.dtb

乙太網路使用方法(Ethernent Testing Method)

Command : ifconfig 

RTENOTITLE

RTENOTITLE

Command: Ping 8.8.8.8 

RTENOTITLE

Change IP Addr Command:

Check Active Ethernet interface:

root@imx8mprsb3720a1:~# connmanctl services
*AR Wired                ethernet_74fe485e4fbd_cable

Set static IP Addr: 

  1. connmanctl config <service> --ipv4 manual <ip address> <netmask> <gateway>
    # connmanctl config <service> --nameservers <dns-addr>

Example:

root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254
root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --nameservers 8.8.8.8 4.4.4.4

WiFi使用方法(WIFI Testing Method)

# killall wpa_supplicant
# ifconfig wlan0 up
# wpa_passphrase "SSID" "PASSWORD" > /tmp/wpa.conf
# cat /tmp/wpa.conf
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
# udhcpc -b -i wlan0
# ifconfig
# ping 8.8.8.8
Add DNS to /etc/resolv.conf
# cat /etc/resolv.conf
# Generated by Connection Manager
nameserver 8.8.8.8
nameserver 8.8.4.4
Now can ping google.com
# ping google.com

4G使用方法(4G Testing Method)

Check and change module to pppd mode
# stty -F /dev/ttyUSB3 –echo
# cat /dev/ttyUSB3 &
# echo AT+UUSBCONF? > /dev/ttyUSB3
 RTENOTITLE
Change to pppd mode:
# echo AT+UUSBCONF=0 > /dev/ttyUSB3
 RTENOTITLE
# echo AT+CFUN=16 > /dev/ttyUSB3
 RTENOTITLE
The module will be change to ttyACM0*, check again
# stty -F /dev/ttyACM0 –echo
# cat /dev/ttyACM0 &
# echo AT+UUSBCONF? > /dev/ttyACM0
 RTENOTITLE
Set module to con
# stty -F /dev/ttyACM0 -echo
# cat /dev/ttyACM0 &
# echo AT+csq > /dev/ttyACM0
# echo AT+cops? > /dev/ttyACM0
# echo AT+cgdcont? > /dev/ttyACM0
 RTENOTITLE
Connect to Internet:
# pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &
# ifconfig
 RTENOTITLE
# ping 8.8.8.8

RTENOTITLE

GPIO使用方法(GPIO Operating Method)

GPIO Pin Number
GPIO2 501
GPIO4 503
GPIO5 504
GPIO6 505
GPIO7 506
GPIO8 507
GPIO9 508
GPIO10 509
GPIO11 139
GPIO12 138

Short GPIO pin 2 & pin 4

RTENOTITLE

Short GPIO pin 5 & pin 6

RTENOTITLE

Short GPIO pin 7 & pin 8

RTENOTITLE

Short GPIO pin 9 & pin 10 

RTENOTITLE

Short GPIO pin 11 & pin 12

RTENOTITLE

 

 

LED_USER使用方法(LED_USER ON/OFF test)

ON: echo 255 > /sys/class/leds/user/brightness
OFF: echo 0 > /sys/class/leds/user/brightness


COM1複合使用方法(COM1 complex Port Operating Method) 

Set GPIO#496, #497 
Set to 0,1 for RS-485
Set to 1,1 for RS-422
Set to 0,0 for loopback
Set to 1,0 for RS-232

RS-232 default as debug console)

RTENOTITLE

RS-485 test
Test RS-485 with Adam-4520. Adam-4520 Pin to RSB-3720 COM1
Data- : Pin 1: COM_DCD
Data+ : Pin 3: COM_RXD

RS-485 test
# echo 496 > /sys/class/gpio/export
# echo 497 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio1/direction
# echo out > /sys/class/gpio/gpio2/direction
# echo 0 > /sys/class/gpio/gpio1/value
# echo 1 > /sys/class/gpio/gpio2/value
# ./enable485 /dev/ttymxc2
# stty -F /dev/ttymxc2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttymxc2 &
# echo "Serial Test" > /dev/ttymxc2
Will print “Serial Test” through RS-485

RS-232  --  Disable console

Disable debug message output can also improve boot speed

Disable kernel message

setenv mmcargs setenv bootargs ${jh_clk} console=${console} modprobe.blacklist=${modprobe.blacklist} root=${mmcroot} video=HDMI-A-1:${videores} '''quiet'''
env save
reset

Or

Disable debug port

(1) Yocto machine setting:

modify /sources/meta-advantech/meta-fsl-imx/conf/machine$/${MC}.conf

SERIAL_CONSOLES = ";"

(2) Uboot parameter setting:

  • For the imx8mq, imx8mm, imx8mp:
setenv console disabled
env save
reset


CANBus or CAN-FD

(Please note that the CAN function on RSB-3720 COM1 Pin Header is CANBus only with RSB-3720CQ & RSB-3720CD, RSB-3720 COM1 Pin Header is CANB-FD only with RSB-3720WQ & RSB-3720WD) 
Step 1: Connect the UIO-4034 A101-2 CANbus port Pin 2 and Pin 7 to RSB-3720 COM1 with 1700100250 cable, pin 9 and Pin 6 of the DB9. 
Step 2: Set CAN0 and CAN1 up.

root@imx8mprsb3720a1:~# ip link set can0 up type can bitrate 125000 
[ 1362.935162] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready 
root@imx8mprsb3720a1:~# ifconfig can0 up 
root@imx8mprsb3720a1:~# ip link set can1 up type can bitrate 125000 
[ 1381.546624] IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready 
root@imx8mprsb3720a1:~# ifconfig can1 up

Step 3: candump CAN0

root@imx8mprsb3720a1:~# candump can0 & 
[1] 965

Step 4: candump CAN1

root@imx8mprsb3720a1:~# cansend can1 1F334455#1122334455667788 
root@imx8mprsb3720a1:~# can0 1F334455 [8] 11 22 33 44 55 66 77 88

藍牙使用方法(BlueTooth Operating Method)

# hciattach /dev/ttymxc0 bcm43xx 115200 flow
# hciconfig hci0 up
# hcitool scan# bluetoothctl
# discoverable on
#pairable on
# scan on
# scan off
# pair 84:C5:A6:D3:AF:E4
# connect 84:C5:A6:D3:AF:E4
Check BT connect info
# info 84:C5:A6:D3:AF:E4

音訊使用方法(BlueTooth Operating Method)

Line-in , Line-out, MIC
1.Line-out
Command : gplay-1.0
2.MIC
Command : arecord
Check audio codec:

# cat /proc/asound/cards
 0 [sgtl5000       ]: sgtl5000 - sgtl5000
                      sgtl5000
 1 [audiohdmi      ]: audio-hdmi - audio-hdmi
                      audio-hdmi
root@imx8mprsb3720a1:~#
   Set Mic/audio volume
# amixer set Mic 100%
# amixer set Lineout 100%
# amixer set PCM 100%

Record and playback
Example command:
# arecord –t wav –c 1 –r 44100 –d 5 /tmp/mic.wav
# aplay /tmp/mic.wav

Record from MIC:
# arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav
Recording WAVE './f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
# aplay f-16000.wav
Playing WAVE 'f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono

Play wav file from codec:
# aplay -D plughw:0,0 file_example_WAV_10MG.wav
Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Play wav file from HDMI:
# aplay -D plughw:1,0 file_exam
ple_WAV_10MG.wav
Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

I2C 測試( I2C Test method) 

Check I2C device (Audio codec: 0-000a)
# i2cdetect -y 0
I2C set and get:
# i2cset -f -y 0 0x0a 0 0xff00 w
# i2cget -f -y 0 0x0a 0 w
0x11a0

看門狗測試 (Watch Dog Test method) 

System will reboot after 1 sec
# /unit_tests/Watchdog/wdt_driver_test.out 1 2 0

RTENOTITLE

攝像頭測試(Camera Test method) 

Check MIPI CSI camera 
MIPI CSI0:
MIPI CSI1:

MIPI CSI0 - ov5640
Preview:
# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! waylandsink
Capture:
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg
MIPI CSI1 – ov5640
Preview:
# gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,width=640,height=480 ! waylandsink
Capture:
# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video1 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg

遠程訪問及文件傳輸(Remote Access and File Transimmion)

              查看主板IP位址 ( check IP Address ):

        Command : ifconfig

RTENOTITLE

 

Windows下SSH訪問及文件傳輸

SSH Remote Log into Device 

  • SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件)
  • 需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼

 

RTENOTITLE

RTENOTITLE

 

RTENOTITLE

RTENOTITLE

通用方法(General Method)

查看CPU温度(Check CPU Temperature)

    root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp   40000

    # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 40°

查看CPU频率(Check CPU Frequency)

           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
           >> 1200000
           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq    
           >> 1800000

查看内存容量(Check Memory Capacity)

root@imx8mprsb3720a1:/# busybox free -m
              total        used        free      shared  buff/cache   available
Mem:        6002524      393988     5517304       18460       91232     5507676
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) 

 Disable RTC sync service
# systemctl disable ntpd.service
 RTENOTITLE
# systemctl stop systemd-timesyncd
# systemctl stop ntpdate.service
 RTENOTITLE
Set system time to current, then write to RTC
# date 040710522021 && hwclock -w && date
 RTENOTITLE
Set incorrect time, then read time from RTC
# date 010100002000 && hwclock -r && date
 RTENOTITLE
Restart the RTC time to system time
# hwclock -s && date

RTENOTITLE 

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

Yocto 4.0

Yocto 3.3 

Yocto 3.0

如果有驗證上的錯誤 請使用以下的方法 (if you have the build error , please  use " git config --global http.sslverify false" 

### 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
============================================================

 

Add git and vim into image:

Add below in "conf/local.conf" file:

IMAGE_INSTALL_append = " git-perltools vim "

For install vim in xwayland, please add below into "meta/recipes-support/vim/vim_8.1.1518.bb b/meta/recipes-support/vim/vim_8.1.1518.bb" fie:

PACKAGECONFIG_remove = " x11 "