Difference between revisions of "ROM-2820 user guide"

From ESS-WIKI
Jump to: navigation, search
Line 1: Line 1:
  
<br/> &nbsp;
+
&nbsp;
  
 
= 產品介紹 =
 
= 產品介紹 =
Line 6: Line 6:
 
== '''產品特性(Features)''' ==
 
== '''產品特性(Features)''' ==
  
*NXP Arm® Cortex®-A35 i.MX 8ULP Dual up to 1.0 GHz&nbsp;
+
*NXP Arm® Cortex®-A35 i.MX 8ULP Dual up to 1.0 GHz  
 
+
*1 x Arm Cortex-M33 core  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*1 x Arm Cortex-M33 core&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *1 x Ethos®-U65 microNPU<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *1 x 2GB LPDDR4X up to 3733MT/s<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *1 x 4 lane MIPI-DSI&nbsp;&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *2 x USB 2.0, 5 x UART, 4 x I2C, 16 x GPIO, 2 x PWM, 2 x CAN-FD&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *Compact size form factor - OSM Size L (45 x 45 mm)<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *Support Ycoto Linux&nbsp;<br/> &nbsp;
+
*Onboard LPDDR4 1GB, 2000MT/s memory
 +
*1 x 4 lane MIPI-DSI ƒ 1 x USB2.0, 1 x USB 2.0 OTG, 5 x UART, 2 x I2C, 24 x GPIO, 6 x PWM, 1 x CAN  
 +
*Ultra small size form factor - OSM  
 +
*Support Ycoto Linux and Microsoft Azure Sphere OS
  
 
&nbsp;
 
&nbsp;
Line 14: Line 17:
 
== '''產品官網連結(Product information Link)''' ==
 
== '''產品官網連結(Product information Link)''' ==
  
[https://www.advantech.com/zh-tw/products/8fc6f753-ca1d-49f9-8676-10d53129570f/rom-2820/mod_bb82922e-d3a2-49d7-80ff-dc57f400185e '''ROM-2820''']
+
[https://www.advantech.com/zh-tw/products/8fc6f753-ca1d-49f9-8676-10d53129570f/rom-2620/mod_294031c8-4a21-4b95-adf2-923c412ef761 '''ROM-2620''']
  
 
= '''接口布局和尺寸(Layout and Sizes)''' =
 
= '''接口布局和尺寸(Layout and Sizes)''' =
  
=== '''ROM-2820&nbsp;接口布局圖&nbsp;Board Dimension Layout&nbsp;''' ===
+
=== '''ROM-2620&nbsp;接口布局圖&nbsp;Board Dimension Layout&nbsp;''' ===
  
&nbsp;
+
[[File:ROM-2620 1.jpg|480px|ROM-2620 1.jpg]][[File:ROM-2620 2.jpg|480px|ROM-2620 2.jpg]]
  
 
&nbsp;
 
&nbsp;
Line 26: Line 29:
 
=== '''ROM-ED91 接口布局圖&nbsp;Board Dimension Layout''' ===
 
=== '''ROM-ED91 接口布局圖&nbsp;Board Dimension Layout''' ===
  
&nbsp;
+
'''[[File:ROM-2620 ED91 IO.png|RTENOTITLE]]'''
  
 
&nbsp;
 
&nbsp;
Line 34: Line 37:
 
=== '''Internal I/O, Jummper/Switch List:''' ===
 
=== '''Internal I/O, Jummper/Switch List:''' ===
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 301px;"
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 763px;"
 +
|-
 +
| '''Label'''
 +
| style="width: 296.422px;" | '''Function'''
 +
| style="width: 64px;" | '''Label'''
 +
| style="width: 301px;" | '''Function'''
 +
|-
 +
| DCIN1401
 +
| style="width: 296.422px;" | 12V DCIN connector
 +
| style="width: 64px;" | SW1301
 +
| style="width: 301px;" | BT0_CFG1/4, BT1_CFG6/7/9/11
 +
|-
 +
| COMB
 +
| style="width: 296.422px;" | RS232/422/485
 +
| style="width: 64px;" | SW1302
 +
| style="width: 301px;" | BT0_CFG0, BT1_CFG4/5, BOOT_SEL0#/1#, MOD_ON
 +
|-
 +
| COMA
 +
| style="width: 296.422px;" | RS232/422/485
 +
| style="width: 64px;" | SW1203
 +
| style="width: 301px;" | UARTB_MODE0, UART_MODE1
 +
|-
 +
| LAN
 +
| style="width: 296.422px;" | LAN Connector
 +
| style="width: 64px;" | SW1204
 +
| style="width: 301px;" | UARTB_TERM, UARTB_SLEW
 +
|-
 +
| USB1
 +
| style="width: 296.422px;" | USB2.0 port Connector
 +
| style="width: 64px;" | SW1206
 +
| style="width: 301px;" | U1205_RX_TERM, U1205_MODE2
 +
|-
 +
| USB0_OTG1
 +
| style="width: 296.422px;" | Micro USB Connector
 +
| style="width: 64px;" | SW1201
 +
| style="width: 301px;" | UARTA_MODE0, UART_MODE1
 +
|-
 +
| AJ
 +
| style="width: 296.422px;" | Line Out Connector
 +
| style="width: 64px;" | SW1202
 +
| style="width: 301px;" | UARTA_TERM, UARTA_SLEW
 +
|-
 +
| MIC
 +
| style="width: 296.422px;" | MIC Connector
 +
| style="width: 64px;" | SW1205
 +
| style="width: 301px;" | U1202_RX_TERM, U1202_MODE2
 +
|-
 +
| CAN
 +
| style="width: 296.422px;" | CAN Bus Connector
 +
| style="width: 64px;" | SW1303
 +
| style="width: 301px;" | Power button
 +
|-
 +
| COME_DEBUG
 +
| style="width: 296.422px;" | M-core debug console
 +
| style="width: 64px;" | SW1304
 +
| style="width: 301px;" | Reset button
 +
|-
 +
| COMC
 +
| style="width: 296.422px;" | COM
 +
| style="width: 64px;" | I2S_CN
 +
| style="width: 301px;" | I2S Connector
 +
|-
 +
| COMD
 +
| style="width: 296.422px;" | A-core debug console
 +
| style="width: 64px;" | CN501
 +
| style="width: 301px;" | CAN0_H, CAN0_L terminatl resistors
 +
|-
 +
| I2C1101
 +
| style="width: 296.422px;" | I2C Connector
 +
| style="width: 64px;" | SD_SLT
 +
| style="width: 301px;" | SD select
 +
|-
 +
| I2C1102
 +
| style="width: 296.422px;" | I2C Connector
 +
| style="width: 64px;" | GPIO1101
 +
| style="width: 301px;" | GPIO header
 +
|-
 +
| CN601
 +
| style="width: 296.422px;" | M.2 Key E Connector
 +
| style="width: 64px;" | SPI_CN1101
 +
| style="width: 301px;" | PWM header
 +
|-
 +
| CN701
 +
| style="width: 296.422px;" | MIPI-CSI Connector
 +
| style="width: 64px;" | CN1101
 +
| style="width: 301px;" | SPI header
 +
|-
 +
| LVDS
 +
| style="width: 296.422px;" | LVDS Connector
 +
| style="width: 64px;" | LVDS_VDD_SLT
 +
| style="width: 301px;" | LVDS power select select header
 
|-
 
|-
| &nbsp;  
+
| LVDS_BKLT_PWR
 +
| style="width: 296.422px;" | LVDS Backlight Connector
 +
| style="width: 64px;" | LVDS_BKLT_SLT
 +
| style="width: 301px;" | LVDS Backlight power select header
 +
|-
 +
| BAT1
 +
| style="width: 296.422px;" | Battery Connector
 +
| style="width: 64px;" | &nbsp;
 +
| style="width: 301px;" | &nbsp;
 +
|}
 +
 
 +
&nbsp;
 +
 
 
=== '''Rear I/O&nbsp;''' ===
 
=== '''Rear I/O&nbsp;''' ===
  
 
=== '''LED Function List&nbsp;''' ===
 
=== '''LED Function List&nbsp;''' ===
  
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 
|-
 
|-
| &nbsp;  
+
| Location
 +
| Function
 +
|-
 +
| PD1405
 +
| +V5_MOD
 +
|-
 +
| PD1502
 +
| +V3.3
 +
|-
 +
| PD1503
 +
| +V5
 +
|}
 +
 
 +
&nbsp;
 +
 
 
=== '''Switch Settings'''&nbsp; ===
 
=== '''Switch Settings'''&nbsp; ===
  
