Difference between revisions of "RSB-3720 user guide"
Jems.cheng (talk | contribs) |
|||
(123 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | + | == '''產品介紹(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) ''' === |
− | == ''' | + | [https://www.advantech.com/en/search/?q=RSB-3720&st=support&from=support '''RSB-3720'''] |
− | === '''接口布局圖 | + | == '''硬件接口說明(Hardware interface introduction)''' == |
+ | |||
+ | === '''接口布局和尺寸(Layout and Sizes)''' === | ||
+ | |||
+ | === '''RSB-3720 接口布局圖(Board Dimension Layout) ''' === | ||
+ | |||
+ | | ||
[[File:RSB-3720 board review2021-10-21 144120.jpg|RTENOTITLE]] | [[File:RSB-3720 board review2021-10-21 144120.jpg|RTENOTITLE]] | ||
Line 23: | Line 28: | ||
[[File:RSB-3720 connector location 2021-10-21 143853.jpg|RTENOTITLE]] | [[File:RSB-3720 connector location 2021-10-21 143853.jpg|RTENOTITLE]] | ||
− | + | | |
[[File:RSB-3720 connector location back 2021-10-21 144716.jpg|RTENOTITLE]] | [[File:RSB-3720 connector location back 2021-10-21 144716.jpg|RTENOTITLE]] | ||
+ | | ||
− | + | {| border="1" cellpadding="1" cellspacing="1" | |
− | |||
− | |||
− | {| border="1" | ||
|- | |- | ||
| BAT | | BAT | ||
Line 91: | Line 94: | ||
|- | |- | ||
| USB1 | | USB1 | ||
− | | USB CONN. (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT) | + | | USB CONN. (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT) |
|} | |} | ||
+ | |||
+ | | ||
=== '''接口引脚定義 (Pin definitions)''' === | === '''接口引脚定義 (Pin definitions)''' === | ||
− | *[[BLP1|BLP1 ]] | + | *[[BLP1|BLP1 ]] |
− | *[[BLP2|BLP2]] | + | *[[BLP2|BLP2]] |
− | *[ | + | *[http://ess-wiki.advantech.com.tw/wiki/index.php?title=VDD1&oldid=21592 VDD1] |
− | *[ | + | *[http://ess-wiki.advantech.com.tw/wiki/index.php?title=SW1&oldid=21594 SW1] |
− | *[[BAT_(RTC_Battery_CONN.)|BAT (RTC Battery CONN.)]] | + | *[[BAT_(RTC_Battery_CONN.)|BAT (RTC Battery CONN.)]] |
− | *[[BL1_(LVDS_Backlight_1)|BL1 (LVDS Backlight 1)]] | + | *[[BL1_(LVDS_Backlight_1)|BL1 (LVDS Backlight 1)]] |
− | *[[BL2_(LVDS_Backlight_2)|BL2 (LVDS Backlight 2)]] | + | *[[BL2_(LVDS_Backlight_2)|BL2 (LVDS Backlight 2)]] |
− | *[[COM1_(COM_+_CAN_Pin_Header):_(default_as_debug_console)|COM1 (COM + CAN Pin Header): (default as debug console)]] | + | *[[COM1_(COM_+_CAN_Pin_Header):_(default_as_debug_console)|COM1 (COM + CAN Pin Header): (default as debug console)]] |
− | *[[CSI1_(MIPI-CSI_Camera_Input_1)|CSI1 (MIPI-CSI Camera Input 1)]] | + | *[[CSI1_(MIPI-CSI_Camera_Input_1)|CSI1 (MIPI-CSI Camera Input 1)]] |
− | *[[CSI2_(MIPI-CSI_Camera_Input_2)|CSI2 (MIPI-CSI Camera Input 2)]] | + | *[[CSI2_(MIPI-CSI_Camera_Input_2)|CSI2 (MIPI-CSI Camera Input 2)]] |
− | *[[DCIN/_DCIN1_(12V_DC_Power_Input_by_DC_Jack/_by_Pin_Header)|DCIN/ DCIN1 (12V DC Power Input by DC Jack/ by Pin Header)]] | + | *[[DCIN/_DCIN1_(12V_DC_Power_Input_by_DC_Jack/_by_Pin_Header)|DCIN/ DCIN1 (12V DC Power Input by DC Jack/ by Pin Header)]] |
− | *[[HDMI_(HDMI_CONN.)|HDMI (HDMI CONN.)]] | + | *[[HDMI_(HDMI_CONN.)|HDMI (HDMI CONN.)]] |
− | *[[LAN1_(Ethernet_eth0)|LAN1 (Ethernet eth0)]] | + | *[[LAN1_(Ethernet_eth0)|LAN1 (Ethernet eth0)]] |
− | *[[LAN2_(Ethernet_eth1)|LAN2 (Ethernet eth1)]] | + | *[[LAN2_(Ethernet_eth1)|LAN2 (Ethernet eth1)]] |
− | *[[LOUT_(Line_Out_Pin_Header)|LOUT (Line Out Pin Header)]] | + | *[[LOUT_(Line_Out_Pin_Header)|LOUT (Line Out Pin Header)]] |
− | *[[LVDS_(LVDS_CONN.)|LVDS (LVDS CONN.)]] | + | *[[LVDS_(LVDS_CONN.)|LVDS (LVDS CONN.)]] |
− | *[[M2_(M.2_Key_E_CONN.)|M2 (M.2 Key E CONN.)]] | + | *[[M2_(M.2_Key_E_CONN.)|M2 (M.2 Key E CONN.)]] |
− | *[[MIC_(MIC_In_Pin_Header)|MIC (MIC In Pin Header)]] | + | *[[MIC_(MIC_In_Pin_Header)|MIC (MIC In Pin Header)]] |
− | *[[MPCIE_(Mini-PCIe_CONN.)|MPCIE (Mini-PCIe CONN.)]] | + | *[[MPCIE_(Mini-PCIe_CONN.)|MPCIE (Mini-PCIe CONN.)]] |
− | *[[RST_(Reset_Button)|RST (Reset Button)]] | + | *[[RST_(Reset_Button)|RST (Reset Button)]] |
− | *[[SD_(SD_Slot)|SD (SD Slot)]] | + | *[[SD_(SD_Slot)|SD (SD Slot)]] |
− | *[[SIM_(SIM_Slot)|SIM (SIM Slot)]] | + | *[[SIM_(SIM_Slot)|SIM (SIM Slot)]] |
− | *[[UIO1_(UIO40-Express_Pin_Header_1)|UIO1 (UIO40-Express Pin Header 1)]] | + | *[[UIO1_(UIO40-Express_Pin_Header_1)|UIO1 (UIO40-Express Pin Header 1)]] |
− | *[[UIO2_(UIO40-Express_Pin_Header_2)|UIO2 (UIO40-Express Pin Header 2)]] | + | *[[UIO2_(UIO40-Express_Pin_Header_2)|UIO2 (UIO40-Express Pin Header 2)]] |
− | *[[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)]] | + | *[[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)]] |
− | *[[LED|LED]] | + | *[[LED|LED]] |
− | === ''' | + | |
+ | |||
+ | | ||
+ | |||
+ | === '''機械尺寸('''Mechanical Characteristics) === | ||
[[File:RSB-3720 board Dimensions 2021-10-21 145827.jpg|RTENOTITLE]] | [[File:RSB-3720 board Dimensions 2021-10-21 145827.jpg|RTENOTITLE]] | ||
− | == ''' | + | == '''快速入門 (Quick Start)''' == |
=== '''系统下载 (OS Download)''' === | === '''系统下载 (OS Download)''' === | ||
− | '''Linux系统 (Linux OS) | + | *'''Linux系统 (Linux OS)''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Yocto 3.0:'''[[IoTGateway/BSP/Linux/iMX8/OS_Support_List_3.0|IoTGateway/BSP/Linux/iMX8/OS Support List 3.0]] | |
− | ''' | ||
− | + | '''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] | |
− | ''' | ||
− | + | '''Yocto 4.0: '''[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] | |
− | ''' | ||
− | + | | |
− | |||
− | + | === ''' 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)''' | |
− | |||
− | |||
− | |||
− | |||
− | ''' 先確認SD卡在Ubuntu 系統(x86) 所認到的SD卡代號''' | ||
''' Command: sudo fdisk - l ''' | ''' Command: sudo fdisk - l ''' | ||
− | ''' [[File:RSB-3720 SD fdisk info 2021-10-28 113030.jpg]]''' | + | ''' [[File:RSB-3720 SD fdisk info 2021-10-28 113030.jpg|RTENOTITLE]]''' |
− | ''' 2. 燒錄鏡像到SD 卡中. ''' | + | ''' 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 ''' | + | '''Command : sudo dd if=3720A1AIM30LIVA0333_iMX8MP_6G_2021-10-05.img of=/dev/sdf bs=1M conv=fsync ''' |
− | ''' [[File:RSB-3720 dd SD info 2021-10-28 113804.jpg]]''' | + | ''' [[File:RSB-3720 dd SD info 2021-10-28 113804.jpg|RTENOTITLE]]''' |
− | ''' 3. 將flash tool 拷貝到U盤 ''' | + | ''' 3. 將flash tool 拷貝到U盤 (Cpye the eMMC flash tool into USB Disk ) ''' |
− | ''' [[File:RSB-3720 cp file into USB 2021-10-28 115157.jpg]]''' | + | ''' [[File:RSB-3720 cp file into USB 2021-10-28 115157.jpg|RTENOTITLE]]''' |
− | ''' | + | '''4. 設定終端機(Set Debug Terminal) ''' |
Debug 串口調試 (Debug port Setting) | Debug 串口調試 (Debug port Setting) | ||
− | 以 Tera Term | + | 以 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 " ) |
− | <pre> Baud | + | <pre> 波特率(Baud Rate):115200 |
− | Data | + | 數據位(Data):8 |
− | Parity | + | 奇偶校驗(Parity):无 (none) |
− | + | 停止位(Stop):1 | |
− | Flow | + | 流控(Flow Control):无 (none) </pre> |
− | |||
− | |||
Tera Term Tool | Tera Term Tool | ||
− | + | Check the Sriel port in Device Manager (查看PC端的串口號): | |
− | |||
− | |||
− | |||
− | Check the Sriel port in Device Manager ( | ||
if you can not identify the Serial device , please check your serial driver. | 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) | ||
− | + | [[File:RSB-3720 SD solt 2021-10-28 115806.jpg|RTENOTITLE]] | |
− | |||
− | [[File:RSB-3720 SD solt 2021-10-28 115806.jpg]] | ||
− | '''6. 確認撥碼開關 為 SD 卡開機模式 | + | '''6. 確認撥碼開關 為 SD 卡開機模式 '''(Check the Switch) |
− | '''SD 卡開機: 1, 2 on ''' | + | '''SD 卡開機: 1, 2 on '''(Set the SD card boot up mode , 1 on 2 on ) |
− | '''[[File:RSB-3720 SD Card boot up 2021-10-28 132021.jpg]]''' | + | '''[[File:RSB-3720 SD Card boot up 2021-10-28 132021.jpg|RTENOTITLE]]''' |
− | '''eMMC 開機: ''''''2 on''' | + | '''eMMC 開機: ''''''2 on''' ( Set the eMMC boot up mode , 2 on , others off) |
− | '''[[File:RSB-3720 eMMC boot up 2021-10-28 132058.jpg]]''' | + | '''[[File:RSB-3720 eMMC boot up 2021-10-28 132058.jpg|RTENOTITLE]]''' |
− | '''7.打開電源,由終端機可看到開機訊息 ''' | + | '''7.打開電源,由終端機可看到開機訊息 '''(Turn on the power , you will see the debug message from Terminal tool ) |
− | [[File:RSB-3720 debug message 2021-10-28 132358.jpg]] | + | [[File:RSB-3720 debug message 2021-10-28 132358.jpg|RTENOTITLE]] |
− | '''8. 開機後 請再重新開機一次,系統將會重新劃分磁區大小.''' | + | '''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. | + | '''9. 燒錄eMMC前, 請將U盤插入USB port '''(Please pulg the USB Disk into USB port before flash eMMC) |
− | '''10. 在系統確認U盤 ''' | + | '''10. 在系統確認U盤 '''(Check the USB disk in the Yocto System (Device side) ) |
− | ''' [[File:RSB-3720 check usb in system 2021-10-28 132956.jpg]]''' | + | ''' [[File:RSB-3720 check usb in system 2021-10-28 132956.jpg|RTENOTITLE]]''' |
− | '''11. 將flash tool 燒錄鏡像,拷貝到根目錄''' | + | '''11. 將flash tool 燒錄鏡像,拷貝到根目錄 '''(Copy the flash tool into root file system) |
− | [[File:RSB-3720 cp flashtool to root 2021-10-28 133320.jpg]] | + | [[File:RSB-3720 cp flashtool to root 2021-10-28 133320.jpg|RTENOTITLE]] |
− | [[File:RSB-3720 cp root check 2021-10-28 133504.jpg]] | + | [[File:RSB-3720 cp root check 2021-10-28 133504.jpg|RTENOTITLE]] |
− | '''12. 解壓縮 flash tool ''' | + | '''12. 解壓縮 flash tool '''(Unzip the flash tool ) |
− | '''[[File:RSB-3720 unzip flash tool 2021-10-28 134631.jpg]]''' | + | '''[[File:RSB-3720 unzip flash tool 2021-10-28 134631.jpg|RTENOTITLE]]''' |
− | '''13. 執行燒錄eMMC ''' | + | '''13. 執行燒錄eMMC '''(Exeucte the eMMC flash script ) |
− | Note: eMMC : /dev/mmcblk2 | + | Note: eMMC : /dev/mmcblk2 |
− | [[File:RSB-3720 flash eMMC done 2021-10-28 141001.jpg]] | + | [[File:RSB-3720 flash eMMC done 2021-10-28 141001.jpg|RTENOTITLE]] |
− | '''14. 移除SD卡 ,重新開機,並切換撥碼開關 | + | '''14. 移除SD卡 ,重新開機,並切換撥碼開關 '''(Remove the SD card , Change the Switch to eMMC mode , then reboot the system) |
− | '''[[File:RSB-3720 eMMC boot up 2021-10-28 132058.jpg]]''' | + | '''[[File:RSB-3720 eMMC boot up 2021-10-28 132058.jpg|RTENOTITLE]]''' |
− | '''15. 從eMMC 開機,debug 訊息 ''' | + | '''15. 從eMMC 開機,debug 訊息 '''(You will see the debug message when you boot up from eMMC flash ) |
− | '''[[File:RSB-3720 bootup from eMMC 2021-10-28 141704.jpg]]''' | + | '''[[File:RSB-3720 bootup from eMMC 2021-10-28 141704.jpg|RTENOTITLE]]''' |
''' ''' | ''' ''' | ||
Line 277: | Line 243: | ||
== '''Linux系统的基本使用(Linux System Basic Operating Method)''' == | == '''Linux系统的基本使用(Linux System Basic Operating Method)''' == | ||
− | === ''' | + | === '''Display Setting (RSB-3720)''' === |
''' U-boot Command ''' | ''' U-boot Command ''' | ||
− | *Display | + | *Display |
− | **HDMI (default) | + | **HDMI (default) |
− | ***imx8mp-rsb3720-a1.dtb | + | ***imx8mp-rsb3720-a1.dtb |
− | **LVDS | + | **LVDS |
− | ***g070vw01(LVDS0) + HDMI | + | ***g070vw01(LVDS0) + HDMI |
− | ****imx8mp-rsb3720-a1-lvds0-auo.dtb | + | ****imx8mp-rsb3720-a1-lvds0-auo.dtb |
− | ***g070vw01(LVDS1) + HDMI | + | ***g070vw01(LVDS1) + HDMI |
− | ****imx8mp-rsb3720-a1-lvds1-auo.dtb | + | ****imx8mp-rsb3720-a1-lvds1-auo.dtb |
− | ***g215hvn01(DUAL LVDS) + HDMI | + | ***g215hvn01(DUAL LVDS) + HDMI |
− | ****imx8mp-rsb3720-a1-lvds-dual.dtb | + | ****imx8mp-rsb3720-a1-lvds-dual.dtb |
− | **DSI | + | **DSI |
− | ***adv7535(DSI to HDMI) + HDMI | + | ***adv7535(DSI to HDMI) + HDMI |
− | ****imx8mp-rsb3720-a1-adv7535.dtb | + | ****imx8mp-rsb3720-a1-adv7535.dtb |
− | ***auog101uan02(DSI) + HDMI | + | ***auog101uan02(DSI) + HDMI |
− | ****imx8mp-rsb3720-a1-auog101uan02.dtb | + | ****imx8mp-rsb3720-a1-auog101uan02.dtb |
− | *Camera | + | *Camera |
− | **OV5640 (default) | + | **OV5640 (default) |
− | ***imx8mp-rsb3720-a1.dtb | + | ***imx8mp-rsb3720-a1.dtb |
− | **Basler camrea | + | **Basler camrea |
− | ***imx8mp-rsb3720-a1-basler.dtb | + | ***imx8mp-rsb3720-a1-basler.dtb |
=== '''乙太網路使用方法(Ethernent Testing Method)''' === | === '''乙太網路使用方法(Ethernent Testing Method)''' === | ||
Line 306: | Line 272: | ||
'''Command : ifconfig ''' | '''Command : ifconfig ''' | ||
− | [[File:RSB-3720 ifconfig eth0 2021-10-28 142051.jpg]] | + | [[File:RSB-3720 ifconfig eth0 2021-10-28 142051.jpg|RTENOTITLE]] |
− | [[File:RSB-3720 ifconfig eth1 2021-10-28 142202.jpg]] | + | [[File:RSB-3720 ifconfig eth1 2021-10-28 142202.jpg|RTENOTITLE]] |
'''Command: Ping 8.8.8.8 ''' | '''Command: Ping 8.8.8.8 ''' | ||
− | [[File:RSB-3720 ping 8888 2021-10-28 142402.jpg]] | + | [[File:RSB-3720 ping 8888 2021-10-28 142402.jpg|RTENOTITLE]] |
+ | |||
+ | Change IP Addr Command: | ||
+ | |||
+ | Check Active Ethernet interface: | ||
+ | |||
+ | root@imx8mprsb3720a1:~# connmanctl services<br/> *AR Wired ethernet_74fe485e4fbd_cable | ||
+ | |||
+ | Set static IP Addr: | ||
+ | |||
+ | #connmanctl config <service> --ipv4 manual <ip address> <netmask> <gateway><br/> # 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<br/> root@imx8mprsb3720a1:~# connmanctl config ethernet_74fe485e4fbd_cable --nameservers 8.8.8.8 4.4.4.4 | ||
=== '''WiFi使用方法(WIFI Testing Method)''' === | === '''WiFi使用方法(WIFI Testing Method)''' === | ||
Line 331: | Line 311: | ||
# ping google.com</pre> | # ping google.com</pre> | ||
− | === '''4G使用方法(4G Testing Method)''' === | + | |
− | < | + | |
− | + | === '''4G使用方法(4G Testing Method, Test with EWM-C117)''' === | |
− | + | ||
− | + | '''Check and change module to pppd mode<br/> # stty -F /dev/ttyUSB3 –echo<br/> # cat /dev/ttyUSB3 &<br/> # echo AT+UUSBCONF? > /dev/ttyUSB3<br/> [[File:RSB-3720 4G pic1.png|RTENOTITLE]]<br/> Change to pppd mode:<br/> # echo AT+UUSBCONF=0 > /dev/ttyUSB3<br/> [[File:RSB-3720 4G pic2.png|RTENOTITLE]]<br/> # echo AT+CFUN=16 > /dev/ttyUSB3<br/> [[File:RSB-3720 4G pic3.png|RTENOTITLE]]<br/> The module will be change to ttyACM0*, check again<br/> # stty -F /dev/ttyACM0 –echo<br/> # cat /dev/ttyACM0 &<br/> # echo AT+UUSBCONF? > /dev/ttyACM0<br/> [[File:RSB-3720 4G pic4.png|RTENOTITLE]]<br/> Set module to con<br/> # stty -F /dev/ttyACM0 -echo<br/> # cat /dev/ttyACM0 &<br/> # echo AT+csq > /dev/ttyACM0<br/> # echo AT+cops? > /dev/ttyACM0<br/> # echo AT+cgdcont? > /dev/ttyACM0<br/> [[File:RSB-3720 4G pic5.png|RTENOTITLE]]<br/> Connect to Internet:<br/> # pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &<br/> # ifconfig<br/> [[File:RSB-3720 4G pic6.png|RTENOTITLE]]<br/> # ping 8.8.8.8''' | |
− | + | ||
− | + | '''[[File:RSB-3720 4G pic7.png|RTENOTITLE]]''' | |
− | + | ||
− | + | === '''GPIO使用方法(GPIO Operating Method)''' === | |
− | + | ||
− | + | {| 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |||
+ | [[File:RSB-3720 gpio short910.png|RTENOTITLE]] | ||
+ | |||
+ | Short GPIO pin 11 & pin 12 | ||
+ | |||
+ | [[File:RSB-3720 gpio short1112.png|RTENOTITLE]] | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | === '''LED_USER使用方法(LED_USER ON/OFF test)''' === | ||
+ | |||
+ | ON: echo 255 > /sys/class/leds/user/brightness<br/> OFF: echo 0 > /sys/class/leds/user/brightness | ||
+ | |||
+ | |||
+ | === '''COM1複合使用方法(COM1 complex Port Operating Method)''' === | ||
+ | |||
+ | '''Note : please set the rs-485 , rs-422 GPIO setting with ssh console. ''' | ||
+ | |||
+ | [[File:RSB-3720 ifconfig address.png|RTENOTITLE]] | ||
+ | |||
+ | [[File:RSB-3720 reboot system.png|RTENOTITLE]] | ||
+ | |||
+ | [[File:RSB-3720 ssh connection.png|RTENOTITLE]] | ||
+ | |||
+ | [[File:RSB-3720 ssh connection login.png|RTENOTITLE]] | ||
+ | |||
+ | [[File:RSB-3720 set gpio function mode.png|RTENOTITLE]] | ||
+ | |||
+ | '''Set GPIO#496, #497 <br/> Set to 0,1 for RS-485<br/> Set to 1,1 for RS-422<br/> Set to 0,0 for loopback<br/> Set to 1,0 for RS-232''' | ||
+ | |||
+ | RS-232 default as debug console) | ||
+ | |||
+ | [[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- : 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</pre> | ||
+ | |||
+ | '''RS-232 -- Disable console''' | ||
+ | |||
+ | :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''' | ||
+ | env save | ||
+ | reset | ||
</pre> | </pre> | ||
− | + | Or | |
+ | |||
+ | Disable debug port | ||
+ | (1) Yocto machine setting: | ||
+ | modify /sources/meta-advantech/meta-fsl-imx/conf/machine$/${MC}.conf | ||
+ | <pre>SERIAL_CONSOLES = ";" | ||
+ | </pre> | ||
+ | (2) Uboot parameter setting: | ||
− | <pre /> | + | *For the imx8mq, imx8mm, imx8mp: |
+ | <pre>setenv console disabled | ||
+ | env save | ||
+ | reset | ||
+ | </pre> | ||
− | === ''' | + | === '''CANBus or CAN-FD'''[[https://ess-wiki.advantech.com.tw/wiki/index.php?title=EPC-R3720_user_guide&action=edit§ion=20 edit]] === |
− | + | (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) <br/> 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. <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 <br/> [ 1362.935162] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready <br/> root@imx8mprsb3720a1:~# ifconfig can0 up <br/> root@imx8mprsb3720a1:~# ip link set can1 up type can bitrate 125000 <br/> [ 1381.546624] IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready <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 & <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 <br/> root@imx8mprsb3720a1:~# can0 1F334455 [8] 11 22 33 44 55 66 77 88</div> | ||
− | === ''' | + | === '''藍牙使用方法(BlueTooth Operating Method)''' === |
<pre># hciattach /dev/ttymxc0 bcm43xx 115200 flow | <pre># hciattach /dev/ttymxc0 bcm43xx 115200 flow | ||
# hciconfig hci0 up | # hciconfig hci0 up | ||
Line 368: | Line 473: | ||
# info 84:C5:A6:D3:AF:E4</pre> | # info 84:C5:A6:D3:AF:E4</pre> | ||
− | |||
− | ''' 查看主板IP位址 ( | + | === '''音訊使用方法(BlueTooth Operating Method)''' === |
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Line-in , Line-out, MIC<br/> 1.Line-out<br/> Command : gplay-1.0<br/> 2.MIC<br/> Command : arecord<br/> Check audio codec:</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /proc/asound/cards<br/> 0 [sgtl5000 ]: sgtl5000 - sgtl5000<br/> sgtl5000<br/> 1 [audiohdmi ]: audio-hdmi - audio-hdmi<br/> audio-hdmi<br/> root@imx8mprsb3720a1:~#<br/> Set Mic/audio volume<br/> # amixer set Mic 100%<br/> # amixer set Lineout 100%<br/> # amixer set PCM 100%</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Record and playback<br/> Example command:<br/> # 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;">Record from MIC:<br/> # arecord -D plughw:0,0 -r 16000 -f S16_LE ./f-16000.wav<br/> Recording WAVE './f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono<br/> # aplay f-16000.wav<br/> Playing WAVE 'f-16000.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Play wav file from codec:<br/> # aplay -D plughw:0,0 file_example_WAV_10MG.wav<br/> Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Play wav file from HDMI:<br/> # aplay -D plughw:1,0 file_example_WAV_10MG.wav<br/> Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Play wav file from HDMI with gst-launch:<br/> # gst-launch-1.0 filesrc location=LRMonoPhase4.wav ! wavparse ! audioconvert ! audioresample ! autoaudiosink</div> | ||
+ | |||
+ | === '''I2C 測試( I2C Test method) ''' === | ||
+ | <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> | ||
+ | |||
+ | === '''看門狗測試 (Watch Dog Test method) ''' === | ||
+ | <pre>System will reboot after 1 sec | ||
+ | # /unit_tests/Watchdog/wdt_driver_test.out 1 2 0</pre> | ||
+ | |||
+ | [[File:RSB-3720 watchdog.png|RTENOTITLE]] | ||
+ | |||
+ | === '''攝像頭測試(Camera Test method) ''' === | ||
+ | <pre>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</pre> | ||
+ | |||
+ | === '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' === | ||
+ | |||
+ | ''' 查看主板IP位址 ( check IP Address ):''' | ||
<pre> Command : ifconfig</pre> | <pre> Command : ifconfig</pre> | ||
− | [[File: | + | [[File:RSB-3720 ifconfig 2022-01-03 153950.jpg|RTENOTITLE]] |
+ | |||
+ | | ||
− | ==== | + | ==== Windows下SSH訪問及文件傳輸 ==== |
SSH Remote Log into Device | SSH Remote Log into Device | ||
− | * | + | *SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件) |
− | * | + | *需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼 |
− | |||
+ | | ||
[[File:SSHsettingdetail.png|RTENOTITLE]] | [[File:SSHsettingdetail.png|RTENOTITLE]] | ||
Line 388: | Line 530: | ||
[[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]] | ||
− | [[File: | + | [[File:RSB-3720 ssh console.png|RTENOTITLE]] |
== '''通用方法(General Method)''' == | == '''通用方法(General Method)''' == | ||
− | === | + | === '''查看CPU温度(Check CPU Temperature)''' === |
<pre> root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 40000 | <pre> root@imx8mprsb3720a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 40000 | ||
# 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 40°</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 | <pre> cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq | ||
>> 1200000 | >> 1200000 | ||
Line 407: | Line 549: | ||
>> 1800000</pre> | >> 1800000</pre> | ||
− | === ''' | + | === '''查看内存容量(Check Memory Capacity)''' === |
− | <pre>root@ | + | <pre>root@imx8mprsb3720a1:/# busybox free -m |
− | + | total used free shared buff/cache available | |
− | Mem: | + | Mem: 6002524 393988 5517304 18460 91232 5507676 |
− | + | Swap: 0 0 0 | |
− | Swap: | ||
</pre> | </pre> | ||
− | === ''' | + | |
+ | |||
+ | === '''查看存储容量(Check Storage Capacity)''' === | ||
<pre>root@imx8qxprom5620a1:/# busybox df -h | <pre>root@imx8qxprom5620a1:/# busybox df -h | ||
Filesystem Size Used Available Use% Mounted on | Filesystem Size Used Available Use% Mounted on | ||
Line 431: | Line 574: | ||
root@imx8qxprom5620a1:/#</pre> | root@imx8qxprom5620a1:/#</pre> | ||
− | === ''' | + | |
+ | |||
+ | |||
+ | === '''網路Ping測試(Ping Network Testing)''' === | ||
<pre> ping 8.8.8.8 | <pre> ping 8.8.8.8 | ||
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. | PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. | ||
Line 437: | Line 583: | ||
64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre> | 64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms</pre> | ||
− | + | | |
− | + | ||
− | + | | |
− | + | ||
− | + | | |
− | + | ||
− | + | ||
− | + | ||
− | |||
− | == '''Linux BSP編譯方法( | + | |
+ | === '''設置固定IP與DNS(Set static IP address and DNS)''' === | ||
+ | |||
+ | [https://wiki.archlinux.org/title/systemd-networkd use systemd-networkd:] | ||
+ | |||
+ | Check running service: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">systemctl --type=service</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">systemctl --type=service | grep --ignore-case 'network'</div> | ||
+ | Set DNS: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /etc/systemd/network/20-wired.network<br/> [Match]<br/> Name=eth0</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">[Network]<br/> DHCP=ipv4<br/> DNS=8.8.8.8</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /etc/systemd/network/21-wired.network<br/> [Match]<br/> Name=eth1</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">[Network]<br/> DHCP=ipv4<br/> DNS=8.8.4.4</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl restart systemd-networkd<br/> root@imx8mprsb3720a1:~# [ 589.202133] imx-dwmac 30bf0000.ethernet eth1: PHY [stmmac-1:00] driver [RTL8211F Gigabit Ethernet]<br/> [ 589.227041] imx-dwmac 30bf0000.ethernet eth1: No Safety Features support found<br/> [ 589.234333] imx-dwmac 30bf0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported<br/> [ 589.243248] imx-dwmac 30bf0000.ethernet eth1: registered PTP clock<br/> [ 589.249491] imx-dwmac 30bf0000.ethernet eth1: configuring for phy/rgmii-id link mode<br/> [ 589.257687] 8021q: adding VLAN 0 to HW filter on device eth1<br/> [ 589.518704] RTL8211F Gigabit Ethernet 30be0000.ethernet-1:00: attached PHY driver [RTL8211F Gigabit Ethernet] (mii_bus:phy_addr=30be0000.ethernet-1:00, irq=175)<br/> [ 592.419369] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx<br/> [ 592.427154] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># networkctl status<br/> * State: routable<br/> Address: 172.22.16.82 on eth0<br/> fe80::76fe:48ff:fe73:be98 on eth0<br/> Gateway: 172.22.19.254 on eth0<br/> DNS: 8.8.4.4<br/> 8.8.8.8<br/> 172.22.2.99<br/> 172.20.1.99</div> | ||
+ | | ||
+ | |||
+ | use connmanctl: | ||
+ | |||
+ | Check network services: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># connmanctl services<br/> *AR Wired ethernet_74fe4873be98_cable</div> | ||
+ | Check network setting: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># connmanctl services ethernet_74fe4873be98_cable<br/> /net/connman/service/ethernet_74fe4873be98_cable<br/> Type = ethernet<br/> Security = [ ]<br/> State = online<br/> Favorite = True<br/> Immutable = False<br/> AutoConnect = True<br/> Name = Wired<br/> Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]<br/> IPv4 = [ Method=dhcp, Address=172.22.16.190, Netmask=255.255.252.0, Gateway=172.22.19.254 ]<br/> IPv4.Configuration = [ Method=dhcp ]<br/> IPv6 = [ ]<br/> IPv6.Configuration = [ Method=auto, Privacy=disabled ]<br/> Nameservers = [ 172.22.2.99, 172.20.1.99 ]<br/> Nameservers.Configuration = [ ]<br/> Timeservers = [ ]<br/> Timeservers.Configuration = [ ]<br/> Domains = [ ADVANTECH.CORP ]<br/> Domains.Configuration = [ ]<br/> Proxy = [ Method=direct ]<br/> Proxy.Configuration = [ ]<br/> mDNS = False<br/> mDNS.Configuration = False<br/> Provider = [ ]</div> | ||
+ | Set static IP Address: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># connmanctl config ethernet_74fe4873be98_cable --ipv4 manual 192.168.0.1 255.255.255.0 192.168.0.254<br/> # connmanctl services ethernet_74fe4873be98_cable<br/> /net/connman/service/ethernet_74fe4873be98_cable<br/> Type = ethernet<br/> Security = [ ]<br/> State = ready<br/> Favorite = True<br/> Immutable = False<br/> AutoConnect = True<br/> Name = Wired<br/> Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]<br/> IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]<br/> IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]<br/> IPv6 = [ ]<br/> IPv6.Configuration = [ Method=auto, Privacy=disabled ]<br/> Nameservers = [ ]<br/> Nameservers.Configuration = [ ]<br/> Timeservers = [ ]<br/> Timeservers.Configuration = [ ]<br/> Domains = [ ]<br/> Domains.Configuration = [ ]<br/> Proxy = [ Method=direct ]<br/> Proxy.Configuration = [ ]<br/> mDNS = False<br/> mDNS.Configuration = False<br/> Provider = [ ]</div> | ||
+ | Set DNS server: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># connmanctl config ethernet_74fe4873be98_cable --nameservers 8.8.8.8 8.8.4.4<br/> # connmanctl services ethernet_74fe4873be98_cable<br/> /net/connman/service/ethernet_74fe4873be98_cable<br/> Type = ethernet<br/> Security = [ ]<br/> State = ready<br/> Favorite = True<br/> Immutable = False<br/> AutoConnect = True<br/> Name = Wired<br/> Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]<br/> IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]<br/> IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]<br/> IPv6 = [ ]<br/> IPv6.Configuration = [ Method=auto, Privacy=disabled ]<br/> Nameservers = [ 8.8.8.8, 8.8.4.4 ]<br/> Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]<br/> Timeservers = [ ]<br/> Timeservers.Configuration = [ ]<br/> Domains = [ ]<br/> Domains.Configuration = [ ]<br/> Proxy = [ Method=direct ]<br/> Proxy.Configuration = [ ]<br/> mDNS = False<br/> mDNS.Configuration = False<br/> Provider = [ ]</div> | ||
+ | Changing the IP back to dhcp: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># connmanctl config ethernet_74fe4873be98_cable --ipv4 dhcp<br/> # connmanctl services ethernet_74fe4873be98_cable<br/> /net/connman/service/ethernet_74fe4873be98_cable<br/> Type = ethernet<br/> Security = [ ]<br/> State = ready<br/> Favorite = True<br/> Immutable = False<br/> AutoConnect = True<br/> Name = Wired<br/> Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]<br/> IPv4 = [ Method=dhcp, Address=172.22.16.82, Netmask=255.255.252.0, Gateway=172.22.19.254 ]<br/> IPv4.Configuration = [ Method=dhcp ]<br/> IPv6 = [ ]<br/> IPv6.Configuration = [ Method=auto, Privacy=disabled ]<br/> Nameservers = [ 8.8.8.8, 8.8.4.4 ]<br/> Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]<br/> Timeservers = [ ]<br/> Timeservers.Configuration = [ ]<br/> Domains = [ ADVANTECH.CORP ]<br/> Domains.Configuration = [ ]<br/> Proxy = [ Method=direct ]<br/> Proxy.Configuration = [ ]<br/> mDNS = False<br/> mDNS.Configuration = False<br/> Provider = [ ]</div> | ||
+ | Disable connman: | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl stop connman</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl disable connman</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl daemon-reload</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl restart systemd-networkd</div> | ||
+ | Check DNS currently in use by systemd-resolved | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># resolvectl status</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># networkctl sttaus</div> | ||
+ | DNS cannot work after disable connman service: [https://wiki.archlinux.org/title/systemd-resolved systemd-resolved] | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ls -al /etc/resolv.conf</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl daemon-reload</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl restart systemd-networkd</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># systemctl restart systemd-resolved</div> | ||
+ | |||
+ | === '''設置RTC (RTC Setting) ''' === | ||
+ | |||
+ | Disable RTC sync service<br/> # systemctl disable ntpd.service<br/> [[File:RSB-3720 RTC pic1.png|RTENOTITLE]]<br/> # systemctl stop systemd-timesyncd<br/> # systemctl stop ntpdate.service<br/> [[File:RSB-3720 RTC pic2.png|RTENOTITLE]]<br/> Set system time to current, then write to RTC<br/> # date 040710522021 && hwclock -w && date<br/> [[File:RSB-3720 RTC pic3.png|RTENOTITLE]]<br/> Set incorrect time, then read time from RTC<br/> # date 010100002000 && hwclock -r && date<br/> [[File:RSB-3720 RTC pic4.png|RTENOTITLE]]<br/> Restart the RTC time to system time<br/> # hwclock -s && date | ||
+ | |||
+ | [[File:RSB-3720 RTC pic5.png|RTENOTITLE]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === 設置LVDS clock (LVDS clock setting) === | ||
+ | |||
+ | Reference: | ||
+ | |||
+ | <span style="font-size:small;"><span style="font-family:Arial,Helvetica,sans-serif;">[https://community.nxp.com/t5/i-MX-Processors/Limited-PLL-options-for-setting-up-LVDS-pixel-clock-on-IMX8MP/m-p/1502546#M193574 Limited PLL options for setting up LVDS pixel clock on IMX8MP]</span></span> | ||
+ | |||
+ | [https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/different-lvds-support-on-imx8mp/ta-p/1549174?attachment-id=144583 LVDS PLL of imx8mp.pdf] | ||
+ | |||
+ | [https://ess-wiki.advantech.com.tw/view/設置MX8MP_LVDS_clock 設置MX8MP_LVDS_clock (Setup MX8MP_LVDS_clock)] | ||
+ | |||
+ | === Screenshot on weston by weston-screenshooter === | ||
+ | |||
+ | Add "--debug" in /lib/systemd/system/weston@.service | ||
+ | |||
+ | [[File:Weston-screenshooter.png|RTENOTITLE]] | ||
+ | |||
+ | Save and exit. Type command to reload the sercive: | ||
+ | |||
+ | root@imx8mprsb3720a1:~# systemctl daemon-reload<br/> root@imx8mprsb3720a1:~# systemctl restart weston@root<br/> root@imx8mprsb3720a1:~# weston --debug<br/> root@imx8mprsb3720a1:~# weston-screenshooter | ||
+ | |||
+ | It will generate the screenshot wayland-screenshot*.png file: | ||
+ | |||
+ | [[File:Weston-screenshot.png|RTENOTITLE]] | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | === Autoexec program after login to the system === | ||
+ | |||
+ | Place the script file under /etc/profile.d/ | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"> | ||
+ | root@imx8mprsb3720a1:~# cat /etc/profile.d/<br/> bash_completion.sh gawk.csh gawk.sh qt5.sh test.sh tslib.sh weston.sh<br/> root@imx8mprsb3720a1:~# cat /etc/profile.d/test.sh<br/> #!/bin/sh | ||
+ | |||
+ | echo "I am running here..."<br/> root@imx8mprsb3720a1:~# | ||
+ | </div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">imx8mprsb3720a1 login: root<br/> Last login: Mon May 13 08:31:03 UTC 2024 on tty7<br/> I am running here...<br/> root@imx8mprsb3720a1:~#</div> | ||
+ | |||
+ | === Others: === | ||
+ | |||
+ | [https://ess-wiki.advantech.com.tw/view/Conf_local.conf conf/local.conf] | ||
+ | |||
+ | [https://ess-wiki.advantech.com.tw/view/HDMI_rotation HDMI screen rotation] | ||
+ | |||
+ | == '''Linux BSP編譯方法(Linux BSP Compile Method)''' == | ||
+ | |||
+ | === [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVD_User_Guide '''Yocto 4.2'''] === | ||
+ | |||
+ | === [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 '''] === | ||
=== [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'''] === | ||
+ | |||
+ | '''如果有驗證上的錯誤 請使用以下的方法 '''(if you have the build error , please use " <u>'''git config --global http.sslverify false" '''</u> | ||
+ | |||
+ | <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> | ||
+ | |||
+ | | ||
+ | |||
+ | '''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 "''' | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Yocto 4.0 cannot fetch git submodule:</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">At path "~/adv-release-bsp/$build_folder/tmp/work/armv8a-poky-linux/nnshark/2021.10.imx-r0/git"</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">git config submodule.common.url [https://github.com/GStreamer/common.git https://github.com/GStreamer/common.git]</div> | ||
+ | | ||
+ | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">Yocto 4.2 cannot fetch git submodule:</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"> | ||
+ | diff --git a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb<br/> index f0e6fe73bd..3fc90f526e 100644<br/> --- a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb<br/> +++ b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb<br/> @@ -12,7 +12,7 @@ DEPENDS = "\<br/> perf \<br/> " | ||
+ | |||
+ | -NNSHARK_SRC ?= "gitsm://github.com/nxp-imx/nnshark.git;protocol=https"<br/> +NNSHARK_SRC ?= "[git://github.com/nxp-imx/nnshark.git;protocol=https git://github.com/nxp-imx/nnshark.git;protocol=https]"<br/> SRCBRANCH ?= "2021.10.imx"<br/> SRC_URI = "${NNSHARK_SRC};branch=${SRCBRANCH}"<br/> SRCREV = "e905828f16e3c374da7da9af30a5922086da4400"<br/> | ||
+ | </div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">At path "~/adv-release-bsp/$build_folder/tmp/work/armv8a-poky-linux/nnshark/2021.10.imx-r0/git"</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">git config submodule.common.url [https://github.com/GStreamer/common.git https://github.com/GStreamer/common.git]</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">git submodule update</div> | ||
+ | | ||
+ | |||
+ | {| border="0" cellpadding="10" cellspacing="0" style="width:100%;" | ||
+ | |- | ||
+ | | <iframe height="230" key="advonline" level="campaign" path="en/aim-linux_community/" width="100%"></iframe> | ||
+ | |} |
Revision as of 04:34, 13 September 2024
Contents
- 1 產品介紹(Product introduction )
- 2 硬件接口說明(Hardware interface introduction)
- 3 快速入門 (Quick Start)
- 4 Linux系统的基本使用(Linux System Basic Operating Method)
- 4.1 Display Setting (RSB-3720)
- 4.2 乙太網路使用方法(Ethernent Testing Method)
- 4.3 WiFi使用方法(WIFI Testing Method)
- 4.4 4G使用方法(4G Testing Method, Test with EWM-C117)
- 4.5 GPIO使用方法(GPIO Operating Method)
- 4.6 LED_USER使用方法(LED_USER ON/OFF test)
- 4.7 COM1複合使用方法(COM1 complex Port Operating Method)
- 4.8 CANBus or CAN-FD[edit]
- 4.9 藍牙使用方法(BlueTooth Operating Method)
- 4.10 音訊使用方法(BlueTooth Operating Method)
- 4.11 I2C 測試( I2C Test method)
- 4.12 看門狗測試 (Watch Dog Test method)
- 4.13 攝像頭測試(Camera Test method)
- 4.14 遠程訪問及文件傳輸(Remote Access and File Transimmion)
- 5 通用方法(General Method)
- 5.1 查看CPU温度(Check CPU Temperature)
- 5.2 查看CPU频率(Check CPU Frequency)
- 5.3 查看内存容量(Check Memory Capacity)
- 5.4 查看存储容量(Check Storage Capacity)
- 5.5 網路Ping測試(Ping Network Testing)
- 5.6 設置固定IP與DNS(Set static IP address and DNS)
- 5.7 設置RTC (RTC Setting)
- 5.8 設置LVDS clock (LVDS clock setting)
- 5.9 Screenshot on weston by weston-screenshooter
- 5.10 Autoexec program after login to the system
- 5.11 Others:
- 6 Linux BSP編譯方法(Linux BSP Compile Method)
產品介紹(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)
硬件接口說明(Hardware interface introduction)
接口布局和尺寸(Layout and Sizes)
RSB-3720 接口布局圖(Board Dimension Layout)
BAT | RTC Battery Connector |
BL1 | LVDS Backlight 1 |
BL2 | LVDS Backlight 2 |
COM1 | COM + CAN Pin Header (default as debug console) |
CSI1 | MIPI-CSI Camera Input 1 |
CSI2 | MIPI-CSI Camera Input 2 |
DCIN/DCIN 1 | 12V DC Power Inout by DC Jack / by Pin Header |
HDMI | HDMI CONN |
LAN1 | Ethernet 1 |
LAN2 | Ethernet 2 |
LOUT | Line Out Pin Header |
LVDS | LVDS CONN. |
M2 | M.2 Key E CONN. |
MIC | MIC In Pin Header |
MPCIE | Mini-PCIe CONN. |
RST | Rest Button |
SD | SD 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) |
接口引脚定義 (Pin definitions)
- BLP1
- BLP2
- VDD1
- SW1
- BAT (RTC Battery CONN.)
- BL1 (LVDS Backlight 1)
- BL2 (LVDS Backlight 2)
- COM1 (COM + CAN Pin Header): (default as debug console)
- 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.)
- LAN1 (Ethernet eth0)
- LAN2 (Ethernet eth1)
- LOUT (Line Out Pin Header)
- LVDS (LVDS CONN.)
- M2 (M.2 Key E CONN.)
- MIC (MIC In Pin Header)
- MPCIE (Mini-PCIe CONN.)
- RST (Reset Button)
- SD (SD Slot)
- SIM (SIM Slot)
- UIO1 (UIO40-Express Pin Header 1)
- UIO2 (UIO40-Express Pin Header 2)
- USB 1 (USB 3.2 Gen 1 on TOP + USB 2.0 on BOT)
- LED
機械尺寸(Mechanical Characteristics)
快速入門 (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
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
3. 將flash tool 拷貝到U盤 (Cpye the eMMC flash tool into USB Disk )
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)
6. 確認撥碼開關 為 SD 卡開機模式 (Check the Switch)
SD 卡開機: 1, 2 on (Set the SD card boot up mode , 1 on 2 on )
'eMMC 開機: '2 on ( Set the eMMC boot up mode , 2 on , others off)
7.打開電源,由終端機可看到開機訊息 (Turn on the power , you will see the debug message from Terminal tool )
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) )
11. 將flash tool 燒錄鏡像,拷貝到根目錄 (Copy the flash tool into root file system)
12. 解壓縮 flash tool (Unzip the flash tool )
13. 執行燒錄eMMC (Exeucte the eMMC flash script )
Note: eMMC : /dev/mmcblk2
14. 移除SD卡 ,重新開機,並切換撥碼開關 (Remove the SD card , Change the Switch to eMMC mode , then reboot the system)
15. 從eMMC 開機,debug 訊息 (You will see the debug message when you boot up from eMMC flash )
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
- g070vw01(LVDS0) + HDMI
- DSI
- adv7535(DSI to HDMI) + HDMI
- imx8mp-rsb3720-a1-adv7535.dtb
- auog101uan02(DSI) + HDMI
- imx8mp-rsb3720-a1-auog101uan02.dtb
- adv7535(DSI to HDMI) + HDMI
- HDMI (default)
- Camera
- OV5640 (default)
- imx8mp-rsb3720-a1.dtb
- Basler camrea
- imx8mp-rsb3720-a1-basler.dtb
- OV5640 (default)
乙太網路使用方法(Ethernent Testing Method)
Command : ifconfig
Command: Ping 8.8.8.8
Change IP Addr Command:
Check Active Ethernet interface:
root@imx8mprsb3720a1:~# connmanctl services
*AR Wired ethernet_74fe485e4fbd_cable
Set static IP Addr:
- 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, Test with EWM-C117)
Check and change module to pppd mode
# stty -F /dev/ttyUSB3 –echo
# cat /dev/ttyUSB3 &
# echo AT+UUSBCONF? > /dev/ttyUSB3
Change to pppd mode:
# echo AT+UUSBCONF=0 > /dev/ttyUSB3
# echo AT+CFUN=16 > /dev/ttyUSB3
The module will be change to ttyACM0*, check again
# stty -F /dev/ttyACM0 –echo
# cat /dev/ttyACM0 &
# echo AT+UUSBCONF? > /dev/ttyACM0
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
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
# ping 8.8.8.8
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
Short GPIO pin 5 & pin 6
Short GPIO pin 7 & pin 8
Short GPIO pin 9 & pin 10
Short GPIO pin 11 & pin 12
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)
Note : please set the rs-485 , rs-422 GPIO setting with ssh console.
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)
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[edit]
(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.
[ 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
[1] 965
Step 4: candump CAN1
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)
1.Line-out
Command : gplay-1.0
2.MIC
Command : arecord
Check audio codec:
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%
Example command:
# arecord –t wav –c 1 –r 44100 –d 5 /tmp/mic.wav
# aplay /tmp/mic.wav
# 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
# 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
# aplay -D plughw:1,0 file_example_WAV_10MG.wav
Playing WAVE 'file_example_WAV_10MG.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
# gst-launch-1.0 filesrc location=LRMonoPhase4.wav ! wavparse ! audioconvert ! audioresample ! autoaudiosink
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
攝像頭測試(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
Windows下SSH訪問及文件傳輸
SSH Remote Log into Device
- SSH遠程登陸,以putty選擇putty.exe(或者使用Xshell、SecureCRT等類似軟件)
- 需要設置遠程設備的IP、通訊端口(默認22)、通訊方式錄后驗證用户名密碼
通用方法(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
設置固定IP與DNS(Set static IP address and DNS)
Check running service:
Set DNS:
[Match]
Name=eth0
DHCP=ipv4
DNS=8.8.8.8
[Match]
Name=eth1
DHCP=ipv4
DNS=8.8.4.4
root@imx8mprsb3720a1:~# [ 589.202133] imx-dwmac 30bf0000.ethernet eth1: PHY [stmmac-1:00] driver [RTL8211F Gigabit Ethernet]
[ 589.227041] imx-dwmac 30bf0000.ethernet eth1: No Safety Features support found
[ 589.234333] imx-dwmac 30bf0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
[ 589.243248] imx-dwmac 30bf0000.ethernet eth1: registered PTP clock
[ 589.249491] imx-dwmac 30bf0000.ethernet eth1: configuring for phy/rgmii-id link mode
[ 589.257687] 8021q: adding VLAN 0 to HW filter on device eth1
[ 589.518704] RTL8211F Gigabit Ethernet 30be0000.ethernet-1:00: attached PHY driver [RTL8211F Gigabit Ethernet] (mii_bus:phy_addr=30be0000.ethernet-1:00, irq=175)
[ 592.419369] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 592.427154] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
* State: routable
Address: 172.22.16.82 on eth0
fe80::76fe:48ff:fe73:be98 on eth0
Gateway: 172.22.19.254 on eth0
DNS: 8.8.4.4
8.8.8.8
172.22.2.99
172.20.1.99
use connmanctl:
Check network services:
*AR Wired ethernet_74fe4873be98_cable
Check network setting:
/net/connman/service/ethernet_74fe4873be98_cable
Type = ethernet
Security = [ ]
State = online
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
IPv4 = [ Method=dhcp, Address=172.22.16.190, Netmask=255.255.252.0, Gateway=172.22.19.254 ]
IPv4.Configuration = [ Method=dhcp ]
IPv6 = [ ]
IPv6.Configuration = [ Method=auto, Privacy=disabled ]
Nameservers = [ 172.22.2.99, 172.20.1.99 ]
Nameservers.Configuration = [ ]
Timeservers = [ ]
Timeservers.Configuration = [ ]
Domains = [ ADVANTECH.CORP ]
Domains.Configuration = [ ]
Proxy = [ Method=direct ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
Set static IP Address:
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
Type = ethernet
Security = [ ]
State = ready
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
IPv6 = [ ]
IPv6.Configuration = [ Method=auto, Privacy=disabled ]
Nameservers = [ ]
Nameservers.Configuration = [ ]
Timeservers = [ ]
Timeservers.Configuration = [ ]
Domains = [ ]
Domains.Configuration = [ ]
Proxy = [ Method=direct ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
Set DNS server:
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
Type = ethernet
Security = [ ]
State = ready
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
IPv4 = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
IPv4.Configuration = [ Method=manual, Address=192.168.0.1, Netmask=255.255.255.0, Gateway=192.168.0.254 ]
IPv6 = [ ]
IPv6.Configuration = [ Method=auto, Privacy=disabled ]
Nameservers = [ 8.8.8.8, 8.8.4.4 ]
Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]
Timeservers = [ ]
Timeservers.Configuration = [ ]
Domains = [ ]
Domains.Configuration = [ ]
Proxy = [ Method=direct ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
Changing the IP back to dhcp:
# connmanctl services ethernet_74fe4873be98_cable
/net/connman/service/ethernet_74fe4873be98_cable
Type = ethernet
Security = [ ]
State = ready
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth0, Address=74:FE:48:73:BE:98, MTU=1500 ]
IPv4 = [ Method=dhcp, Address=172.22.16.82, Netmask=255.255.252.0, Gateway=172.22.19.254 ]
IPv4.Configuration = [ Method=dhcp ]
IPv6 = [ ]
IPv6.Configuration = [ Method=auto, Privacy=disabled ]
Nameservers = [ 8.8.8.8, 8.8.4.4 ]
Nameservers.Configuration = [ 8.8.8.8, 8.8.4.4 ]
Timeservers = [ ]
Timeservers.Configuration = [ ]
Domains = [ ADVANTECH.CORP ]
Domains.Configuration = [ ]
Proxy = [ Method=direct ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
Disable connman:
Check DNS currently in use by systemd-resolved
DNS cannot work after disable connman service: systemd-resolved
設置RTC (RTC Setting)
Disable RTC sync service
# systemctl disable ntpd.service
# systemctl stop systemd-timesyncd
# systemctl stop ntpdate.service
Set system time to current, then write to RTC
# date 040710522021 && hwclock -w && date
Set incorrect time, then read time from RTC
# date 010100002000 && hwclock -r && date
Restart the RTC time to system time
# hwclock -s && date
設置LVDS clock (LVDS clock setting)
Reference:
Limited PLL options for setting up LVDS pixel clock on IMX8MP
設置MX8MP_LVDS_clock (Setup MX8MP_LVDS_clock)
Screenshot on weston by weston-screenshooter
Add "--debug" in /lib/systemd/system/weston@.service
Save and exit. Type command to reload the sercive:
root@imx8mprsb3720a1:~# systemctl daemon-reload
root@imx8mprsb3720a1:~# systemctl restart weston@root
root@imx8mprsb3720a1:~# weston --debug
root@imx8mprsb3720a1:~# weston-screenshooter
It will generate the screenshot wayland-screenshot*.png file:
Autoexec program after login to the system
Place the script file under /etc/profile.d/
root@imx8mprsb3720a1:~# cat /etc/profile.d/
bash_completion.sh gawk.csh gawk.sh qt5.sh test.sh tslib.sh weston.sh
root@imx8mprsb3720a1:~# cat /etc/profile.d/test.sh
#!/bin/sh
echo "I am running here..."
root@imx8mprsb3720a1:~#
Last login: Mon May 13 08:31:03 UTC 2024 on tty7
I am running here...
root@imx8mprsb3720a1:~#
Others:
Linux BSP編譯方法(Linux BSP Compile Method)
Yocto 4.2
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 "
diff --git a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
index f0e6fe73bd..3fc90f526e 100644
--- a/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
+++ b/meta-ml/recipes-nnstreamer/nnshark/nnshark_2021.10.imx.bb
@@ -12,7 +12,7 @@ DEPENDS = "\
perf \
"
-NNSHARK_SRC ?= "gitsm://github.com/nxp-imx/nnshark.git;protocol=https"
+NNSHARK_SRC ?= "git://github.com/nxp-imx/nnshark.git;protocol=https"
SRCBRANCH ?= "2021.10.imx"
SRC_URI = "${NNSHARK_SRC};branch=${SRCBRANCH}"
SRCREV = "e905828f16e3c374da7da9af30a5922086da4400"