*SW1301(BT0_CFG1/4, BT1_CFG6/7/9/11)&nbsp;<br/> *SW1302(BT0_CFG0, BT1_CFG4/5, BOOT_SEL0#/1#, MOD_ON)&nbsp;<br/> *SW1203 (UARTB_MODE0, UART_MODE1)&nbsp;<br/> *SW1204&nbsp;(UARTB_TERM,_UARTB_SLEW)&nbsp;<br/> *SW1206_(U1205_RX_TERM,_U1205_MODE2)&nbsp;<br/> *SW1201 (UARTA_MODE0, UART_MODE1)&nbsp;<br/> *SW1202&nbsp;(UARTA_TERM,_UARTA_SLEW)&nbsp;<br/> *SW1205_(U1202_RX_TERM,_U1202_MODE2)&nbsp;<br/> *SW1303_(Power_button)&nbsp;<br/> *SW1304_(Reset_button)&nbsp;<br/> *SD_SLT_(SD_select)&nbsp;<br/> *LVDS_VDD_SLT_(LVDS_power_select_select_header)&nbsp;<br/> *LVDS_BKLT_SLT_(LVDS_Backlight_power_select_header)&nbsp;
+
*[http://ess-wiki.advantech.com.tw/view/ROM-2620_SW1301.png SW1301(BT0_CFG1/4, BT1_CFG6/7/9/11)]
 +
*[http://ess-wiki.advantech.com.tw/view/ROM-2620_SW1302.png SW1302(BT0_CFG0, BT1_CFG4/5, BOOT_SEL0#/1#, MOD_ON)]
 +
*[http://ess-wiki.advantech.com.tw/view/SW1203_(UARTB_MODE0,_UART_MODE1) SW1203 (UARTB_MODE0, UART_MODE1)]
 +
*[http://ess-wiki.advantech.com.tw/view/SW1204_(UARTB_TERM,_UARTB_SLEW) SW1204&nbsp;(UARTB_TERM,_UARTB_SLEW)]
 +
*[[SW1206_(U1205_RX_TERM,_U1205_MODE2)|SW1206_(U1205_RX_TERM,_U1205_MODE2)]]
 +
*[[SW1201_(UARTA_MODE0,_UART_MODE1|SW1201 (UARTA_MODE0, UART_MODE1]])  
 +
*[[SW1202_(UARTA_TERM,_UARTA_SLEW)|SW1202&nbsp;(UARTA_TERM,_UARTA_SLEW)]]
 +
*[http://ess-wiki.advantech.com.tw/view/SW1205_(U1202_RX_TERM,_U1202_MODE2) SW1205_(U1202_RX_TERM,_U1202_MODE2)]
 +
*[http://ess-wiki.advantech.com.tw/view/SW1303_(Power_button) SW1303_(Power_button)]
 +
*[http://ess-wiki.advantech.com.tw/view/SW1304_(Reset_button) SW1304_(Reset_button)]
 +
*[http://ess-wiki.advantech.com.tw/view/SD_SLT_(SD_select) SD_SLT_(SD_select)]
 +
*[[LVDS_VDD_SLT_(LVDS_power_select_select_header)|LVDS_VDD_SLT_(LVDS_power_select_select_header)]]
 +
*[[LVDS_BKLT_SLT_(LVDS_Backlight_power_select_header)|LVDS_BKLT_SLT_(LVDS_Backlight_power_select_header)]]
  
 
&nbsp;
 
&nbsp;
Line 52: Line 183:
 
=== '''接口引脚定義 (Connector Pin definitions)''' ===
 
=== '''接口引脚定義 (Connector Pin definitions)''' ===
  
*DCIN1401&nbsp;<br/> *COMB&nbsp;<br/> *COMA&nbsp;<br/> *LAN&nbsp;<br/> *USB1&nbsp;<br/> *USB0_OTG1&nbsp;<br/> *AJ(Audio_Jack)&nbsp;<br/> *MIC&nbsp;<br/> *CAN&nbsp;<br/> *COME_DEBUG(M-core_debug)&nbsp;<br/> *COMC&nbsp;<br/> *COMD(A-code_debug)&nbsp;<br/> *I2C1101&nbsp;<br/> *I2C1102&nbsp;<br/> *CN601(M.2_Key_E)&nbsp;<br/> *CN701(MIPI-CSI)&nbsp;<br/> *LVDS&nbsp;<br/> *LVDS_BKLT_PWR&nbsp;<br/> *BAT1&nbsp;<br/> *I2S_CN(I2S)&nbsp;<br/> *CN501(CAN0_H/CAN0_L)&nbsp;<br/> *GPIO1101&nbsp;<br/> *SPI_CN1101(PWM)&nbsp;<br/> *CN1101(SPI)&nbsp;
+
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_DCIN.png DCIN1401]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_COMB.png COMB]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_COMA.png COMA]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_LAN.png LAN]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_USB1.png USB1]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_USB0_OTG1.png USB0_OTG1]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_AJ.png AJ(Audio_Jack)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_MIC.png MIC]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_CAN.png CAN]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_COME_DEBUG.png COME_DEBUG(M-core_debug)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_COMC.png COMC]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_COMD.png COMD(A-code_debug)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_I2C1101.png I2C1101]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_I2C1102.png I2C1102]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_CN601.png CN601(M.2_Key_E)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_CN701.png CN701(MIPI-CSI)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_LVDS.png LVDS]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_LVDS_BKLT_PWR.png LVDS_BKLT_PWR]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_BAT1.png BAT1]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_I2S_CN.png I2S_CN(I2S)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_CN501.png CN501(CAN0_H/CAN0_L)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_GPIO1101.png GPIO1101]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_SPI_CN1101.png SPI_CN1101(PWM)]
 +
*[http://ess-wiki.advantech.com.tw/view/File:ROM-2620_CN1101.png CN1101(SPI)]
  
 
=== '''机械尺寸&nbsp; ('''Mechanical Characteristics) ===
 
=== '''机械尺寸&nbsp; ('''Mechanical Characteristics) ===
  
'''ROM-2820'''
+
'''ROM-2620'''
  
 
[[File:ROM-2620 Module Dimension.png|RTENOTITLE]]
 
[[File:ROM-2620 Module Dimension.png|RTENOTITLE]]
Line 66: Line 220:
 
=== '''系统下载 (OS Download)''' ===
 
=== '''系统下载 (OS Download)''' ===
  
*'''Linux系统 (Linux OS)''''''&nbsp; &nbsp;'''&nbsp;
+
*'''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_ROM-2620 IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release ROM-2820 - ESS-WIKI (advantech.com.tw)]
+
'''Yocto 4.0:&nbsp;'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_4.0_release_ROM-2620 IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release ROM-2620 - ESS-WIKI (advantech.com.tw)]
  
'''Yocto 4.2:&nbsp;'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_4.2_release_ROM-2620 IoTGateway/BSP/Linux/iMX8/OS Support List 4.2 release ROM-2820 - ESS-WIKI (advantech.com.tw)]'''&nbsp;'''
+
'''Yocto 4.2:&nbsp;'''[http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/OS_Support_List_4.2_release_ROM-2620 IoTGateway/BSP/Linux/iMX8/OS Support List 4.2 release ROM-2620 - ESS-WIKI (advantech.com.tw)]'''&nbsp;'''
  
 
&nbsp;
 
&nbsp;
Line 88: Line 242:
 
<span style="font-size:small;">Command&nbsp;:</span>
 
<span style="font-size:small;">Command&nbsp;:</span>
  
<span style="font-size:small;">'''~$ sudo dd if=2820A1AIM34LIVC0054_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2820a1-20230627062759.rootfs.wic of=/dev/sde bs=1M conv=fsync status=progress'''</span>
+
<span style="font-size:small;">'''~$ sudo dd if=2620A1AIM34LIVC0054_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2620a1-20230627062759.rootfs.wic of=/dev/sde bs=1M conv=fsync status=progress'''</span>
  
 
[[File:ROM-2620 dd img to sd.png|RTENOTITLE]]
 
[[File:ROM-2620 dd img to sd.png|RTENOTITLE]]
Line 96: Line 250:
 
Step3: 確認開機選擇指撥開關
 
Step3: 確認開機選擇指撥開關
  
&nbsp;
+
[[File:ROM-2620 Boot Switch.png|RTENOTITLE]]
  
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| EMMC boot:
 +
| SW1301: 1_2_5_6 ON<br/> SW1302: 4_6 ON
 +
|-
 +
| SD boot:
 +
| SW1301: 1_2_3_4 ON<br/> SW1302: 4_6 ON
 
|-
 
|-
|  
+
| Serial download:
 +
| SW1301: All OFF<br/> SW1302: 5_6 ON
 +
|}
 +
 
 
Step4:打開電源 和 終端機&nbsp;(Turn on the Power & Terminal)
 
Step4:打開電源 和 終端機&nbsp;(Turn on the Power & Terminal)
  
Step5: 複製flash tool到U盤中, 解壓縮flash tools檔案,(copy to USB Disk, then unzip the flash tools file)(Test with 32G SD card) &nbsp; &nbsp; 複製檔案到U盤中 (Copy the flash file to USB Disk),&nbsp;解壓縮flash tool到home目錄(Unzip the file to home)
+
[[File:ROM-2620 User login.png|RTENOTITLE]]
 +
 
 +
Step5: 複製flash tool到U盤中, 解壓縮flash tools檔案,(copy to USB Disk, then unzip the flash tools file)(Test with 32G SD card)
 +
 
 +
&nbsp; &nbsp; 複製檔案到U盤中 (Copy the flash file to USB Disk),&nbsp;解壓縮flash tool到home目錄(Unzip the file to home)
 +
 
 +
#tar zxvf /run/media/New\ Volume-sda/2620A1AIM34LIVC0054_iMX8ULP_1G_flash_tool.tgz -C ~
 +
 
 +
[[File:ROM-2620 tar img.png|RTENOTITLE]]
 +
 
 +
5. 進入flsah tool下的mk_inand資歷夾, 執行指令./mksd-linux.sh /dev/mmcblk0燒錄image到eMMC(Connect USB Disk to ROM-2620&nbsp;system, extract the flash tool and browser to mk_inand folder and execute flash shell script "./mksd-linux.sh /dev/mmcblk0"
 +
 
 +
解壓縮後如果沒有mksd-linux.sh檔案, 可以到以下連結下載並複製到mk_inand資料夾下(If there is no mksd-linux.sh file in mk_inand directory. Please download from the link below and place it in mk_inand directory:
  
#tar zxvf /run/media/New\ Volume-sda/2820A1AIM34LIVC0054_iMX8ULP_1G_flash_tool.tgz -C ~&nbsp;
+
[https://github.com/ADVANTECH-Corp/RISC_tools_scripts/blob/kirkstone/imx8/mksd-linux.sh mksd-linux.sh]
&nbsp;5. 進入flsah tool下的mk_inand資歷夾, 執行指令./mksd-linux.sh /dev/mmcblk0燒錄image到eMMC(Connect USB Disk to ROM-2820&nbsp;system, extract the flash tool and browser to mk_inand folder and execute flash shell script "./mksd-linux.sh /dev/mmcblk0" 解壓縮後如果沒有mksd-linux.sh檔案, 可以到以下連結下載並複製到mk_inand資料夾下(If there is no mksd-linux.sh file in mk_inand directory. Please download from the link below and place it in mk_inand directory: [https://github.com/ADVANTECH-Corp/RISC_tools_scripts/blob/kirkstone/imx8/mksd-linux.sh mksd-linux.sh]&nbsp;
+
 
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 
|-
 
|-
| 6. 切換開機switch來設定成從eMMC開機(Change boot switch to boot from eMMC. Reboot system). &nbsp; &nbsp; &nbsp;  
+
| ROM-2620
 +
| Device node
 +
|-
 +
| SD card
 +
| /dev/mmcblk2
 +
|-
 +
| eMMC
 +
| /dev/mmcblk0
 +
|}
 +
 
 +
[[File:ROM-2620 Flash eMMC.png|RTENOTITLE]]
 +
 
 +
6. 切換開機switch來設定成從eMMC開機(Change boot switch to boot from eMMC. Reboot system).
 +
 
 +
&nbsp; &nbsp; &nbsp;
 +
 
 
=== '''Debug 串口調試 (Debug port Setting)''' ===
 
=== '''Debug 串口調試 (Debug port Setting)''' ===
以 Tera Term&nbsp;&nbsp;为例介绍如何使用串口调试功能 <pre> &nbsp; Baud Rate波特率:115200<br/> &nbsp; &nbsp;Data 数据位:8<br/> &nbsp; &nbsp;Parity 奇偶校验:无<br/> &nbsp; &nbsp;Stop 停止位:1<br/> &nbsp; &nbsp;Flow Control流控:无</pre>
+
 
 +
以 Tera Term&nbsp;&nbsp;为例介绍如何使用串口调试功能
 +
<pre>   Baud Rate波特率:115200
 +
  Data 数据位:8
 +
  Parity 奇偶校验:无
 +
&nbsp; Stop 停止位:1
 +
  Flow Control流控:无</pre>
  
 
Tera Term Tool&nbsp;
 
Tera Term Tool&nbsp;
Line 143: Line 339:
 
&nbsp;
 
&nbsp;
  
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 
|-
 
|-
| Download uuu tool from link below: [https://github.com/nxp-imx/mfgtools/releases?page=3 Releases · nxp-imx/mfgtools (github.com)] The uuu verison we tested is 1.4.193: [https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu uuu] uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.193-0-ge56424c Perpare uboot and image files below: 2820A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz<br/> 2820A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz 1. Download uuu <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ wget [https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu]<br/> $ chmod a+x uuu<br/> $ tar zxvf 2820A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz<br/> $ tar zxvf 2820A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz</div> &nbsp;<br/> Type command below to flash eMMC: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ sudo ./uuu -b emmc_all 2820A1AIM34LIVC0064_iMX8ULP_1G_imx-boot/imx-boot-imx8ulprom2820a1-1G.bin-flash_singleboot_m33 2820A1AIM34LIVC0064_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2820a1-20230901105531.rootfs.wic</div> &nbsp;<br/> [[File:ROM-2620 uuu flash.png|RTENOTITLE]]  
+
| Serial download:
 +
| SW1301: All OFF<br/> SW1302: 5_6 ON
 +
|}
 +
 
 +
'''[[File:ROM-2620 uuu device id.png|RTENOTITLE]]'''
 +
 
 +
Download uuu tool from link below:
 +
 
 +
[https://github.com/nxp-imx/mfgtools/releases?page=3 Releases · nxp-imx/mfgtools (github.com)]
 +
 
 +
The uuu verison we tested is 1.4.193: [https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu uuu]
 +
 
 +
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.193-0-ge56424c
 +
 
 +
Perpare uboot and image files below:
 +
 
 +
2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz<br/> 2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz
 +
 
 +
1. Download uuu
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ wget [https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu]<br/> $ chmod a+x uuu<br/> $ tar zxvf 2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz<br/> $ tar zxvf 2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz</div>  
 +
Type command below to flash eMMC:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">$ sudo ./uuu -b emmc_all 2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot/imx-boot-imx8ulprom2620a1-1G.bin-flash_singleboot_m33 2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2620a1-20230901105531.rootfs.wic</div>  
 +
[[File:ROM-2620 uuu flash.png|RTENOTITLE]]
 +
 
 
&nbsp;
 
&nbsp;
  
Line 152: Line 371:
 
&nbsp;
 
&nbsp;
  
=== '''Display Setting (ROM-2820)''' ===
+
=== '''Display Setting (ROM-2620)''' ===
  
 
'''&nbsp; &nbsp; &nbsp; U-boot&nbsp;Command&nbsp;:'''
 
'''&nbsp; &nbsp; &nbsp; U-boot&nbsp;Command&nbsp;:'''
  
*Display&nbsp; <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2820-a1-lt9211.dtb<br/> => saveenv<br/> => boot</div> &nbsp;<br/> &nbsp;  
+
*Display  
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2620-a1-lt9211.dtb<br/> => saveenv<br/> => boot</div>  
 +
[[File:ROM-2620 2CH LVDS uboot.png|RTENOTITLE]]
 +
 
 +
&nbsp;
  
 
&nbsp;
 
&nbsp;
  
 +
=== '''Audio(Audio Testing Methid)''' ===
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /proc/asound/cards</div>
 +
0 [sgtl5000 ]: sgtl5000 - sgtl5000&nbsp;<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sgtl5000
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># amixer set Mic 50%<br/> # amixer set Lineout 100%<br/> # amixer set PCM 100%</div>
 +
'''Record and playback:'''
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# arecord -t wav -c 2 -r 44100 -d 10 /tmp/mic.wav'''</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# aplay /tmp/mic.wav'''</div>
 
&nbsp;
 
&nbsp;
=== '''Audio(Audio Testing Methid)''' === <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /proc/asound/cards</div> &nbsp;<br/> 0 [sgtl5000 ]: sgtl5000 - sgtl5000&nbsp;<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sgtl5000 <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># amixer set Mic 50%<br/> # amixer set Lineout 100%<br/> # amixer set PCM 100%</div> &nbsp;<br/> '''Record and playback:''' <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# arecord -t wav -c 2 -r 44100 -d 10 /tmp/mic.wav'''</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# aplay /tmp/mic.wav'''</div> &nbsp;<br/> &nbsp;
+
 
 
=== '''M.2 WiFi/BT測試方法(M.2 WiFi/BT Testing Method)''' ===
 
=== '''M.2 WiFi/BT測試方法(M.2 WiFi/BT Testing Method)''' ===
  
*Test Wi-Fi with EWM-W167 on C0048 version: Change SD_SLT to 2-3&nbsp; <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2820-a1-m2-sdio.dtb<br/> => saveenv<br/> => boot</div> &nbsp;<br/> In Linux user space: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># iwconfig<br/> # ifconfig wlan0 up<br/> # iwlist wlan0 scan &#124; grep ESSID<br/> # killall wpa_supplicant<br/> # ifconfig wlan0 up<br/> # wpa_passphrase "Pilimao" "0913079939" > /tmp/wpa.conf<br/> # wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf<br/> # udhcpc -b -i wlan0<br/> # ping 8.8.8.8</div> &nbsp;<br/> Add name server: nameserver 8.8.8.8 in resolv.conf file <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># vi /etc/resolv.conf<br/> # ping google.com</div> &nbsp;<br/> Test BT: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cd /opt/rtl8723bs_bt/<br/> # ./start_bt.sh ttyLP0<br/> # hciconfig hci0 up<br/> # hciconfig<br/> # bluetoothctl<br/> # discoverable on<br/> # pairable on<br/> # scan on<br/> # info 84:C5:A6:D3:AF:E4<br/> # pair 84:C5:A6:D3:AF:E4<br/> # connect 84:C5:A6:D3:AF:E4<br/> # paired-devices<br/> # disconnect 84:C5:A6:D3:AF:E4<br/> # remove 84:C5:A6:D3:AF:E4</div> &nbsp;<br/> *Test Wi-Fi with EWM-W194M201E Module (SDIO Interface)&nbsp;
+
*Test Wi-Fi with EWM-W167 on C0048 version: Change SD_SLT to 2-3  
Step 1: Press enter after boot. The system will stop at u-boot, and change dtb file by below command. <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2820-a1-m2-sdio-88w8997.dtb<br/> => saveenv<br/> => boot</div> &nbsp;<br/> Step 2: Install driver by below command. <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># rmmod mwifiex_sdio mwifiex<br/> # modprobe moal mod_para=nxp/wifi_mod_para.conf<br/> # modprobe btnxpuart</div> &nbsp;<br/> Step 3: WIFI test command. <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ifconfig mlan0 up<br/> # wpa_passphrase ASUS-917C qwert12345 > /tmp/wpa.conf<br/> # wpa_supplicant -d -B -i mlan0 -c /tmp/wpa.conf<br/> # udhcpc -i mlan0</div> &nbsp;<br/> *Test Bluetooth with EWM-W194M201E Module (UART Interface)&nbsp;
+
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2620-a1-m2-sdio.dtb<br/> => saveenv<br/> => boot</div>  
 +
In Linux user space:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># iwconfig<br/> # ifconfig wlan0 up<br/> # iwlist wlan0 scan | grep ESSID<br/> # killall wpa_supplicant<br/> # ifconfig wlan0 up<br/> # wpa_passphrase "Pilimao" "0913079939" > /tmp/wpa.conf<br/> # wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf<br/> # udhcpc -b -i wlan0<br/> # ping 8.8.8.8</div>  
 +
Add name server: nameserver 8.8.8.8 in resolv.conf file
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># vi /etc/resolv.conf<br/> # ping google.com</div>  
 +
Test BT:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cd /opt/rtl8723bs_bt/<br/> # ./start_bt.sh ttyLP0<br/> # hciconfig hci0 up<br/> # hciconfig<br/> # bluetoothctl<br/> # discoverable on<br/> # pairable on<br/> # scan on<br/> # info 84:C5:A6:D3:AF:E4<br/> # pair 84:C5:A6:D3:AF:E4<br/> # connect 84:C5:A6:D3:AF:E4<br/> # paired-devices<br/> # disconnect 84:C5:A6:D3:AF:E4<br/> # remove 84:C5:A6:D3:AF:E4</div>  
 +
*Test Wi-Fi with EWM-W194M201E Module (SDIO Interface)  
 +
 
 +
Step 1: Press enter after boot. The system will stop at u-boot, and change dtb file by below command.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">=> setenv fdtfile imx8ulp-rom2620-a1-m2-sdio-88w8997.dtb<br/> => saveenv<br/> => boot</div>  
 +
Step 2: Install driver by below command.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># rmmod mwifiex_sdio mwifiex<br/> # modprobe moal mod_para=nxp/wifi_mod_para.conf<br/> # modprobe btnxpuart</div>  
 +
Step 3: WIFI test command.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># ifconfig mlan0 up<br/> # wpa_passphrase ASUS-917C qwert12345 > /tmp/wpa.conf<br/> # wpa_supplicant -d -B -i mlan0 -c /tmp/wpa.conf<br/> # udhcpc -i mlan0</div>  
 +
*Test Bluetooth with EWM-W194M201E Module (UART Interface)  
 +
 
 
Step 1: Please refer to above&nbsp;step 1.<br/> Step 2: Please refer to above&nbsp;step 2.
 
Step 1: Please refer to above&nbsp;step 1.<br/> Step 2: Please refer to above&nbsp;step 2.
Step 3: Bluetooth test command. <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># hciconfig hci0 up<br/> # bluetoothctl<br/> # discoverable on<br/> # pairable on<br/> # scan on<br/> [NEW] FC:18:3C:8D:75:F4 myphone<br/> # scan off<br/> # pair FC:18:3C:8D:75:F4<br/> # connect FC:18:3C:8D:75:F4</div> &nbsp;<br/> &nbsp;
+
 
 +
Step 3: Bluetooth test command.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># hciconfig hci0 up<br/> # bluetoothctl<br/> # discoverable on<br/> # pairable on<br/> # scan on<br/> [NEW] FC:18:3C:8D:75:F4 myphone<br/> # scan off<br/> # pair FC:18:3C:8D:75:F4<br/> # connect FC:18:3C:8D:75:F4</div>  
 +
&nbsp;
 +
 
 
&nbsp;
 
&nbsp;
  
 
=== '''Serial Port測試方法(Serial Testing Method)(COM A/C)''' ===
 
=== '''Serial Port測試方法(Serial Testing Method)(COM A/C)''' ===
  
*'''RS-232 Loopback Test (eg. COMA: ttyLP0):'''&nbsp;
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| COMA
 +
| /dev/ttyLP0
 +
|-
 +
| COMB(M33 Domain)
 +
| &nbsp;
 +
|-
 +
| COMC
 +
| /dev/ttyLP2
 +
|-
 +
| COMD
 +
| /dev/ttyLP1
 +
|-
 +
| COME_DEBUG
 +
| M33 debug port
 +
|}
 +
 
 +
*'''RS-232 Loopback Test (eg. COMA: ttyLP0):'''  
 +
 
 +
Step 1: First change ROM-ED91 SW1201 to ‘01’.<br/> Step 2: Run test command.
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 -echo<br/> # cat /dev/ttyLP0 &<br/> # echo test > /dev/ttyLP0</div>
 +
*'''RS-422 Test:'''
  
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
 
|-
 
| Step 1: First change ROM-ED91 SW1201 to ‘01’.<br/> Step 2: Run test command. <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 -echo<br/> # cat /dev/ttyLP0 &<br/> # echo test > /dev/ttyLP0</div> &nbsp;<br/> *'''RS-422 Test:'''&nbsp;
 
 
Step 1: First change ROM-ED91 SW1201 to ‘11’.<br/> Step 2: Test RS-422 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:
 
Step 1: First change ROM-ED91 SW1201 to ‘11’.<br/> Step 2: Test RS-422 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:
  
Adam-4520 RX- <-->ROM-2820 COMA DB9 Pin 1,<br/> Adam-4520 RX+ <-->ROM-2820 COMA DB9 Pin 2,<br/> Adam-4520 TX- <-->ROM-2820 COMA DB9 Pin 4,<br/> Adam-4520 TX+ <--> ROM-2820 COMA DB9 Pin 3
+
Adam-4520 RX- <-->ROM-2620 COMA DB9 Pin 1,<br/> Adam-4520 RX+ <-->ROM-2620 COMA DB9 Pin 2,<br/> Adam-4520 TX- <-->ROM-2620 COMA DB9 Pin 4,<br/> Adam-4520 TX+ <--> ROM-2620 COMA DB9 Pin 3
Step 3: Run below command: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP0 &<br/> # echo "Serial Test" > /dev/ttyLP0</div> &nbsp;<br/> *'''RS-485 Test:'''&nbsp;
+
 
 +
Step 3: Run below command:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP0 &<br/> # echo "Serial Test" > /dev/ttyLP0</div>  
 +
*'''RS-485 Test:'''  
 +
 
 
Step 1: First change ROM-ED91 SW1201 to ‘10’.<br/> Step 2: Test RS-485 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:
 
Step 1: First change ROM-ED91 SW1201 to ‘10’.<br/> Step 2: Test RS-485 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:
  
Adam-4520 Data- <-->ROM-2820 COMA DB9 Pin 1,<br/> Adam-4520 Data+ <-->ROM-2820 COMA DB9 Pin 2
+
Adam-4520 Data- <-->ROM-2620 COMA DB9 Pin 1,<br/> Adam-4520 Data+ <-->ROM-2620 COMA DB9 Pin 2
Step 3: Run below command: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP0 &<br/> # echo "Serial Test" > /dev/ttyLP0</div> &nbsp;<br/> &nbsp;
+
 
 +
Step 3: Run below command:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># stty -F /dev/ttyLP0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke<br/> # cat /dev/ttyLP0 &<br/> # echo "Serial Test" > /dev/ttyLP0</div>  
 +
&nbsp;
 +
 
 
&nbsp;
 
&nbsp;
  
Line 190: Line 466:
  
 
=== '''I2C測試方法(I2C Testing Method)''' ===
 
=== '''I2C測試方法(I2C Testing Method)''' ===
Step 1: Plug in ROM-EG70<br/> Step 2: Test by below command (eg. I2C-6 I2C_1101): <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modprobe at24<br/> # echo -n $'\x06\x05\x04\x03\x02\x01' > test<br/> # dd if=test of=/sys/bus/i2c/devices/6-0050/eeprom<br/> # hexdump -C /sys/bus/i2c/devices/6-0050/eeprom -n 64</div> &nbsp;<br/> &nbsp;
+
 
 +
Step 1: Plug in ROM-EG70<br/> Step 2: Test by below command (eg. I2C-6 I2C_1101):
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># modprobe at24<br/> # echo -n $'\x06\x05\x04\x03\x02\x01' > test<br/> # dd if=test of=/sys/bus/i2c/devices/6-0050/eeprom<br/> # hexdump -C /sys/bus/i2c/devices/6-0050/eeprom -n 64</div>  
 +
&nbsp;
 +
 
 
&nbsp;
 
&nbsp;
  
 
=== '''USB測試方法(USB Testing Method)''' ===
 
=== '''USB測試方法(USB Testing Method)''' ===
USB disk test (USB 2.0)<br/> Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port to check if the USB device is listed. Step 2: Test (eg. if usb disk is /dev/sda) <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div> &nbsp;<br/> &nbsp;
+
 
 +
USB disk test (USB 2.0)<br/> Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port to check if the USB device is listed. Step 2: Test (eg. if usb disk is /dev/sda)
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/sda of=backup bs=1 count=1024 skip=4096 # dd if=data of=/dev/sda bs=1 seek=4096<br/> # dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096 # diff data data1<br/> # dd if=backup of=/dev/sda bs=1 seek=4096</div>  
 +
&nbsp;
 +
 
 
&nbsp;
 
&nbsp;
  
 
=== '''RTC測試方法(RTC Testing Method)''' ===
 
=== '''RTC測試方法(RTC Testing Method)''' ===
Step 1: Set system time to current, then write to RTC <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># date 021010452023 && hwclock -w && date</div> &nbsp;<br/> Step 2: Set one incorrect time, then read time from RTC to verify <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">#&nbsp;date 010100002000 && hwclock -r && date</div> &nbsp;<br/> &nbsp;
+
 
 +
Step 1: Set system time to current, then write to RTC
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># date 021010452023 && hwclock -w && date</div>  
 +
Step 2: Set one incorrect time, then read time from RTC to verify
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">#&nbsp;date 010100002000 && hwclock -r && date</div>  
 +
&nbsp;
 +
 
 
=== '''eMMC/SD測使方法(eMMC/SD Testing Method)''' ===
 
=== '''eMMC/SD測使方法(eMMC/SD Testing Method)''' ===
  
Line 204: Line 494:
  
 
'''Test (eg. emmc)'''
 
'''Test (eg. emmc)'''
'''Step 1: Test command:''' <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/mmcblk0 of=backup bs=1 count=1024 skip=4096<br/> # dd if=data of=/dev/mmcblk0 bs=1 seek=4096<br/> # dd if=/dev/mmcblk0 of=data1 bs=1 count=1024 skip=4096<br/> # diff data data1<br/> # dd if=backup of=/dev/mmcblk0 bs=1 seek=4096'''</div> &nbsp;<br/> &nbsp;
+
 
 +
'''Step 1: Test command:'''
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">'''# dd if=/dev/urandom of=data bs=1 count=1024<br/> # dd if=/dev/mmcblk0 of=backup bs=1 count=1024 skip=4096<br/> # dd if=data of=/dev/mmcblk0 bs=1 seek=4096<br/> # dd if=/dev/mmcblk0 of=data1 bs=1 count=1024 skip=4096<br/> # diff data data1<br/> # dd if=backup of=/dev/mmcblk0 bs=1 seek=4096'''</div>  
 +
&nbsp;
 +
 
 
=== '''乙太網路使用方法(Ethernent Testing Method)''' ===
 
=== '''乙太網路使用方法(Ethernent Testing Method)''' ===
  
 
'''Command&nbsp;: ifconfig&nbsp;'''
 
'''Command&nbsp;: ifconfig&nbsp;'''
  
&nbsp;
+
[[File:ROM-2620 ifconfig.png|RTENOTITLE]]
  
 
'''Command: Ping - I eth1 8.8.8.8&nbsp; or Ping - I eth0 8.8.8.8&nbsp;&nbsp;'''
 
'''Command: Ping - I eth1 8.8.8.8&nbsp; or Ping - I eth0 8.8.8.8&nbsp;&nbsp;'''
  
&nbsp;
+
[[File:ROM-2620 ping.png|RTENOTITLE]]
  
 
&nbsp;
 
&nbsp;
Line 223: Line 517:
 
'''GPIO pin:'''
 
'''GPIO pin:'''
  
{| border="1" cellpadding="1" cellspacing="1" style="" width:"=""
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| GPIO1101 pin
 +
| Pin Name
 +
| CPU Ball Name
 +
| GPIO number
 +
|-
 +
| 1
 +
| GPIO_A_0
 +
| PTC0
 +
| 416
 +
|-
 +
| 2
 +
| GPIO_A_1
 +
| PTC1
 +
| 417
 +
|-
 +
| 3
 +
| GPIO_A_2
 +
| PTC2
 +
| 418
 +
|-
 +
| 4
 +
| GPIO_A_3
 +
| PTC3
 +
| 419
 +
|-
 +
| 5
 +
| GPIO_A_4
 +
| PTC4
 +
| 420
 +
|-
 +
| 6
 +
| GPIO_A_5
 +
| PTC12
 +
| 428
 
|-
 
|-
| GPIO Loopback Test (Using GPIO1 and GPIO2 as examples) Step 1: Connect GPIO1 and GPIO2 Step 2: Export GPIO interface <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 416 > /sys/class/gpio/export<br/> # echo 417 > /sys/class/gpio/export</div> &nbsp;<br/> Step 3: Set GPIO direction <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo out > /sys/class/gpio/gpio1/direction<br/> # echo in > /sys/class/gpio/gpio2/direction</div> &nbsp;<br/> Step 4: Read value and set output value than check <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /sys/class/gpio/gpio2/value 0<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value<br/> 1</div> &nbsp;<br/> === '''Camera使用方法(Camera Testing Method)''' ===  
+
| 7
 +
| GPIO_B_0
 +
| PTC18
 +
| 434
 +
|-
 +
| 8
 +
| GPIO_B_1
 +
| PTC19
 +
| 435
 +
|-
 +
| 9
 +
| GPIO_B_2
 +
| PTC20
 +
| 436
 +
|-
 +
| 10
 +
| GPIO_B_3
 +
| PTC21
 +
| 437(Use for M2_SDIO_RST)
 +
|-
 +
| 11
 +
| GPIO_B_4
 +
| PTC22
 +
| 438(Use for M2_W_DISABLE2)
 +
|-
 +
| 12
 +
| GPIO_B_5
 +
| PTC23
 +
| 439(Use for M2_W_DISABLE1)
 +
|-
 +
| 13
 +
| GPIO_B_6
 +
| PTB0
 +
| 448
 +
|-
 +
| 14
 +
| GPIO_B_7
 +
| PTB1
 +
| 449
 +
|-
 +
| 15
 +
| GPIO_C_0
 +
| PTD12
 +
| 140
 +
|-
 +
| 16
 +
| GPIO_C_1
 +
| PTD13
 +
| 141
 +
|-
 +
| 17
 +
| GPIO_C_2
 +
| PTF1
 +
| 193
 +
|-
 +
| 18
 +
| GPIO_C_3
 +
| PTF7
 +
| 199(Use for LVDS_Bridge_RST)
 +
|-
 +
| 19
 +
| PTB6
 +
| PTB6
 +
| 454
 +
|-
 +
| 20
 +
| PTA5
 +
| PTA5
 +
| 485
 +
|}
 +
 
 +
GPIO Loopback Test (Using GPIO1 and GPIO2 as examples)
 +
 
 +
Step 1: Connect GPIO1 and GPIO2
 +
 
 +
Step 2: Export GPIO interface
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 416 > /sys/class/gpio/export<br/> # echo 417 > /sys/class/gpio/export</div>  
 +
Step 3: Set GPIO direction
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo out > /sys/class/gpio/gpio1/direction<br/> # echo in > /sys/class/gpio/gpio2/direction</div>  
 +
Step 4: Read value and set output value than check
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># cat /sys/class/gpio/gpio2/value 0<br/> # echo 1 > /sys/class/gpio/gpio1/value<br/> # cat /sys/class/gpio/gpio2/value<br/> 1</div>  
 +
=== '''Camera使用方法(Camera Testing Method)''' ===
 +
 
 
MIPI-CSI0 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable): OV5640 CSI (CN701): Connect OV5640 camera to EG-55 CAM3
 
MIPI-CSI0 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable): OV5640 CSI (CN701): Connect OV5640 camera to EG-55 CAM3
Step 1: Take pictures <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># 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</div> &nbsp;<br/> Step 2: View on panel <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># gplay-1.0 sample.jpeg</div> &nbsp;<br/> &nbsp;
+
 
 +
Step 1: Take pictures
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># 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</div>  
 +
Step 2: View on panel
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># gplay-1.0 sample.jpeg</div>  
 +
&nbsp;
 +
 
 
=== '''PWM測試方法(PWM Testing Method)''' ===
 
=== '''PWM測試方法(PWM Testing Method)''' ===
  
 
Please use oscilloscope to check waveform.
 
Please use oscilloscope to check waveform.
PWM1: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 4 > /sys/class/pwm/pwmchip0/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip0/pwm4/period<br/> # echo 500000 > /sys/class/pwm/pwmchip0/pwm4/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip0/pwm4/enable</div> &nbsp;<br/> PWM2: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 5 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm5/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm5/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm5/enable</div> &nbsp;<br/> PWM3: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 2 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm2/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm2/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm2/enable</div> &nbsp;<br/> PWM4: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 3 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm3/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm3/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm3/enable</div> &nbsp;<br/> PWM5: <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 4 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm4/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm4/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm4/enable</div> &nbsp;<br/> &nbsp;
+
 
 +
PWM1:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 4 > /sys/class/pwm/pwmchip0/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip0/pwm4/period<br/> # echo 500000 > /sys/class/pwm/pwmchip0/pwm4/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip0/pwm4/enable</div>  
 +
PWM2:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 5 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm5/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm5/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm5/enable</div>  
 +
PWM3:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 2 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm2/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm2/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm2/enable</div>  
 +
PWM4:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 3 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm3/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm3/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm3/enable</div>  
 +
PWM5:
 +
<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># echo 4 > /sys/class/pwm/pwmchip6/export<br/> # echo 1000000 > /sys/class/pwm/pwmchip6/pwm4/period<br/> # echo 500000 > /sys/class/pwm/pwmchip6/pwm4/duty_cycle<br/> # echo 1 > /sys/class/pwm/pwmchip6/pwm4/enable</div>  
 +
&nbsp;
 +
 
 
=== '''M33 Function''' ===
 
=== '''M33 Function''' ===
  
Line 246: Line 675:
 
==== '''CAN Bus''' ====
 
==== '''CAN Bus''' ====
  
'''Step 1: Prepare two pcs rom-2820. One for ‘Node A’ one for ‘Node B’<br/> Step 2: Connect these two boards (HI-HI/LO-LO)<br/> Step 3: The test steps and screen are as below&nbsp;:'''
+
'''Step 1: Prepare two pcs rom-2620. One for ‘Node A’ one for ‘Node B’<br/> Step 2: Connect these two boards (HI-HI/LO-LO)<br/> Step 3: The test steps and screen are as below&nbsp;:'''
  
 
[[File:ROM-2620 CAN Bus.png|RTENOTITLE]]
 
[[File:ROM-2620 CAN Bus.png|RTENOTITLE]]
Line 268: Line 697:
 
==== '''LPSPI''' ====
 
==== '''LPSPI''' ====
  
Step 1: Two pcs rom-2820. One for ‘Master’ one for ‘Slave’.<br/> Step 2: Connection with these two boards by SPI Bus as below:
+
Step 1: Two pcs rom-2620. One for ‘Master’ one for ‘Slave’.<br/> Step 2: Connection with these two boards by SPI Bus as below:
  
 
LPSPI3_PCS0 -- LPSPI3_PCS0<br/> LPSPI3_GND -- LPSPI3_GND<br/> LPSPI3_PCS1 -- LPSPI3_PCS1<br/> LPSPI3_SCK -- LPSPI3_SCK<br/> LPSPI3_SOUT -- LPSPI3_SIN<br/> LPSPI3_SIN -- LPSPI3_SOUT
 
LPSPI3_PCS0 -- LPSPI3_PCS0<br/> LPSPI3_GND -- LPSPI3_GND<br/> LPSPI3_PCS1 -- LPSPI3_PCS1<br/> LPSPI3_SCK -- LPSPI3_SCK<br/> LPSPI3_SOUT -- LPSPI3_SIN<br/> LPSPI3_SIN -- LPSPI3_SOUT
Line 293: Line 722:
  
 
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
 
=== '''遠程訪問及文件傳輸(Remote Access and File Transimmion)''' ===
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 查看主板IP位址&nbsp;(&nbsp;Chech IP Address ):'''​ <pre> &nbsp; &nbsp; &nbsp; &nbsp;Command&nbsp;: ifconfig<br/> </pre>
+
 
 +
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 查看主板IP位址&nbsp;(&nbsp;Chech IP Address ):'''​
 +
<pre>       Command&nbsp;: ifconfig
 +
</pre>
  
 
&nbsp;
 
&nbsp;
Line 301: Line 733:
 
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)、通讯方式,登录后验证用户名密码  
  
 
[[File:ROM-2620 SSH.png|RTENOTITLE]]
 
[[File:ROM-2620 SSH.png|RTENOTITLE]]
  
 
= '''通用方法(General Method)''' =
 
= '''通用方法(General Method)''' =
=== '''查看CPU温度(Check CPU Temperature)''' === <pre>root@imx8ulprom2820a1:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp<br/> 37000 </pre>
+
 
=== '''查看内存容量(Check Memory&nbsp;Capacity)''' === <pre>root@imx8ulprom2820a1:~# free -h<br/> &nbsp; &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; &nbsp; 895Mi &nbsp; &nbsp; &nbsp; 230Mi &nbsp; &nbsp; &nbsp; 469Mi &nbsp; &nbsp; &nbsp; &nbsp;29Mi &nbsp; &nbsp; &nbsp; 195Mi &nbsp; &nbsp; &nbsp; 546Mi<br/> Swap: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0B<br/> root@imx8ulprom2820a1:~#<br/> </pre>
+
=== '''查看CPU温度(Check CPU Temperature)''' ===
=== '''查看存储容量(Check Storage Capacity)''' === <pre>root@imx8ulprom2820a1:~# df -hT<br/> Filesystem &nbsp; &nbsp; Type &nbsp; &nbsp; &nbsp;Size &nbsp;Used Avail Use% Mounted on<br/> /dev/root &nbsp; &nbsp; &nbsp;ext4 &nbsp; &nbsp; &nbsp; 15G &nbsp;3.9G &nbsp;9.5G &nbsp;30% /<br/> devtmpfs &nbsp; &nbsp; &nbsp; devtmpfs &nbsp;431M &nbsp;4.0K &nbsp;431M &nbsp; 1% /dev<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp; &nbsp; 0 &nbsp;448M &nbsp; 0% /dev/shm<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 180M &nbsp; 20M &nbsp;160M &nbsp;11% /run<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 4.0M &nbsp; &nbsp; 0 &nbsp;4.0M &nbsp; 0% /sys/fs/cgroup<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp; 76K &nbsp;448M &nbsp; 1% /tmp<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp;1.5M &nbsp;447M &nbsp; 1% /var/volatile<br/> tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; &nbsp;90M &nbsp;4.0K &nbsp; 90M &nbsp; 1% /run/user/0<br/> /dev/mmcblk0p1 vfat &nbsp; &nbsp; &nbsp; 84M &nbsp; 32M &nbsp; 52M &nbsp;38% /run/media/boot-mmcblk0p1<br/> /dev/mmcblk2p2 ext4 &nbsp; &nbsp; &nbsp; 29G &nbsp; 11G &nbsp; 17G &nbsp;40% /run/media/root-mmcblk2p2<br/> /dev/mmcblk2p1 vfat &nbsp; &nbsp; &nbsp; 84M &nbsp; 32M &nbsp; 52M &nbsp;38% /run/media/boot-mmcblk2p1<br/> root@imx8ulprom2820a1:~#<br/> </pre>
+
<pre>root@imx8ulprom2620a1:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp
 +
37000 </pre>
 +
 
 +
=== '''查看内存容量(Check Memory&nbsp;Capacity)''' ===
 +
<pre>root@imx8ulprom2620a1:~# free -h
 +
&nbsp; &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; &nbsp; 895Mi &nbsp; &nbsp; &nbsp; 230Mi &nbsp; &nbsp; &nbsp; 469Mi &nbsp; &nbsp; &nbsp; &nbsp;29Mi &nbsp; &nbsp; &nbsp; 195Mi &nbsp; &nbsp; &nbsp; 546Mi
 +
Swap: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0B
 +
root@imx8ulprom2620a1:~#
 +
</pre>
 +
 
 +
=== '''查看存储容量(Check Storage Capacity)''' ===
 +
<pre>root@imx8ulprom2620a1:~# df -hT
 +
Filesystem &nbsp; &nbsp; Type &nbsp; &nbsp; &nbsp;Size &nbsp;Used Avail Use% Mounted on
 +
/dev/root &nbsp; &nbsp; &nbsp;ext4 &nbsp; &nbsp; &nbsp; 15G &nbsp;3.9G &nbsp;9.5G &nbsp;30% /
 +
devtmpfs &nbsp; &nbsp; &nbsp; devtmpfs &nbsp;431M &nbsp;4.0K &nbsp;431M &nbsp; 1% /dev
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp; &nbsp; 0 &nbsp;448M &nbsp; 0% /dev/shm
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 180M &nbsp; 20M &nbsp;160M &nbsp;11% /run
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 4.0M &nbsp; &nbsp; 0 &nbsp;4.0M &nbsp; 0% /sys/fs/cgroup
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp; 76K &nbsp;448M &nbsp; 1% /tmp
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; 448M &nbsp;1.5M &nbsp;447M &nbsp; 1% /var/volatile
 +
tmpfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; &nbsp; &nbsp;90M &nbsp;4.0K &nbsp; 90M &nbsp; 1% /run/user/0
 +
/dev/mmcblk0p1 vfat &nbsp; &nbsp; &nbsp; 84M &nbsp; 32M &nbsp; 52M &nbsp;38% /run/media/boot-mmcblk0p1
 +
/dev/mmcblk2p2 ext4 &nbsp; &nbsp; &nbsp; 29G &nbsp; 11G &nbsp; 17G &nbsp;40% /run/media/root-mmcblk2p2
 +
/dev/mmcblk2p1 vfat &nbsp; &nbsp; &nbsp; 84M &nbsp; 32M &nbsp; 52M &nbsp;38% /run/media/boot-mmcblk2p1
 +
root@imx8ulprom2620a1:~#
 +
</pre>
  
 
&nbsp;
 
&nbsp;
=== '''設置RTC (RTC Setting)&nbsp;''' === <pre>root@imx8ulprom2820a1:~# systemctl stop ntpdate.service<br/> root@imx8ulprom2820a1:~# date 090816072021 && hwclock -w && date<br/> Wed Sep &nbsp;8 16:07:00 UTC 2021<br/> Wed Mar &nbsp;6 04:31:37 UTC 2024<br/> root@imx8ulprom2820a1:~# date<br/> Wed Mar &nbsp;6 04:31:44 UTC 2024<br/> root@imx8ulprom2820a1:~#</pre>
+
 
 +
=== '''設置RTC (RTC Setting)&nbsp;''' ===
 +
<pre>root@imx8ulprom2620a1:~# systemctl stop ntpdate.service
 +
root@imx8ulprom2620a1:~# date 090816072021 && hwclock -w && date
 +
Wed Sep &nbsp;8 16:07:00 UTC 2021
 +
Wed Mar &nbsp;6 04:31:37 UTC 2024
 +
root@imx8ulprom2620a1:~# date
 +
Wed Mar &nbsp;6 04:31:44 UTC 2024
 +
root@imx8ulprom2620a1:~#</pre>
  
 
&nbsp;
 
&nbsp;
Line 317: Line 784:
 
查看系統時間 (Check the system)&nbsp;
 
查看系統時間 (Check the system)&nbsp;
  
root@imx8ulprom2820a1:/# timedatectl<br/> [ &nbsp; 41.402592] kauditd_printk_skb: 6 callbacks suppressed<br/> [ &nbsp; 41.402611] audit: type=1334 audit(45.332:16): prog-id=15 op=LOAD<br/> [ &nbsp; 41.417884] audit: type=1334 audit(45.344:17): prog-id=16 op=LOAD<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Local time: Thu 1970-01-01 00:00:46 UTC<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Universal time: Thu 1970-01-01 00:00:46 UTC&nbsp; &nbsp; &nbsp;&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RTC time: Thu 1970-01-01 00:00:45&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <-----&nbsp;&nbsp;Real-Time Clock,RTC&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Time zone: Universal (UTC, +0000)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <------&nbsp;Time zone&nbsp;目前<br/> System clock synchronized: no<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NTP service: active<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC in local TZ: no&nbsp; '''&nbsp; &nbsp; &nbsp; &nbsp;'''
+
root@imx8ulprom2620a1:/# timedatectl<br/> [ &nbsp; 41.402592] kauditd_printk_skb: 6 callbacks suppressed<br/> [ &nbsp; 41.402611] audit: type=1334 audit(45.332:16): prog-id=15 op=LOAD<br/> [ &nbsp; 41.417884] audit: type=1334 audit(45.344:17): prog-id=16 op=LOAD<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Local time: Thu 1970-01-01 00:00:46 UTC<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Universal time: Thu 1970-01-01 00:00:46 UTC&nbsp; &nbsp; &nbsp;&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RTC time: Thu 1970-01-01 00:00:45&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <-----&nbsp;&nbsp;Real-Time Clock,RTC&nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Time zone: Universal (UTC, +0000)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <------&nbsp;Time zone&nbsp;目前<br/> System clock synchronized: no<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NTP service: active<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC in local TZ: no&nbsp; '''&nbsp; &nbsp; &nbsp; &nbsp;'''
  
 
Note&nbsp;:&nbsp;
 
Note&nbsp;:&nbsp;
Change Time Zone&nbsp;&nbsp; <pre><code data-highlighted="yes">sudo timedatectl set-timezone "Asia/Taipei"<br/> </code></pre>
+
 
 +
Change Time Zone&nbsp;&nbsp;
 +
<pre><code data-highlighted="yes">sudo timedatectl set-timezone "Asia/Taipei"
 +
</code></pre>
  
 
<code data-highlighted="yes">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Local time: Fri 2024-05-03 09:07:42 CST<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Universal time: Fri 2024-05-03 01:07:42 UTC<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC time: Fri 2024-05-03 09:07:42<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Time zone: Asia/Taipei (CST, +0800)<br/> System clock synchronized: yes<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NTP service: active<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC in local TZ: yes</code>
 
<code data-highlighted="yes">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Local time: Fri 2024-05-03 09:07:42 CST<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Universal time: Fri 2024-05-03 01:07:42 UTC<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC time: Fri 2024-05-03 09:07:42<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Time zone: Asia/Taipei (CST, +0800)<br/> System clock synchronized: yes<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NTP service: active<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTC in local TZ: yes</code>
Line 361: Line 831:
  
 
=== '''[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_LBVD_User_Guide Yocto 4.2]''' ===
 
=== [http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBVC_User_Guide '''Yocto 4.0'''] ===<br/> &nbsp;
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 
 
|-
 
| &nbsp;
 
|}
 

Revision as of 04:15, 22 May 2024

 

Contents

產品介紹

產品特性(Features)

  • NXP Arm® Cortex®-A35 i.MX 8ULP Dual up to 1.0 GHz
  • 1 x Arm Cortex-M33 core
  • Onboard LPDDR4 1GB, 2000MT/s memory
  • 1 x 4 lane MIPI-DSI ƒ 1 x USB2.0, 1 x USB 2.0 OTG, 5 x UART, 2 x I2C, 24 x GPIO, 6 x PWM, 1 x CAN
  • Ultra small size form factor - OSM
  • Support Ycoto Linux and Microsoft Azure Sphere OS

 

產品官網連結(Product information Link)

ROM-2620

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

ROM-2620 接口布局圖 Board Dimension Layout 

ROM-2620 1.jpgROM-2620 2.jpg

 

ROM-ED91 接口布局圖 Board Dimension Layout

RTENOTITLE

 

主板内置插针式引脚排序方式 (Pin Header defination) 

Internal I/O, Jummper/Switch List:

Label Function Label Function
DCIN1401 12V DCIN connector SW1301 BT0_CFG1/4, BT1_CFG6/7/9/11
COMB RS232/422/485 SW1302 BT0_CFG0, BT1_CFG4/5, BOOT_SEL0#/1#, MOD_ON
COMA RS232/422/485 SW1203 UARTB_MODE0, UART_MODE1
LAN LAN Connector SW1204 UARTB_TERM, UARTB_SLEW
USB1 USB2.0 port Connector SW1206 U1205_RX_TERM, U1205_MODE2
USB0_OTG1 Micro USB Connector SW1201 UARTA_MODE0, UART_MODE1
AJ Line Out Connector SW1202 UARTA_TERM, UARTA_SLEW
MIC MIC Connector SW1205 U1202_RX_TERM, U1202_MODE2
CAN CAN Bus Connector SW1303 Power button
COME_DEBUG M-core debug console SW1304 Reset button
COMC COM I2S_CN I2S Connector
COMD A-core debug console CN501 CAN0_H, CAN0_L terminatl resistors
I2C1101 I2C Connector SD_SLT SD select
I2C1102 I2C Connector GPIO1101 GPIO header
CN601 M.2 Key E Connector SPI_CN1101 PWM header
CN701 MIPI-CSI Connector CN1101 SPI header
LVDS LVDS Connector LVDS_VDD_SLT LVDS power select select header
LVDS_BKLT_PWR LVDS Backlight Connector LVDS_BKLT_SLT LVDS Backlight power select header
BAT1 Battery Connector    

 

Rear I/O 

LED Function List 

Location Function
PD1405 +V5_MOD
PD1502 +V3.3
PD1503 +V5

 

Switch Settings 

 

接口引脚定義 (Connector Pin definitions)

机械尺寸  (Mechanical Characteristics)

ROM-2620

RTENOTITLE


快速入门 (Quick Start)

系统下载 (OS Download)

  • 'Linux系统 (Linux OS)'   

Yocto 4.0: IoTGateway/BSP/Linux/iMX8/OS Support List 4.0 release ROM-2620 - ESS-WIKI (advantech.com.tw)

Yocto 4.2: IoTGateway/BSP/Linux/iMX8/OS Support List 4.2 release ROM-2620 - ESS-WIKI (advantech.com.tw) 

 

 

Linux 燒錄方法 (Linux Flash eMMC Method)

使用Flash tool 燒錄鏡像到eMMC (Flash image into eMMC by Flash Tools) 

Step0: 檢查SD卡在Linux 環境的代號 (check SD card symbol in Linux system) 

RTENOTITLE

Step1: 創造一張可開機的SD 卡 (Create a bootable SD card)

Command :

~$ sudo dd if=2620A1AIM34LIVC0054_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2620a1-20230627062759.rootfs.wic of=/dev/sde bs=1M conv=fsync status=progress

RTENOTITLE

Step2: 將可開機的SD 卡插入底板SD卡卡槽(Plug the SD card into Carrier board 's SD card slot)

Step3: 確認開機選擇指撥開關

RTENOTITLE

EMMC boot: SW1301: 1_2_5_6 ON
SW1302: 4_6 ON
SD boot: SW1301: 1_2_3_4 ON
SW1302: 4_6 ON
Serial download: SW1301: All OFF
SW1302: 5_6 ON

Step4:打開電源 和 終端機 (Turn on the Power & Terminal)

RTENOTITLE

Step5: 複製flash tool到U盤中, 解壓縮flash tools檔案,(copy to USB Disk, then unzip the flash tools file)(Test with 32G SD card)

    複製檔案到U盤中 (Copy the flash file to USB Disk), 解壓縮flash tool到home目錄(Unzip the file to home)

  1. tar zxvf /run/media/New\ Volume-sda/2620A1AIM34LIVC0054_iMX8ULP_1G_flash_tool.tgz -C ~

RTENOTITLE

5. 進入flsah tool下的mk_inand資歷夾, 執行指令./mksd-linux.sh /dev/mmcblk0燒錄image到eMMC(Connect USB Disk to ROM-2620 system, extract the flash tool and browser to mk_inand folder and execute flash shell script "./mksd-linux.sh /dev/mmcblk0"

解壓縮後如果沒有mksd-linux.sh檔案, 可以到以下連結下載並複製到mk_inand資料夾下(If there is no mksd-linux.sh file in mk_inand directory. Please download from the link below and place it in mk_inand directory:

mksd-linux.sh

ROM-2620 Device node
SD card /dev/mmcblk2
eMMC /dev/mmcblk0

RTENOTITLE

6. 切換開機switch來設定成從eMMC開機(Change boot switch to boot from eMMC. Reboot system).

     

Debug 串口調試 (Debug port Setting)

以 Tera Term  为例介绍如何使用串口调试功能

   Baud Rate波特率:115200
   Data 数据位:8
   Parity 奇偶校验:无
   Stop 停止位:1
   Flow Control流控:无

Tera Term Tool 

RTENOTITLE

RTENOTITLE

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

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

RTENOTITLE

Debug port connection (串口連接) 

Log into Terminal  Tool (进入串口调试终端):

RTENOTITLE

 

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

UUU 使用方法(USB Connection (OTG port))

Connect USB cable to USB OTG port.

Change boot switch to "SW1301 all OFF, SW1302: 5_6:on" to boot from force recovery mode.

 

Serial download: SW1301: All OFF
SW1302: 5_6 ON

RTENOTITLE

Download uuu tool from link below:

Releases · nxp-imx/mfgtools (github.com)

The uuu verison we tested is 1.4.193: uuu

uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.193-0-ge56424c

Perpare uboot and image files below:

2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz
2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz

1. Download uuu

$ wget https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.4.193/uuu
$ chmod a+x uuu
$ tar zxvf 2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot.tgz
$ tar zxvf 2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool.tgz

Type command below to flash eMMC:

$ sudo ./uuu -b emmc_all 2620A1AIM34LIVC0064_iMX8ULP_1G_imx-boot/imx-boot-imx8ulprom2620a1-1G.bin-flash_singleboot_m33 2620A1AIM34LIVC0064_iMX8ULP_1G_flash_tool/image/imx-image-full-imx8ulprom2620a1-20230901105531.rootfs.wic

RTENOTITLE

 

 

 

Display Setting (ROM-2620)

      U-boot Command :

  • Display
=> setenv fdtfile imx8ulp-rom2620-a1-lt9211.dtb
=> saveenv
=> boot

RTENOTITLE

 

 

Audio(Audio Testing Methid)

# cat /proc/asound/cards

0 [sgtl5000 ]: sgtl5000 - sgtl5000 
                sgtl5000

# amixer set Mic 50%
# amixer set Lineout 100%
# amixer set PCM 100%

Record and playback:

# arecord -t wav -c 2 -r 44100 -d 10 /tmp/mic.wav
# aplay /tmp/mic.wav

 

M.2 WiFi/BT測試方法(M.2 WiFi/BT Testing Method)

  • Test Wi-Fi with EWM-W167 on C0048 version: Change SD_SLT to 2-3
=> setenv fdtfile imx8ulp-rom2620-a1-m2-sdio.dtb
=> saveenv
=> boot

In Linux user space:

# iwconfig
# ifconfig wlan0 up
# iwlist wlan0 scan | grep ESSID
# killall wpa_supplicant
# ifconfig wlan0 up
# wpa_passphrase "Pilimao" "0913079939" > /tmp/wpa.conf
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
# udhcpc -b -i wlan0
# ping 8.8.8.8

Add name server: nameserver 8.8.8.8 in resolv.conf file

# vi /etc/resolv.conf
# ping google.com

Test BT:

# cd /opt/rtl8723bs_bt/
# ./start_bt.sh ttyLP0
# hciconfig hci0 up
# hciconfig
# bluetoothctl
# discoverable on
# pairable on
# scan on
# info 84:C5:A6:D3:AF:E4
# pair 84:C5:A6:D3:AF:E4
# connect 84:C5:A6:D3:AF:E4
# paired-devices
# disconnect 84:C5:A6:D3:AF:E4
# remove 84:C5:A6:D3:AF:E4
  • Test Wi-Fi with EWM-W194M201E Module (SDIO Interface)

Step 1: Press enter after boot. The system will stop at u-boot, and change dtb file by below command.

=> setenv fdtfile imx8ulp-rom2620-a1-m2-sdio-88w8997.dtb
=> saveenv
=> boot

Step 2: Install driver by below command.

# rmmod mwifiex_sdio mwifiex
# modprobe moal mod_para=nxp/wifi_mod_para.conf
# modprobe btnxpuart

Step 3: WIFI test command.

# ifconfig mlan0 up
# wpa_passphrase ASUS-917C qwert12345 > /tmp/wpa.conf
# wpa_supplicant -d -B -i mlan0 -c /tmp/wpa.conf
# udhcpc -i mlan0
  • Test Bluetooth with EWM-W194M201E Module (UART Interface)

Step 1: Please refer to above step 1.
Step 2: Please refer to above step 2.

Step 3: Bluetooth test command.

# hciconfig hci0 up
# bluetoothctl
# discoverable on
# pairable on
# scan on
[NEW] FC:18:3C:8D:75:F4 myphone
# scan off
# pair FC:18:3C:8D:75:F4
# connect FC:18:3C:8D:75:F4

 

 

Serial Port測試方法(Serial Testing Method)(COM A/C)

COMA /dev/ttyLP0
COMB(M33 Domain)  
COMC /dev/ttyLP2
COMD /dev/ttyLP1
COME_DEBUG M33 debug port
  • RS-232 Loopback Test (eg. COMA: ttyLP0):

Step 1: First change ROM-ED91 SW1201 to ‘01’.
Step 2: Run test command.

# stty -F /dev/ttyLP0 speed 115200 -echo
# cat /dev/ttyLP0 &
# echo test > /dev/ttyLP0
  • RS-422 Test:

Step 1: First change ROM-ED91 SW1201 to ‘11’.
Step 2: Test RS-422 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:

Adam-4520 RX- <-->ROM-2620 COMA DB9 Pin 1,
Adam-4520 RX+ <-->ROM-2620 COMA DB9 Pin 2,
Adam-4520 TX- <-->ROM-2620 COMA DB9 Pin 4,
Adam-4520 TX+ <--> ROM-2620 COMA DB9 Pin 3

Step 3: Run below command:

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

Step 1: First change ROM-ED91 SW1201 to ‘10’.
Step 2: Test RS-485 with Adam-4520. Connect Adam-4520 with COMA with DB9 as the following:

Adam-4520 Data- <-->ROM-2620 COMA DB9 Pin 1,
Adam-4520 Data+ <-->ROM-2620 COMA DB9 Pin 2

Step 3: Run below command:

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

 

 

 

I2C測試方法(I2C Testing Method)

Step 1: Plug in ROM-EG70
Step 2: Test by below command (eg. I2C-6 I2C_1101):

# modprobe at24
# echo -n $'\x06\x05\x04\x03\x02\x01' > test
# dd if=test of=/sys/bus/i2c/devices/6-0050/eeprom
# hexdump -C /sys/bus/i2c/devices/6-0050/eeprom -n 64

 

 

USB測試方法(USB Testing Method)

USB disk test (USB 2.0)
Step 1: Issue the following command (lsusb -t) after inserting a USB disk into the USB 2.0 port to check if the USB device is listed. Step 2: Test (eg. if usb disk is /dev/sda)

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

 

 

RTC測試方法(RTC Testing Method)

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

# date 021010452023 && hwclock -w && date

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

# date 010100002000 && hwclock -r && date

 

eMMC/SD測使方法(eMMC/SD Testing Method)

Device Routes
eMMC: /dev/mmcblk0 
SD: /dev/mmcblk2

Test (eg. emmc)

Step 1: Test command:

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

 

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

Command : ifconfig 

RTENOTITLE

Command: Ping - I eth1 8.8.8.8  or Ping - I eth0 8.8.8.8  

RTENOTITLE

 

 

GPIO使用方法(GPIO Operating Method)

GPIO pin:

GPIO1101 pin Pin Name CPU Ball Name GPIO number
1 GPIO_A_0 PTC0 416
2 GPIO_A_1 PTC1 417
3 GPIO_A_2 PTC2 418
4 GPIO_A_3 PTC3 419
5 GPIO_A_4 PTC4 420
6 GPIO_A_5 PTC12 428
7 GPIO_B_0 PTC18 434
8 GPIO_B_1 PTC19 435
9 GPIO_B_2 PTC20 436
10 GPIO_B_3 PTC21 437(Use for M2_SDIO_RST)
11 GPIO_B_4 PTC22 438(Use for M2_W_DISABLE2)
12 GPIO_B_5 PTC23 439(Use for M2_W_DISABLE1)
13 GPIO_B_6 PTB0 448
14 GPIO_B_7 PTB1 449
15 GPIO_C_0 PTD12 140
16 GPIO_C_1 PTD13 141
17 GPIO_C_2 PTF1 193
18 GPIO_C_3 PTF7 199(Use for LVDS_Bridge_RST)
19 PTB6 PTB6 454
20 PTA5 PTA5 485

GPIO Loopback Test (Using GPIO1 and GPIO2 as examples)

Step 1: Connect GPIO1 and GPIO2

Step 2: Export GPIO interface

# echo 416 > /sys/class/gpio/export
# echo 417 > /sys/class/gpio/export

Step 3: Set GPIO direction

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

Step 4: Read value and set output value than check

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

Camera使用方法(Camera Testing Method)

MIPI-CSI0 (Tested with OV5640 + mini-SAS to MIPI-CSI Cable): OV5640 CSI (CN701): Connect OV5640 camera to EG-55 CAM3

Step 1: Take pictures

# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg

Step 2: View on panel

# gplay-1.0 sample.jpeg

 

PWM測試方法(PWM Testing Method)

Please use oscilloscope to check waveform.

PWM1:

# echo 4 > /sys/class/pwm/pwmchip0/export
# echo 1000000 > /sys/class/pwm/pwmchip0/pwm4/period
# echo 500000 > /sys/class/pwm/pwmchip0/pwm4/duty_cycle
# echo 1 > /sys/class/pwm/pwmchip0/pwm4/enable

PWM2:

# echo 5 > /sys/class/pwm/pwmchip6/export
# echo 1000000 > /sys/class/pwm/pwmchip6/pwm5/period
# echo 500000 > /sys/class/pwm/pwmchip6/pwm5/duty_cycle
# echo 1 > /sys/class/pwm/pwmchip6/pwm5/enable

PWM3:

# echo 2 > /sys/class/pwm/pwmchip6/export
# echo 1000000 > /sys/class/pwm/pwmchip6/pwm2/period
# echo 500000 > /sys/class/pwm/pwmchip6/pwm2/duty_cycle
# echo 1 > /sys/class/pwm/pwmchip6/pwm2/enable

PWM4:

# echo 3 > /sys/class/pwm/pwmchip6/export
# echo 1000000 > /sys/class/pwm/pwmchip6/pwm3/period
# echo 500000 > /sys/class/pwm/pwmchip6/pwm3/duty_cycle
# echo 1 > /sys/class/pwm/pwmchip6/pwm3/enable

PWM5:

# echo 4 > /sys/class/pwm/pwmchip6/export
# echo 1000000 > /sys/class/pwm/pwmchip6/pwm4/period
# echo 500000 > /sys/class/pwm/pwmchip6/pwm4/duty_cycle
# echo 1 > /sys/class/pwm/pwmchip6/pwm4/enable

 

M33 Function

We use default M-core firmware to verify each of IO feature. User should connect COME_DEBUG port to PC and there were show screen as demonstration below:

RTENOTITLE

Press C for test mode of CAN bus
Press Q for test mode of QSPI
Press M for test mode of LPSPI master
Press S for test mode of LPSPI slave
Press U for test mode of LPUART
About this firmware, user should note that if you want to switch to another test mode, you must reboot the system.

 

 

CAN Bus

Step 1: Prepare two pcs rom-2620. One for ‘Node A’ one for ‘Node B’
Step 2: Connect these two boards (HI-HI/LO-LO)
Step 3: The test steps and screen are as below :

RTENOTITLE

Step 4: Follow the figure (step1 - step4). If B node received data means test successful.

 

QSPI

Step 1: After select the test mode ‘Q’ to verify QSPI, you will see below screen.

RTENOTITLE

Step 2: This test program will perform QSPI erase/write automatically and show ‘successfully’ when it’s done.
Step 3: User can press any key to run again.

 

 

LPSPI

Step 1: Two pcs rom-2620. One for ‘Master’ one for ‘Slave’.
Step 2: Connection with these two boards by SPI Bus as below:

LPSPI3_PCS0 -- LPSPI3_PCS0
LPSPI3_GND -- LPSPI3_GND
LPSPI3_PCS1 -- LPSPI3_PCS1
LPSPI3_SCK -- LPSPI3_SCK
LPSPI3_SOUT -- LPSPI3_SIN
LPSPI3_SIN -- LPSPI3_SOUT

Step 3: One board select mode ‘M’ to be Master.
Step 4: The second board is specified to Slave by select mode ‘S’.
Step 5: The test screen as below:

RTENOTITLE

Step 6: Press any key at terminal of node master, it will execute the test again.

 

LPUART

Step 1: Change ROM-ED91 SW1203 to '01'.
Step 2: Connect COM-B and COM-E to PC.
Step 3: Set RTS/CTS flow control for COM-B in Putty.exe

RTENOTITLE

Step 4: After select the test mode ‘U’ to verify LPUART2, you will see below screen.

RTENOTITLE

Step 5: If tester can input any characters/strings and show that at COM-B means test successful.

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

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

        Command : ifconfig

 

SSH访问及文件传输

SSH Remote Log into Device 

  • SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件)
  • 需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码

RTENOTITLE

通用方法(General Method)

查看CPU温度(Check CPU Temperature)

root@imx8ulprom2620a1:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp
37000 

查看内存容量(Check Memory Capacity)

root@imx8ulprom2620a1:~# free -h
               total        used        free      shared  buff/cache   available
Mem:           895Mi       230Mi       469Mi        29Mi       195Mi       546Mi
Swap:             0B          0B          0B
root@imx8ulprom2620a1:~#

查看存储容量(Check Storage Capacity)

root@imx8ulprom2620a1:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4       15G  3.9G  9.5G  30% /
devtmpfs       devtmpfs  431M  4.0K  431M   1% /dev
tmpfs          tmpfs     448M     0  448M   0% /dev/shm
tmpfs          tmpfs     180M   20M  160M  11% /run
tmpfs          tmpfs     4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs          tmpfs     448M   76K  448M   1% /tmp
tmpfs          tmpfs     448M  1.5M  447M   1% /var/volatile
tmpfs          tmpfs      90M  4.0K   90M   1% /run/user/0
/dev/mmcblk0p1 vfat       84M   32M   52M  38% /run/media/boot-mmcblk0p1
/dev/mmcblk2p2 ext4       29G   11G   17G  40% /run/media/root-mmcblk2p2
/dev/mmcblk2p1 vfat       84M   32M   52M  38% /run/media/boot-mmcblk2p1
root@imx8ulprom2620a1:~#

 

設置RTC (RTC Setting) 

root@imx8ulprom2620a1:~# systemctl stop ntpdate.service
root@imx8ulprom2620a1:~# date 090816072021 && hwclock -w && date
Wed Sep  8 16:07:00 UTC 2021
Wed Mar  6 04:31:37 UTC 2024
root@imx8ulprom2620a1:~# date
Wed Mar  6 04:31:44 UTC 2024
root@imx8ulprom2620a1:~#

 

查看系統時間 (Check the system) 

root@imx8ulprom2620a1:/# timedatectl
[   41.402592] kauditd_printk_skb: 6 callbacks suppressed
[   41.402611] audit: type=1334 audit(45.332:16): prog-id=15 op=LOAD
[   41.417884] audit: type=1334 audit(45.344:17): prog-id=16 op=LOAD
               Local time: Thu 1970-01-01 00:00:46 UTC
           Universal time: Thu 1970-01-01 00:00:46 UTC      
                 RTC time: Thu 1970-01-01 00:00:45            <-----  Real-Time Clock,RTC 
                Time zone: Universal (UTC, +0000)              <------ Time zone 目前
System clock synchronized: no
              NTP service: active
              RTC in local TZ: no         

Note : 

Change Time Zone  

<code data-highlighted="yes">sudo timedatectl set-timezone "Asia/Taipei"
</code>

           Local time: Fri 2024-05-03 09:07:42 CST
           Universal time: Fri 2024-05-03 01:07:42 UTC
                RTC time: Fri 2024-05-03 09:07:42
                Time zone: Asia/Taipei (CST, +0800)
System clock synchronized: yes
              NTP service: active
              RTC in local TZ: yes

Time Zone List 

 

$ sudo timedatectl list-timezones

Africa/Abidjan

Africa/Accra

Africa/Addis_Ababa

Africa/Algiers

Africa/Asmara

Africa/Bamako

Africa/Bangui

Africa/Banjul

Africa/Bissau

Africa/Blantyre

Africa/Brazzaville

Africa/Bujumbura

Africa/Cairo

Africa/Casablanca

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

Yocto 4.2