Changes

Jump to: navigation, search

Orange Pi CM4

2,720 bytes removed, 17:28, 15 September 2023
no edit summary
<big>'''Top view:'''</big><br>
[[File:media/image3cm4-img3.png]]
<big>'''Bottom view:'''</big>
[[File:media/image4cm4-img4.png]]
<span id="top-and-bottom-views-of-the-orange-pi-cm4-base-board"></span>
<big>'''Top view:'''</big>
[[File:media/image5cm4-img5.png]]
<big>'''Bottom view:'''</big>
[[File:media/image6cm4-img6.png]]
<span id="the-interface-details-of-orange-pi-cm4"></span>
<div class="figure">
[[File:media/image7cm4-img7.png]]
</div>
<div class="figure">
[[File:media/image8cm4-img8.png]]
</div>
[[File:media/image9cm4-img9.png]]
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<ol style="list-style-type: decimal;">
<li><p>TF card, a class 10 or above high-speed SanDisk card with a minimum capacity of 16GB (32GB or above recommended)</p>
<p>[[File:media/image10cm4-img10.png]]</p></li>
<li><p>TF card reader, used to burn the image into the TF card</p>
<p>[[File:media/image11cm4-img11.png]]</p></li>
<li><p>Display with HDMI interface</p>
<p>[[File:media/image12cm4-img12.png]]</p></li>
<li><p>Micro HDMI to HDMI cable, used to connect the development board to an HDMI monitor or TV for display</p>
<div class="figure">
[[File:media/image13cm4-img13.png]]
</div>
</li>
<li><p>Power adapter. Orange Pi CM4 is recommended to use a 5V/3A Type-C power supply.</p>
<p>[[File:media/image14cm4-img14.png]]</p></li>
<li><p>The mouse and keyboard of the USB interface, as long as the mouse and keyboard of the standard USB interface are acceptable, the mouse and keyboard can be used to control the Orange Pi development board</p>
<p>[[File:media/image15cm4-img15.png]]</p></li>
<li><p>USB camera</p>
<p>[[File:media/image16cm4-img16.png]]</p></li>
<li><p>PCIe NVMe SSD, the development board supports SSDs with M.2 2230 and M.2 2242 specifications. M.2 2280 is also supported, but it cannot be fixed with screws.</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
</li>
<li><p>100M or 1000M network cable, used to connect the development board to the Internet</p>
<p>[[File:media/image17cm4-img17.png]]</p></li>
<li><p>USB2.0 male-to-male data cable, used for burning images to eMMC, TF card, etc.</p>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<li><p>'''3.3V''' USB to TTL module and DuPont line, when using serial port debugging function, need USB to TTL module and DuPont line to connect the development board and computer</p>
<p>[[File:media/image19cm4-img19.png]] [[File:media/image20cm4-img20.png]]</p></li>
<li><p>Personal computer with Ubuntu and Windows operating systems installed</p>
<li><p>The website for downloading the English version is:</p>
<p>[http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-CM4.html''']</p>
<p>[[File:media/image21cm4-img21.png]]</p></li>
<li><p>The information mainly includes</p></li></ol>
<ol start="5" style="list-style-type: decimal;">
<li><p>After entering the balenaEtcher download page, click the green download button to jump to the place where the software is downloaded</p>
<p>[[File:media/image22cm4-img22.png]]</p></li>
<li><p>Then you can choose to download the Portable version of balenaEtcher software. The Portable version does not need to be installed, and you can use it by double-clicking to open it</p>
<p>[[File:media/image23cm4-img23.png]]</p></li>
<li><p>If you downloaded the version of balenaEtcher that needs to be installed, please install it first and then use it. If you downloaded the Portable version of balenaEtcher, just double-click to open it. The balenaEtcher interface after opening is as shown below:</p>
<p>[[File:media/image24cm4-img24.png]]</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
<big>'''If the following error is prompted when opening balenaEtcher:'''</big>
[[File:media/image25cm4-img25.png|center]]
<big>'''Please select balenaEtcher, right-click, and select Run as administrator.'''</big>
[[File:media/image26cm4-img26.png|center]]
|}
</li></ol>
<div class="figure">
::[[File:media/image27cm4-img27.png]]
</div></li>
<li><p>The interface displayed in the process of burning the Linux image by balenaEtcher is shown in the figure below, and the progress bar displays purple, indicating that the Linux image is being burned into the TF card</p>
<p>[[File:media/image28cm4-img28.png]]</p></li>
<li><p>After burning the Linux image, balenaEtcher will also verify the image burned into the TF card by default to ensure that there is no problem in the burning process. As shown in the figure below, a green progress bar indicates that the image has been burnt, and balenaEtcher is verifying the burnt image</p>
<p>[[File:media/image29cm4-img29.png]]</p></li>
<li><p>After successful burning, the display interface of balenaEtcher is as shown below. If the green indicator icon is displayed, it means that the image burning is successful. At this time, you can exit balenaEtcher, then pull out the TF card and insert it into the TF card slot of the development board for use.</p>
<div class="figure">
[[File:media/image30cm4-img30.png]]
</div></li></ol>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image31cm4-img31.png]]
</div></li>
<div class="figure">
[[File:media/image32cm4-img32.png]]
</div>
<li><p>Then download the compressed package of the Linux operating system image file you want to burn from the [http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-CM4-1.html '''Orange Pi information download page'''], and then use the decompression software to decompress it. In the decompressed file, the file ending with &quot;'''.img'''&quot; is the image file of the operating system. , the size is generally above 2GB</p></li>
<li><p>Then use decompression software to decompress '''DriverAssitant_v5.12.zip''', then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it.</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>Open '''DriverInstall.exe''' and install the Rockchip microdriver as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>After waiting for a period of time, a window will pop up prompting &quot;'''Driver installation successful'''&quot;, then click the &quot;'''OK'''&quot; button.</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then unzip '''RKDevTool_Release_v3.15.zip'''. This software does not need to be installed. Just find '''RKDevTool''' in the unzipped folder and open it.</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 male-to-male data cable at this time, the lower left corner will prompt &quot;'''No device found'''&quot;</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning the Linux image to the TF card</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer through a USB2.0 male-to-male data cable. The location of the USB2.0 programming port on the development board is as shown in the figure below.</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Make sure the TF card slot is not inserted into the TF card</p></li>
<li><p>Then press and hold the MaskROM button on the development board, the position of the MaskROM button on the development board is shown in the figure below:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the development board to the power supply of the Type-C interface, power it on, and then release the MaskROM button.</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are successful, the development board will enter the '''MASKROM''' mode at this time, and the interface of the burning tool will prompt &quot;'''found a MASKROM device'''&quot;</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>At this time, please insert the TF card into the TF card slot</p></li>
<li><p>Then place the mouse cursor in the area below</p>
<div class="figure">
[[File:media/image42cm4-img42.png]]
</div></li>
<li><p>Then click the right mouse button and the selection interface shown in the figure below will pop up</p>
<p>[[File:media/image43cm4-img43.png]]</p></li>
<li><p>Then select the '''<span class="mark">import configuration</span>''' option</p>
<p>[[File:media/image44cm4-img44.png]]</p></li>
<li><p>Then select the '''rk356x_linux_tfcard.cfg''' configuration file in the '''MiniLoader''' folder downloaded earlier, and click '''<span class="mark">Open</span>'''</p>
<div class="figure">
[[File:media/image45cm4-img45.png]]
</div></li>
<li><p>Then click '''<span class="mark">OK</span>'''</p>
<p>[[File:media/image46cm4-img46.png]]</p></li>
<li><p>Then click the position shown in the figure below</p>
<p>[[File:media/image47cm4-img47.png]]</p></li>
<li><p>Then select '''MiniLoaderAll.bin''' in the '''MiniLoader''' folder downloaded earlier, and then click to '''<span class="mark">open</span>'''</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click on the location shown in the picture below</p>
<p>[[File:media/image49cm4-img49.png]]</p></li>
<li><p>Then select the path of the Linux image you want to burn, and then click '''<span class="mark">Open</span>'''</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<big><p>'''Before burning the image, it is recommended to rename the Linux image to be burned to orangepi.img or another shorter name, so that you can see the percentage of the burning progress when burning the image.'''</p></big>
|}
<p>[[File:media/image50cm4-img50.png]]</p></li>
<li><p>Then please check the option to '''<span class="mark">force writing by address</span>'''.</p>
<p>[[File:media/image51cm4-img51.png]]</p></li>
<li><p>Click the execute button again and it will start burning the Linux image to the tf card of the development board.</p>
<p>[[File:media/image52cm4-img52.png]]</p></li>
<li><p>The display log after the r.Linux image is burned is as shown below</p>
<div class="figure">
[[File:media/image53cm4-img53.png]]
</div></li>
<div class="figure">
[[File:media/image54cm4-img54.png]]
</div></li>
<li><p>Then click &quot;'''Format'''&quot;. A warning box will pop up before formatting. After selecting &quot;'''Yes (Y)'''&quot;, formatting will begin.</p></li></ol>
[[File:media/image55cm4-img55.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li><p>After formatting the TF card, the information shown in the figure below will pop up, click OK</p>
<p>[[File:media/image56cm4-img56.png]]</p></li></ol>
<!-- -->
<div class="figure">
[[File:media/image57cm4-img57.png]]
</div></li>
<ol start="4" style="list-style-type: decimal;">
<li><p>After entering the balenaEtcher download page, click the green download button to jump to the place where the software is downloaded</p>
<p>[[File:media/image22cm4-img22.png]]</p></li>
<li><p>Then choose to download the Linux version of the software</p>
<p>[[File:media/image58cm4-img58.png]]</p></li>
<li><p>Download the compressed Linux operating system image file you want to burn from [http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-CM4-1.html '''Orange Pi's data download page'''], and then use the decompression software to decompress it. Files ending with &quot;'''.img''' &quot;in the decompressed files are the image files of the operating system, and the size is generally more than 2GB</p>
<p>The following command is used to decompress the compressed package ending in 7z</p>
<p>Orangepicm4_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.img: OK</p></li>
<li><p>Then double-click '''balenaEtcher-1.5.109-x64.AppImage''' in the graphical interface of Ubuntu PC to open balenaEtcher '''(no installation required)''', and the interface after balenaEtcher is opened is shown as the following figure</p>
<p>[[File:media/image59cm4-img59.png]]</p></li>
<li><p>The specific steps to burn a Linux image using balenaEtcher are shown below</p>
<p>a. Select the path of the Linux image file to be burned</p>
<div class="figure">
[[File:media/image27cm4-img27.png]]
</div></li>
<li><p>The interface displayed during balenaEtcher burning the Linux image is as shown in the following figure. In addition, the progress bar showing purple indicates that the Linux image is burning to the TF card</p>
<p>[[File:media/image60cm4-img60.png]]</p></li>
<li><p>After the Linux image is burned, balenaEtcher will also verify the image burned to the TF card by default to ensure that there is no problem in the burning process. As shown in the following figure, the green progress bar indicates that the image has been burned, and balenaEtcher is verifying the burned image</p>
<p>[[File:media/image61cm4-img61.png]]</p></li></ol>
<!-- -->
<ol start="12" style="list-style-type: decimal;">
<li><p>The display interface of balenaEtcher after the successful burning is shown as the following figure. If the green indicator icon is displayed indicating that the image is burned successfully, you can exit balenaEtcher at this time, and then pull out the TF card and insert it into the TF card slot of the development board</p>
<p>[[File:media/image62cm4-img62.png]]</p></li></ol>
<span id="methods-for-burning-linux-images-to-emmc"></span>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image31cm4-img31.png]]
</div></li>
<div class="figure">
[[File:media/image32cm4-img32.png]]
</div>
<li><p>Download the compressed Linux operating system image file you want to burn from the [http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-CM4-1.html '''Orange Pi's data download page'''], and then use the decompression software to decompress it. After decompressing the file, the file ending with &quot;'''.img''' &quot;is the image file of the operating system, and the size is generally more than 2GB</p></li>
<li><p>Then use the decompression software to decompress '''DriverAssitant_v5.12.zip''', and then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>Open '''DriverInstall.exe''' and install the SWick micro driver as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the "'''Driver Installation'''" button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>Wait for a period of time, the pop-up window will prompt &gt; &quot;'''Driver installation successful'''&quot;, and then click the &gt; &quot;'''OK'''&quot; button</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then decompress '''RKDevTool_Release_v3.15.zip''', this software does not need to be installed, find '''RKDevTool''' in the decompressed folder and open it</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 public-to-public data cable at this time, the lower left corner will indicate &quot;'''no device found'''&quot;.</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning the Linux image into eMMC</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer through the USB2.0 male-to-public data cable. The position of the USB2.0 burning port on the development board is shown in the figure below</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Ensure that no TF card is inserted into the development board and no power supply is connected</p></li>
<li><p>Then press and hold the MaskROM button on the development board. The position of the MaskROM button on the development board is shown as follows:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the Type-C interface to the development board, and power on, and then you can release the MaskROM button</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are smooth, the development board will enter '''MASKROM''' mode at this time, and the interface of the burning tool will prompt &quot;'''Found a MASKROM device'''&quot;.</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then place the mouse cursor on the field below</p>
<div class="figure">
[[File:media/image63cm4-img63.png]]
</div></li>
<li><p>Then click the right mouse button to pop up the selection interface as shown in the following figure</p>
<p>[[File:media/image43cm4-img43.png]]</p></li>
<li><p>Then select the '''Import configuration''' option</p>
<p>[[File:media/image44cm4-img44.png]]</p></li>
<li><p>Then select the '''rk356x_linux_emmc.cfg''' configuration file in the '''MiniLoader''' folder downloaded earlier and click '''Open'''</p>
<div class="figure">
[[File:media/image64cm4-img64.png]]
</div></li>
<li><p>Then click '''<span class="mark">OK</span>'''</p>
<p>[[File:media/image65cm4-img65.png]]</p></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image66cm4-img66.png]]</p></li>
<li><p>Select '''MiniLoaderAll.bin''' from the '''MiniLoader''' folder downloaded earlier, and then click '''<span class="mark">Open</span>'''</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image67cm4-img67.png]]</p></li>
<li><p>Then select the path of the Linux image you want to burn and click '''<span class="mark">Open</span>'''</p>
<p>'''Before burning the image, it is recommended to rename the Linux image to orangepi.img or something shorter so that you can see the percentage of the burn progress when burning the image.'''</p>
<p>[[File:media/image50cm4-img50.png]]</p></li>
<li><p>Then check the '''<span class="mark">Force write to address</span>''' option</p>
<p>[[File:media/image68cm4-img68.png]]</p></li>
<li><p>Click the Execute button again to start burning the Linux image to eMMC on the development board</p>
<p>[[File:media/image69cm4-img69.png]]</p></li>
<li><p>The following figure shows the display log after the Linux image is burned</p>
<p>[[File:media/image70cm4-img70.png]]</p></li>
<li><p>After the Linux image is burned into eMMC, the Linux system automatically starts</p></li></ol>
</li></ol>
<ol style="list-style-type: lower-alpha;">
<li><p>M.2 2230 SSD specifications are as follows</p>
<p>[[File:media/image71cm4-img71.png]]</p></li>
<li><p>M.2 2242 SSDS are described as follows</p>
<p>[[File:media/image72cm4-img72.png]]</p></li></ol>
</li>
<li><p>Insert the NVMe SSD into the M.2 PCIe port on the development board and secure it</p>
<p>[[File:media/image73cm4-img73.png]]</p></li>
<li><p>Please ensure that the SPI Flash is affixed to the development board. The position of SPI Flash on the development board is shown in the figure below. No other Settings are required before burning</p>
<p>[[File:media/image74cm4-img74.png]]</p></li>
<li><p>Then you need to prepare a good quality USB2.0 public-to-public data cable</p>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image31cm4-img31.png]]
</div></li>
<div class="figure">
[[File:media/image32cm4-img32.png]]
</div>
<li><p>Download the compressed Linux operating system image file you want to burn from the [http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-CM4-1.html '''Orange Pi's data download page'''], and then use the decompression software to decompress it. In the decompressed file, the file ending with &quot;'''.img''' &quot;is the image file of the operating system, and the size is generally more than 2GB</p></li>
<li><p>Then use the decompression software to decompress '''DriverAssitant_v5.12.zip''', and then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>Open '''DriverInstall.exe''' and install the Rockchip driver as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>Wait for a period of time, the pop-up window will prompt &gt; &quot;'''Driver installation successful'''&quot;, and then click the &gt; &quot;'''OK'''&quot; button</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then decompress '''RKDevTool_Release_v3.15.zip''', this software does not need to be installed, find '''RKDevTool''' in the decompressed folder and open it</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 public-to-public data cable at this time, the lower left corner will indicate &quot;'''No device found'''&quot;.</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning the Linux image to the SSD</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through the USB2.0 male-to-public data cable. The position of &gt; the USB2.0 burning interface on the development board is shown &gt; in the figure below</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Ensure that no TF card is inserted into the development board &gt; and no power supply is connected</p></li>
<li><p>Then press and hold the MaskROM button on the development board. &gt; The position of the MaskROM button on the development board is &gt; shown as follows:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the Type-C interface to the development board, and &gt; power on, and then you can release the MaskROM button</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are smooth, the development board will &gt; enter '''MASKROM''' mode at this time, and the interface of the &gt; burning tool will prompt &quot;'''Found a MASKROM device'''&quot;.</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then place the mouse cursor on the field below</p>
<div class="figure">
[[File:media/image63cm4-img63.png]]
</div></li>
<li><p>Then click the right mouse button to pop up the selection &gt; interface as shown in the following figure</p>
<p>[[File:media/image43cm4-img43.png]]</p></li>
<li><p>Then select the '''Import configuration''' option</p>
<p>[[File:media/image44cm4-img44.png]]</p></li>
<li><p>Then go to the previously downloaded '''MiniLoader''' folder, &gt; select the '''rk356x_linux_pcie.cfg''' configuration file, and &gt; click '''Open'''</p>
<div class="figure">
[[File:media/image75cm4-img75.png]]
</div></li>
<li><p>Then click '''<span class="mark">OK</span>'''</p>
<p>[[File:media/image76cm4-img76.png]]</p></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image77cm4-img77.png]]</p></li>
<li><p>Select '''MiniLoaderAll.bin''' from the '''MiniLoader''' folder &gt; downloaded earlier, and then click '''<span class="mark">Open</span>'''</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image78cm4-img78.png]]</p></li>
<li><p>Then go to the previously downloaded '''MiniLoader''' folder, &gt; select '''rkspi_loader.img''', and click '''<span class="mark">Open</span>'''</p>
<div class="figure">
[[File:media/image79cm4-img79.png]]
</div></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image80cm4-img80.png]]</p></li>
<li><p>Then select the path of the Linux image you want to burn and &gt; click '''<span class="mark">Open</span>'''</p>
<p>'''Before burning the image, it is recommended to rename the Linux image to orangepi.img or something shorter so that you can see the percentage of the burn progress when burning the image.'''</p>
<p>[[File:media/image50cm4-img50.png]]</p></li>
<li><p>Then select '''<span class="mark">Force Write to address</span>'''</p>
<p>[[File:media/image81cm4-img81.png]]</p></li>
<li><p>Click the Run button again to start burning the Linux image to &gt; the SSD</p>
<p>[[File:media/image82cm4-img82.png]]</p></li>
<li><p>The display log of the S.lux image after burning is shown in the &gt; following figure</p>
<p>[[File:media/image83cm4-img83.png]]</p>
<p>'''If you have problems with burning, please clear the SPIFlash first and then burn the test. For instructions on how to clear SPIFlash, refer to the section on [[\l|how to clear SPIFlash using RKDevTool]].'''</p></li>
<li><p>After the image is burned, the Linux system in the SPIFlash+PCIe &gt; SSD automatically starts. If it does not start properly, power &gt; it on again.</p></li></ol>
<ol style="list-style-type: lower-alpha;">
<li><p>M.2 2230 SSDS are as follows</p>
<p>[[File:media/image71cm4-img71.png]]</p></li>
<li><p>M.2 2242 SSDS are described as follows</p>
<p>[[File:media/image72cm4-img72.png]]</p></li></ol>
</li>
<li><p>Insert the NVMe SSD into the M.2 PCIe port on the development board and secure it</p>
<p>[[File:media/image73cm4-img73.png]]</p></li>
<li><p>Please ensure that the SPI Flash is affixed to the development board. The position of SPI Flash on the development board is shown in the figure below. No other Settings are required before burning</p>
<p>[[File:media/image74cm4-img74.png]]</p></li>
<li><p>Burning Linux image to SPIFlash+NVMe SSD requires TF card to complete, so first need to burn Linux image to TF card, and then use the TF card to start the development board into the Linux system. For the method of burning a Linux image to a TF card, see the two sections on [[\l|'''the method of burning a Linux image to a TF card''' '''based on a Windows PC''']] and '''[[\l|the method of burning a Linux image to a TF card based on an Ubuntu PC]].'''</p></li>
<li><p>After starting the Linux system with TF card, we first burn the u-boot image into SPI Flash</p>
<div class="figure">
[[File:media/image84cm4-img84.png]]
</div>
<div class="figure">
[[File:media/image85cm4-img85.png]]
</div>
<div class="figure">
[[File:media/image86cm4-img86.png]]
</div>
<ol style="list-style-type: lower-alpha;">
<li><p>M.2 2230 SSDS are as follows</p>
<p>[[File:media/image71cm4-img71.png]]</p></li>
<li><p>M.2 2242 SSDS are described as follows</p>
<p>[[File:media/image72cm4-img72.png]]</p></li></ol>
</li>
<li><p>Insert the NVMe SSD into the M.2 PCIe port on the development board and secure it</p>
<p>[[File:media/image73cm4-img73.png]]</p></li>
<li><p>Please ensure that the SPI Flash is affixed to the development board. The position of SPI Flash on the development board is shown in the figure below. No other Settings are required before burning</p>
<p>[[File:media/image74cm4-img74.png]]</p></li>
<li><p>Burning Linux image to SPIFlash+NVMe SSD requires TF card to complete, so first need to burn Linux image to TF card, and then use the TF card to start the development board into the Linux system. For the method of burning a Linux image to a TF card, see the two sections on '''[[\l|the method of burning a Linux image to a TF card based on a Windows PC]]''' and '''[[\l|the method of burning a Linux image to a TF card based on an Ubuntu PC]].'''</p></li>
<li><p>After starting the Linux system in the TF card, please make sure that the NVMe SSD has been properly recognized by Linux on the development board. If the NVMe SSD is correctly identified, run the '''sudo fdisk -l''' command to view information about the '''nvme'''</p>
<div class="figure">
[[File:media/image87cm4-img87.png]]
</div>
<div class="figure">
[[File:media/image88cm4-img88.png]]
</div>
<div class="figure">
[[File:media/image89cm4-img89.png]]
</div>
<div class="figure">
[[File:media/image90cm4-img90.png]]
</div>
<ol start="3" style="list-style-type: lower-alpha;">
<li><p>Open '''rkspi_loader.img'''. The following interface is displayed:</p>
<p>[[File:media/image91cm4-img91.png]]</p></li>
<li><p>Then click '''Select target'''</p></li></ol>
<div class="figure">
[[File:media/image92cm4-img92.png]]
</div>
<div class="figure">
[[File:media/image93cm4-img93.png]]
</div>
<div class="figure">
[[File:media/image94cm4-img94.png]]
</div>
<div class="figure">
[[File:media/image95cm4-img95.png]]
</div>
<div class="figure">
[[File:media/image96cm4-img96.png]]
</div>
<div class="figure">
[[File:media/image97cm4-img97.png]]
</div>
<div class="figure">
[[File:media/image98cm4-img98.png]]
</div>
<div class="figure">
[[File:media/image99cm4-img99.png]]
</div>
<div class="figure">
[[File:media/image100cm4-img100.png]]
</div>
<div class="figure">
[[File:media/image101cm4-img101.png]]
</div>
<div class="figure">
[[File:media/image102cm4-img102.png]]
</div>
<div class="figure">
[[File:media/image92cm4-img92.png]]
</div>
<div class="figure">
[[File:media/image93cm4-img93.png]]
</div>
<li>Then Select the device name for the NVMe SSD '''/dev/nvme0n1''' and &gt; click '''Select'''</li></ol>
[[File:media/image103cm4-img103.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image104cm4-img104.png]]
</div>
<div class="figure">
[[File:media/image105cm4-img105.png]]
</div>
<div class="figure">
[[File:media/image106cm4-img106.png]]
</div>
<li>The burning process is shown as follows:</li></ol>
[[File:media/image107cm4-img107.png]]
<div class="figure">
[[File:media/image108cm4-img108.png]]
</div>
<li>The display after burning is as follows:</li></ol>
[[File:media/image109cm4-img109.png]]
<ol start="12" style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image110cm4-img110.png]]
</div>
<li>Then enter the password orangepi for Linux and click &gt; '''Authenticate'''</li></ol>
[[File:media/image111cm4-img111.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li><p>Then click '''Fix'''</p>
<p>[[File:media/image112cm4-img112.png]]</p></li>
<li><p>Then select NVMe SSD</p></li></ol>
<div class="figure">
[[File:media/image113cm4-img113.png]]
</div>
<div class="figure">
[[File:media/image114cm4-img114.png]]
</div>
<div class="figure">
[[File:media/image115cm4-img115.png]]
</div>
<ol start="7" style="list-style-type: lower-alpha;">
<li><p>Then drag the capacity to the maximum as shown in the image below</p>
<p>[[File:media/image116cm4-img116.png]]</p></li>
<li><p>Then click '''Resize/Move'''</p>
<p>[[File:media/image117cm4-img117.png]]</p></li>
<li><p>Then click on the green'''√''' in the picture below</p>
<p>[[File:media/image118cm4-img118.png]]</p></li>
<li><p>Then click '''Apply'''</p>
<p>[[File:media/image119cm4-img119.png]]</p></li>
<li><p>Then click '''Close''' to close it</p>
<p>[[File:media/image120cm4-img120.png]]</p></li></ol>
<!-- -->
<li><p>Upload the Linux image file to the Linux operating system on the &gt; development board</p></li>
<li><p>Then use balenaEtcher to burn</p>
<p>[[File:media/image121cm4-img121.png]]</p></li>
<li><p>'''There is no need to manually expand the capacity after burning &gt; the image using this method. The first startup will &gt; automatically expand the capacity.'''</p></li></ol>
</li></ol>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image31cm4-img31.png]]
</div></li>
<div class="figure">
[[File:media/image32cm4-img32.png]]
</div></li></ol>
<div class="figure">
[[File:media/image122cm4-img122.png]]
</div></li>
<li><p>The first image is dedicated to HDMI display and supports 4K &gt; display, if you do not use LCD screen, please download the &gt; image without lcd</p></li>
<li><p>If you want to use an lcd screen, select an image with lcd</p>
<p>[[File:media/image123cm4-img123.png]]</p></li></ol>
</li></ol>
</li>
<li><p>Then use the decompression software to decompress the compressed package of the downloaded Android image. In the decompressed file, the file ending with &quot;.img &quot;is the Android image file, the size of which is more than 1GB</p></li>
<li><p>Then use the decompression software to decompress '''DriverAssitant_v5.12.zip''', and then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>Open '''DriverInstall.exe''' and install the SWick micro driver as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the "'''Driver Installation'''" button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>Wait for a period of time, the pop-up window will prompt &quot;'''Driver installation successful'''&quot;, and then click the &quot;'''OK'''&quot; button</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then decompress '''RKDevTool_Release_v3.15.zip''', this software does not need to be installed, find '''RKDevTool''' in the decompressed folder and open it</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 public-to-public data cable at this time, the lower left corner will display &quot;'''No device found'''&quot;.</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning Android image to TF card</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through the USB2.0 male-to-public data cable. The position of &gt; the USB2.0 burning interface on the development board is shown &gt; in the figure below</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Then make sure that no TF card is inserted into the development &gt; board and no power is connected</p></li>
<li><p>Then press and hold the MaskROM button on the development board. &gt; The position of the MaskROM button on the development board is &gt; shown as follows:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Connect the development board to the Type-C port, and power on &gt; the development board</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are smooth, the development board will &gt; enter '''MASKROM''' mode at this time, and the interface of the &gt; burning tool will prompt &quot;'''Found a MASKROM device'''&quot;.</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then insert the TF card into the development board</p></li>
<li><p>Then select '''<span class="mark">Advanced features</span>'''</p>
<p>[[File:media/image124cm4-img124.png]]</p></li>
<li><p>Then click on the location shown in the image below</p>
<p>[[File:media/image125cm4-img125.png]]</p></li>
<li><p>Select '''MiniLoaderAll.bin''' from the '''MiniLoader''' folder &gt; downloaded earlier and click Open</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click '''<span class="mark">Download</span>'''</p>
<p>[[File:media/image126cm4-img126.png]]</p></li>
<li><p>The following figure is displayed after '''MiniLoaderAll.bin''' is &gt; downloaded</p>
<p>[[File:media/image127cm4-img127.png]]</p></li>
<li><p>Then select the storage device as '''<span class="mark">SD</span>''' and click &gt; '''<span class="mark">Switch storage</span>'''</p>
<div class="figure">
[[File:media/image128cm4-img128.png]]
</div></li>
<div class="figure">
[[File:media/image129cm4-img129.png]]
</div></li>
<li><p>Then click on the &quot;'''Upgrade Firmware'''&quot; section of the &gt; burning tool</p>
<p>[[File:media/image130cm4-img130.png]]</p></li>
<li><p>Then click the &quot;'''Firmware'''&quot; button to select the path of the &gt; Android image that you want to burn</p>
<p>[[File:media/image131cm4-img131.png]]</p></li>
<li><p>Finally, click the &quot;'''Upgrade'''&quot; button to start burning. The &gt; log in the burning process is shown below. The Android system &gt; will start automatically after the burning is complete.</p></li></ol>
</li></ol>
<div class="figure">
[[File:media/image132cm4-img132.png]]
</div>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image122cm4-img122.png]]
</div></li>
<li><p>The first image is dedicated to HDMI display and supports 4K &gt; display. If you don’t use LCD screen, please download the &gt; image without lcd</p></li>
<li><p>If you want to use an LCD screen, please choose the image &gt; with LCD</p>
<p>[[File:media/image123cm4-img123.png]]</p></li></ol>
</li></ol>
</li>
<li><p>Then use decompression software to decompress the compressed package of the downloaded Android image. In the decompressed file, the file ending with &quot;.img&quot; is the Android image file, with a size of more than 1GB.</p></li>
<li><p>Then use decompression software to decompress '''DriverAssitant_v5.12.zip''', then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it.</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>Open '''DriverInstall.exe''' and install the Rockchip microdriver as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>After waiting for a period of time, a window will pop up prompting &quot;'''Driver installation successful'''&quot;, then click the &quot;'''OK'''&quot; button.</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then unzip '''RKDevTool_Release_v3.15.zip'''. This software does not need to be installed. Just find '''RKDevTool''' in the unzipped folder and open it.</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 male-to-male data cable at this time, the lower left corner will prompt &quot;'''No device found'''&quot;</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning the Android image into eMMC</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through a USB2.0 male-to-male data cable. The location of the &gt; development board’s USB2.0 burning interface is as shown in &gt; the figure below.</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Then make sure that the development board is not inserted into &gt; the TF card and not connected to the power supply</p></li>
<li><p>Then press and hold the MaskROM button on the development board, &gt; the position of the MaskROM button on the development board is &gt; shown in the figure below:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the development board to the power supply of the &gt; Type-C interface and power on</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are successful, the development board will &gt; enter the '''MASKROM''' mode at this time, and the interface of &gt; the burning tool will prompt &quot;'''found a MASKROM device'''&quot;</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then please select '''<span class="mark">advanced functions</span>'''</p>
<p>[[File:media/image124cm4-img124.png]]</p></li>
<li><p>Then click the position shown in the figure below</p>
<p>[[File:media/image125cm4-img125.png]]</p></li>
<li><p>Then select '''MiniLoaderAll.bin''' in the '''MiniLoader''' folder downloaded earlier, and then click Open</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click '''<span class="mark">Download</span>'''</p>
<p>[[File:media/image126cm4-img126.png]]</p></li>
<li><p>The display after downloading '''MiniLoaderAll.bin''' is shown in the figure below</p>
<p>[[File:media/image133cm4-img133.png]]</p></li>
<li><p>Then select the storage device as '''EMMC''', and then click '''<span class="mark">Switch Storage</span>'''</p>
<p>[[File:media/image134cm4-img134.png]]</p></li>
<li><p>The successful switching is displayed as shown below</p>
<p>[[File:media/image135cm4-img135.png]]</p></li>
<li><p>Then click the &quot;'''Upgrade Firmware'''&quot; column of the burning &gt; tool</p>
<p>[[File:media/image130cm4-img130.png]]</p></li>
<li><p>Then click the &quot;'''Firmware'''&quot; button to select the path of the &gt; Android image that needs to be burned.</p>
<p>[[File:media/image131cm4-img131.png]]</p></li>
<li><p>Finally, click the &quot;'''Upgrade'''&quot; button to start burning. The &gt; log during the burning process is as shown below. After &gt; burning is completed, the Android system will start &gt; automatically.</p>
<div class="figure">
[[File:media/image132cm4-img132.png]]
</div></li></ol>
<div class="figure">
[[File:media/image122cm4-img122.png]]
</div></li>
<li><p>The first image is specifically used for HDMI display. It &gt; supports 4K display. If you do not use the LCD screen, &gt; download the image without LCD</p></li>
<li><p>If you want to use the LCD screen, select the image with LCD</p>
<p>[[File:media/image123cm4-img123.png]]</p></li></ol>
</li></ol>
</li>
<li><p>Then use the decompression software to decompress the downloaded Android image compressed package. In the files that are decompressed, the file ending with &quot;.img&quot; is the Android image file with a memory of more than 1GB</p></li>
<li><p>Then use the decompression software to decompress the '''SDDiskTool_v1.72.zip'''. This software does not need to be installed. Find the '''SD_Firmware_Tool.exe''' in the unzipped folder and open it.</p>
<p>[[File:media/image136cm4-img136.png]]</p></li>
<li><p>After opening '''SDDiskTool''', if the TF card is recognized normally, the inserted disk device will be displayed in the &quot;'''Select Removable Disk Device'''&quot; column. '''<span class="mark">Please make sure that the displayed disk device is consistent with the drive letter of the TF card you want to burn</span>'''. If there is no display, you can try to unplug the TF card</p>
<p>[[File:media/image137cm4-img137.png]]</p></li>
<li><p>After confirming the drive letter, you can format the TF card first and click the '''<span class="mark">Recover Disk</span>''' button in '''SDDiskTool'''. You can also use the '''SD Card Formatter''' mentioned earlier to format the TF card</p>
<p>[[File:media/image138cm4-img138.png]]</p></li>
<li><p>Then start writing the Android image to the TF card</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Then select the path of the Android firmware in the &quot;'''Select &gt; Upgrade Firmware'''&quot; column</p></li>
<li><p>Finally, click the &quot;'''Start Creating'''&quot; button to start &gt; burning.</p>
<p>[[File:media/image139cm4-img139.png]]</p></li></ol>
</li>
<li><p>After the burning is completed, the display is as shown below, and then you can exit SDDiskTool</p>
<p>[[File:media/image140cm4-img140.png]]</p></li>
<li><p>Then pull out the TF card from the computer and insert it into the development board. After the development board is powered on, it will automatically start burning the Android image in the TF card into the eMMC of the development board.</p></li>
<li><p>If the development board is connected to an HDMI display, you can also see the progress bar of burning the Android image to eMMC from the HDMI display</p>
<p>[[File:media/image141cm4-img141.png]]</p></li>
<li><p>When the HDMI monitor displays the following information, it means that the burning of the Android image into the eMMC has been completed. At this time, the TF card can be pulled out, and then the Android system in the eMMC will start.</p>
<p>[[File:media/image142cm4-img142.png]]</p></li></ol>
<span id="how-to-burn-android-image-to-spiflashnvme-ssd"></span>
<ol style="list-style-type: lower-alpha;">
<li><p>The M.2 2230 SSD is as follows</p>
<p>[[File:media/image71cm4-img71.png]]</p></li>
<li><p>The M.2 2242 specification SSD is as follows</p>
<p>[[File:media/image72cm4-img72.png]]</p></li></ol>
</li>
<li><p>Then insert the NVMe SSD into the M.2 PCIe interface of the development board and fix it</p>
<p>[[File:media/image73cm4-img73.png]]</p></li>
<li><p>Please make sure that the SPI Flash has been attached to the development board. The location of the SPI Flash on the development board is as shown in the picture below. No other settings are required before starting burning</p>
<p>[[File:media/image74cm4-img74.png]]</p></li>
<li><p>You also need to prepare a good quality USB2.0 male-to-male data cable</p>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image122cm4-img122.png]]
</div></li>
<li><p>The image without lcd is specially used for HDMI display and &gt; supports 4K display. If you don’t use the LCD screen, &gt; please download the image without lcd</p></li>
<li><p>If you want to use an LCD screen, please choose the image &gt; with lcd</p>
<p>[[File:media/image143cm4-img143.png]]</p></li></ol>
</li></ol>
</li>
<li><p>Then use decompression software to decompress '''<span class="mark">DriverAssitant_v5.12.zip</span>''', then find the '''<span class="mark">DriverInstall.exe</span>''' executable file in the decompressed folder and open it.</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>The steps to install the Rockchip driver after opening '''DriverInstall.exe''' are as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>After waiting for a period of time, a window will pop up prompting &quot;'''Driver installation successful'''&quot;, then click the &quot;'''OK'''&quot; button</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then unzip '''RKDevTool_Release_v3.15.zip'''. This software does not need to be installed. Just find '''RKDevTool''' in the unzipped folder and open it</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not yet connected to the development board through the USB2.0 male-to-male data cable, a message &quot;'''No device found'''&quot; will appear in the lower left corner.</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then start burning the Android image to SPIFlash+NVMe SSD</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through a USB2.0 male-to-male data cable. The location of the &gt; USB2.0 programming port on the development board is as shown &gt; in the figure below.</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Make sure that the development board is not inserted into the TF &gt; card and not connected to the power supply</p></li>
<li><p>Then press and hold the MaskROM button on the development board. &gt; The location of the MaskROM button on the development board is &gt; as shown in the figure below:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the development board to the power supply of the &gt; Type-C interface, power it on, and then release the MaskROM &gt; button</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are successful, the development board will &gt; enter the '''MASKROM''' mode at this time, and the interface of &gt; the burning tool will prompt &quot;'''Found a MASKROM devic'''e &quot;</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then click the &quot;'''Upgrade Firmware'''&quot; column of the burning &gt; tool</p>
<p>[[File:media/image130cm4-img130.png]]</p></li>
<li><p>Then click the &quot;'''Firmware'''&quot; button to select the Android &gt; image that needs to be burned</p>
<p>[[File:media/image131cm4-img131.png]]</p></li>
<li><p>Finally, click the &quot;'''Upgrade'''&quot; button to start burning. The &gt; burning process is shown in the figure below. You can see that &gt; the firmware will be burned into SPIFlash first, and then &gt; burned into PCIE. The Android system will start automatically &gt; after burning.</p>
<p>[[File:media/image144cm4-img144.png]]</p></li></ol>
</li></ol>
<ol style="list-style-type: decimal;">
<li><p>The location of SPI Flash on the development board is shown in the figure below</p>
<p>[[File:media/image74cm4-img74.png]]</p></li>
<li><p>First of all, you need to prepare a good quality USB2.0 male-to-male data cable</p>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image145cm4-img145.png]]
</div></li>
<div class="figure">
[[File:media/image146cm4-img146.png]]
</div>
</li>
<li><p>Then use decompression software to decompress '''DriverAssitant_v5.12.zip''', then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>The steps to install the Rockchip driver after opening '''DriverInstall.exe''' are as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>After waiting for a period of time, a pop-up window will prompt &gt; &quot;'''Driver installed successfully'''&quot;, and then click the &gt; &quot;'''OK'''&quot; button.</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then unzip '''RKDevTool_Release_v3.15.zip'''. This software does not need to be installed. Just find '''RKDevTool''' in the unzipped folder and open it.</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool'''burning tool, because the computer has not yet connected to the development board through the USB2.0 male-to-male data cable, a message &quot;'''No device found'''&quot; will appear in the lower left corner.</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then you can start to clear the contents of the SPI FLASH</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through a USB2.0 male-to-male data cable. The location of the &gt; USB2.0 programming port on the development board is as shown &gt; in the figure below.</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Make sure that the development board is not inserted into the TF &gt; card and not connected to the power supply</p></li>
<li><p>Then press and hold the MaskROM button on the development board. &gt; The location of the MaskROM button on the development board is &gt; as shown in the figure below:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the development board to the power supply of the &gt; Type-C interface, power it on, and then release the MaskROM &gt; button.</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are successful, the development board will &gt; enter the '''MASKROM''' mode at this time, and the interface of &gt; the burning tool will prompt &quot;'''found a MASKROM device'''&quot;</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then please select '''<span class="mark">advanced functions</span>'''</p>
<p>[[File:media/image124cm4-img124.png]]</p></li>
<li><p>Then click the position shown in the figure below</p>
<p>[[File:media/image125cm4-img125.png]]</p></li>
<li><p>Then select '''MiniLoaderAll.bin''' in the '''MiniLoader''' folder downloaded earlier, and then click Open</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click '''<span class="mark">Download</span>'''</p>
<p>[[File:media/image126cm4-img126.png]]</p></li>
<li><p>The display after downloading '''MiniLoaderAll.bin''' is shown in the figure below</p>
<p>[[File:media/image133cm4-img133.png]]</p></li>
<li><p>Then select the storage device as '''SPINOR'''</p>
<p>[[File:media/image147cm4-img147.png]]</p></li>
<li><p>Then click '''<span class="mark">switch storage</span>'''</p>
<p>[[File:media/image148cm4-img148.png]]</p></li>
<li><p>Then click '''<span class="mark">Erase All</span>''' and it will start erasing SPIFlash.</p>
<p>[[File:media/image149cm4-img149.png]]</p></li>
<li><p>The display log after erasing SPIFlash is shown in the figure below</p>
<p>[[File:media/image150cm4-img150.png]]</p></li></ol>
</li></ol>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<div class="figure">
[[File:media/image145cm4-img145.png]]
</div></li>
<div class="figure">
[[File:media/image146cm4-img146.png]]
</div>
</li>
<li><p>Then use the decompression software to decompress '''DriverAssitant_v5.12.zip''', and then find the '''DriverInstall.exe''' executable file in the decompressed folder and open it</p>
<p>[[File:media/image33cm4-img33.png]]</p></li>
<li><p>After opening '''DriverInstall.exe''', the steps to install the Rockchip driver are as follows</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Click the &quot;'''Driver Installation'''&quot; button</p>
<p>[[File:media/image34cm4-img34.png]]</p></li>
<li><p>After waiting for a period of time, a window will pop up &gt; prompting &quot;'''Driver installation successful'''&quot;, then click &gt; the &quot;'''OK'''&quot; button.</p>
<p>[[File:media/image35cm4-img35.png]]</p></li></ol>
</li>
<li><p>Then unzip '''RKDevTool_Release_v3.15.zip'''. This software does not need to be installed. Just find '''RKDevTool''' in the unzipped folder and open it.</p>
<p>[[File:media/image36cm4-img36.png]]</p></li>
<li><p>After opening the '''RKDevTool''' burning tool, because the computer has not connected to the development board through the USB2.0 male-to-male data cable at this time, the lower left corner will prompt &quot;'''No device found'''&quot;</p>
<p>[[File:media/image37cm4-img37.png]]</p></li>
<li><p>Then you can start to clear the content in eMMC</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First, connect the development board to the Windows computer &gt; through a USB2.0 male-to-male data cable. The location of the &gt; USB2.0 programming port on the development board is as shown &gt; in the figure below.</p>
<p>[[File:media/image38cm4-img38.png]]</p></li>
<li><p>Make sure that the development board is not inserted into the TF &gt; card and not connected to the power supply</p></li>
<li><p>Then press and hold the MaskROM button on the development board. &gt; The location of the MaskROM button on the development board is &gt; as shown in the figure below:</p>
<p>[[File:media/image39cm4-img39.png]]</p></li>
<li><p>Then connect the development board to the power supply of the &gt; Type-C interface, power it on, and then release the MaskROM &gt; button</p>
<p>[[File:media/image40cm4-img40.png]]</p></li>
<li><p>If the previous steps are successful, the development board will &gt; enter the '''MASKROM''' mode at this time, and the interface of &gt; the burning tool will prompt &quot;'''found a MASKROM device'''&quot;</p>
<p>[[File:media/image41cm4-img41.png]]</p></li>
<li><p>Then please select '''<span class="mark">advanced functions</span>'''</p>
<p>[[File:media/image124cm4-img124.png]]</p></li>
<li><p>Then click the position shown in the figure below</p>
<p>[[File:media/image125cm4-img125.png]]</p></li>
<li><p>Then select '''MiniLoaderAll.bin''' in the '''MiniLoader''' folder downloaded earlier, and then click Open</p>
<div class="figure">
[[File:media/image48cm4-img48.png]]
</div></li>
<li><p>Then click '''<span class="mark">Download</span>'''</p>
<p>[[File:media/image126cm4-img126.png]]</p></li>
<li><p>The display after downloading '''MiniLoaderAll.bin''' is shown in the figure below</p>
<p>[[File:media/image133cm4-img133.png]]</p></li>
<li><p>Then select the storage device as '''eMMC'''</p>
<p>[[File:media/image151cm4-img151.png]]</p></li>
<li><p>Then click '''<span class="mark">switch storage</span>'''</p>
<p>[[File:media/image152cm4-img152.png]]</p></li>
<li><p>Then click '''<span class="mark">Erase All</span>''' to start erasing the eMMC.</p>
<p>[[File:media/image153cm4-img153.png]]</p></li>
<li><p>The display log after erasing eMMC is as shown below</p>
<p>[[File:media/image154cm4-img154.png]]</p></li></ol>
</li></ol>
<ol style="list-style-type: decimal;">
<li><p>First install the Orange Pi CM4 core board on the base board</p>
<p>[[File:media/image155cm4-img155.png]]</p></li>
<li><p>Then insert the TF card with the burned image into the TF card slot of the Orange Pi development board.</p></li>
<li><p>The development board has a Micro HDMI interface, and the development board can be connected to a TV or HDMI display through a Micro HDMI to HDMI cable. If you have purchased an LCD screen, you can also use the LCD screen to display the system interface of the development board</p></li>
<div class="figure">
[[File:media/image156cm4-img156.png]]
</div>
<ol start="2" style="list-style-type: decimal;">
<li><p>The corresponding relationship between the GND, RXD and TXD pins of the development board’s debugging serial port is as shown in the figure below</p>
<p>[[File:media/image157cm4-img157.png]]</p></li>
<li><p>The GND, TXD and RXD pins of the USB to TTL module need to be connected to the debugging serial port of the development board through Dupont lines</p>
<ol style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image158cm4-img158.png]]
</div>
<p>test@test:~$ '''sudo putty'''</p></li>
<li><p>After executing the putty command, the following interface will pop up</p>
<p>[[File:media/image159cm4-img159.png]]</p></li>
<li><p>First select the serial port setting interface</p>
<p>[[File:media/image160cm4-img160.png]]</p></li>
<li><p>Then set the parameters of the serial port</p>
<ol style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image161cm4-img161.png]]
</div></li></ol>
<div class="figure">
[[File:media/image162cm4-img162.png]]
</div></li></ol>
</li>
<li><p>After starting the development board, you can see the Log information output by the system from the open serial terminal.</p>
<p>[[File:media/image163cm4-img163.png]]</p></li></ol>
<span id="how-to-use-the-debugging-serial-port-on-windows-platform"></span>
<p>[https://mobaxterm.mobatek.net/ '''https://mobaxterm.mobatek.net''']</p></li>
<li><p>After entering the MobaXterm download page, click '''GET XOBATERM &gt; NOW!'''</p>
<p>[[File:media/image164cm4-img164.png]]</p></li>
<li><p>Then choose to download the Home version</p>
<p>[[File:media/image165cm4-img165.png]]</p></li>
<li><p>Then select the Portable version. There is no need to install it after downloading. You can open it directly and use it.</p>
<p>[[File:media/image166cm4-img166.png]]</p></li></ol>
</li>
<li><p>After downloading, use decompression software to decompress the downloaded compressed package to get the MobaXterm executable software, and then double-click to open it.</p>
<p>[[File:media/image167cm4-img167.png]]</p></li>
<li><p>After opening the software, the steps to set up the serial port connection are as follows</p>
<ol style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image168cm4-img168.png]]
</div>
<div class="figure">
[[File:media/image169cm4-img169.png]]
</div></li></ol>
<div class="figure">
[[File:media/image170cm4-img170.png]]
</div>
<li><p>The black DuPont wire needs to be plugged into the GND pin of &gt; the 40pin interface</p></li>
<li><p>The position of the 40Pin interface 5V pin and GND pin in the &gt; development board is shown in the figure below, '''Remember not &gt; to reverse'''</p>
<p>[[File:media/image171cm4-img171.png]]</p></li></ol>
</li></ol>
<ol style="list-style-type: decimal;">
<li><p>The Linux system automatically logs in to the terminal by default. The default login user name is '''orangepi'''.</p>
<p>[[File:media/image172cm4-img172.png]]</p></li>
<li><p>Use the following command to set the root user to automatically log in to the terminal</p>
<p>orangepi@orangepi:~$ '''sudo auto_login_cli.sh root'''</p></li>
<div class="figure">
[[File:media/image173cm4-img173.png]]
</div></li>
<div class="figure">
[[File:media/image174cm4-img174.png]]
</div></li></ol>
<p>orangepi@orangepi:~$ '''sudo desktop_login.sh root'''</p></li>
<li><p>Then restart the system, it will automatically use the root user to log in to the desktop</p>
<p>[[File:media/image175cm4-img175.png]]</p>
<p>'''Note that if you use the root user to log in to the desktop system, you cannot use pulseaudio in the upper right corner to manage audio devices.'''</p>
<p>'''Also note that this is not a bug, since pulseaudio is not allowed to run as root.'''</p></li>
<div class="figure">
[[File:media/image176cm4-img176.png]]
</div></li>
<div class="figure">
[[File:media/image177cm4-img177.png]]
</div></li>
<p>orangepi@orangepi:~$ '''nmtui'''</p></li>
<li><p>Enter the nmtui command to open the interface as shown below</p>
<p>[[File:media/image178cm4-img178.png]]</p></li>
<li><p>Select '''Activate a connect''' and press Enter</p>
<p>[[File:media/image179cm4-img179.png]]</p></li>
<li><p>Then you can see all the searched WIFI hotspots</p>
<div class="figure">
[[File:media/image180cm4-img180.png]]
</div></li>
<div class="figure">
[[File:media/image181cm4-img181.png]]
</div></li>
<div class="figure">
[[File:media/image182cm4-img182.png]]
</div></li>
<div class="figure">
[[File:media/image183cm4-img183.png]]
</div></li>
<ol style="list-style-type: decimal;">
<li><p>Click the network configuration icon in the upper right corner of the desktop (please do not connect the network cable when testing WIFI)</p>
<p>[[File:media/image184cm4-img184.png]]</p></li>
<li><p>Click '''More networks''' in the pop-up drop-down box to see all scanned WIFI hotspots, and then select the WIFI hotspot you want to connect to.</p>
<p>[[File:media/image185cm4-img185.png]]</p></li>
<li><p>Then enter the password of the WIFI hotspot, and then click '''Connect''' to start connecting to WIFI</p>
<p>[[File:media/image186cm4-img186.png]]</p></li>
<li><p>After connecting to WIFI, you can open the browser to check whether you can access the Internet. The entrance of the browser is shown in the figure below</p>
<p>[[File:media/image187cm4-img187.png]]</p></li>
<li><p>If you can open other web pages after opening the browser, it means the WIFI connection is normal</p>
<p>[[File:media/image188cm4-img188.png]]</p></li></ol>
<span id="how-to-set-a-static-ip-address"></span>
<p>orangepi@orangepi:~$ '''nmtui'''</p></li>
<li><p>Then select '''Edit a connection''' and press Enter</p>
<p>[[File:media/image189cm4-img189.png]]</p></li>
<li><p>Then select the network interface for which a static IP address needs to be set. For example, to set the static IP address of the '''Ethernet''' interface, select '''Wired connection 1'''.</p>
<p>[[File:media/image190cm4-img190.png]]</p></li>
<li><p>Then select '''Edit''' via the '''Tab''' key and press the Enter key</p>
<p>[[File:media/image191cm4-img191.png]]</p></li>
<li><p>Then use the Tab key to move the cursor to the'''&lt;Automatic&gt;''' position shown in the figure below to configure IPv4</p>
<p>[[File:media/image192cm4-img192.png]]</p></li>
<li><p>Then press Enter, select '''Manual''' through the up and down arrow keys, and then press Enter to confirm.</p>
<p>[[File:media/image193cm4-img193.png]]</p></li>
<li><p>The display after selection is as shown below</p>
<p>[[File:media/image194cm4-img194.png]]</p></li>
<li><p>Then move the cursor to '''&lt;Show&gt;''' via the Tab key</p>
<p>[[File:media/image195cm4-img195.png]]</p></li>
<li><p>Then press Enter. After pressing Enter, the following setting interface will pop up.</p>
<p>[[File:media/image196cm4-img196.png]]</p></li>
<li><p>Then you can set the IP address (Addresses), gateway (Gateway) and DNS server address as shown in the figure below (there are many other setting options, please explore by yourself),'''Please set it according to your specific needs. The value set in the picture below is just an example.'''</p>
<p>[[File:media/image197cm4-img197.png]]</p></li>
<li><p>After setting, move the cursor to '''&lt;OK&gt;''' in the lower right corner, and then press Enter to confirm.</p>
<p>[[File:media/image198cm4-img198.png]]</p></li>
<li><p>Then click '''&lt;Back&gt;''' to return to the previous level selection interface</p>
<p>[[File:media/image199cm4-img199.png]]</p></li>
<li><p>Then select '''Activate a connection''', then move the cursor to '''&lt;OK&gt;''', and finally click Enter</p>
<p>[[File:media/image200cm4-img200.png]]</p></li>
<li><p>Then select the network interface that needs to be set, such as '''Wired connection 1''', then move the cursor to '''&lt;Deactivate&gt;''', and press Enter to disable '''Wired connection 1'''</p>
<p>[[File:media/image201cm4-img201.png]]</p></li>
<li><p>Then please do not move the cursor, and then press the Enter key to re-enable '''Wired connection 1''', so that the static IP address set earlier will take effect</p>
<p>[[File:media/image202cm4-img202.png]]</p></li>
<li><p>Then you can exit nmtui through the '''&lt;Back&gt;'''and '''Quit''' buttons</p>
<p>[[File:media/image203cm4-img203.png]] [[File:media/image204cm4-img204.png]]</p></li>
<li><p>Then through '''ip addr show eth0''', you can see that the IP address of the network port has changed to the static IP address set earlier</p>
<p>orangepi@orangepi:~$ '''ip addr show eth0'''</p>
<div class="figure">
[[File:media/image205cm4-img205.png]]
</div>
<div class="figure">
[[File:media/image206cm4-img206.png]]
</div></li></ol>
<div class="figure">
[[File:media/image207cm4-img207.png]]
</div>
<li>After successfully logging into the system, the display is as shown below</li></ol>
[[File:media/image208cm4-img208.png]]
<span id="method-of-uploading-files-to-the-development-board-linux-system"></span>
<div class="figure">
[[File:media/image209cm4-img209.png]]
</div></li>
<div class="figure">
[[File:media/image210cm4-img210.png]]
</div>
<ol start="5" style="list-style-type: decimal;">
<li><p>Then choose to '''<span class="mark">save the password</span>''', and then click '''<span class="mark">OK</span>'''</p>
<p>[[File:media/image211cm4-img211.png]]</p></li>
<li><p>Then select '''<span class="mark">Always trust this host</span>''' and click '''<span class="mark">OK</span>'''</p></li></ol>
<div class="figure">
[[File:media/image212cm4-img212.png]]
</div>
<div class="figure">
[[File:media/image213cm4-img213.png]]
</div>
<div class="figure">
[[File:media/image214cm4-img214.png]]
</div>
[https://filezilla-project.org/download.php?type=client '''https://filezilla-project.org/download.php?type=client''']
[[File:media/image215cm4-img215.png]]
<div class="figure">
[[File:media/image216cm4-img216.png]]
</div>
<div class="figure">
[[File:media/image217cm4-img217.png]]
</div>
<div class="figure">
[[File:media/image218cm4-img218.png]]
</div>
<div class="figure">
[[File:media/image210cm4-img210.png]]
</div>
<div class="figure">
[[File:media/image219cm4-img219.png]]
</div>
<div class="figure">
[[File:media/image220cm4-img220.png]]
</div>
<div class="figure">
[[File:media/image221cm4-img221.png]]
</div>
<div class="figure">
[[File:media/image222cm4-img222.png]]
</div>
<div class="figure">
[[File:media/image223cm4-img223.png]]
</div></li>
<ol style="list-style-type: decimal;">
<li><p>First open '''Display''' in '''Settings'''</p>
<p>[[File:media/image224cm4-img224.png]]</p></li>
<li><p>Then you can see the current resolution of the system</p>
<p>[[File:media/image225cm4-img225.png]]</p></li>
<li><p>Click the drop-down box of Resolution to see all resolutions currently supported by the display</p>
<p>[[File:media/image226cm4-img226.png]]</p></li>
<li><p>Then select the resolution you want to set and click Apply</p>
<p>[[File:media/image227cm4-img227.png]]</p></li>
<li><p>After the new resolution is set, select '''Keep the configuration'''</p>
<p>[[File:media/image228cm4-img228.png]]</p></li></ol>
<span id="how-to-use-bluetooth"></span>
<ol style="list-style-type: decimal;">
<li><p>Click the Bluetooth icon in the upper right corner of the desktop</p>
<p>[[File:media/image229cm4-img229.png]]</p></li>
<li><p>Then select the adapter</p>
<p>[[File:media/image230cm4-img230.png]]</p></li>
<li><p>If prompted with the following interface, please select '''Yes'''.</p>
<p>[[File:media/image231cm4-img231.png]]</p></li>
<li><p>Then set the '''Visibility Setting''' to '''Always visible''' in the Bluetooth adapter setting interface, and then close it</p>
<p>[[File:media/image232cm4-img232.png]]</p></li>
<li><p>Then open the configuration interface of the Bluetooth device</p>
<p>[[File:media/image233cm4-img233.png]]</p></li>
<li><p>Click '''Search''' to start scanning for surrounding Bluetooth devices</p>
<p>[[File:media/image234cm4-img234.png]]</p></li>
<li><p>Then select the Bluetooth device you want to connect to, and then click the right mouse button to pop up the operation interface for this Bluetooth device, select '''Pair''' to start pairing, and the demonstration here is to pair with an Android phone</p>
<p>[[File:media/image235cm4-img235.png]]</p></li>
<li><p>When pairing, a pairing confirmation box will pop up in the upper right corner of the desktop. Just select '''Confirm''' to confirm. At this time, you also need to confirm on the mobile phone.</p>
<p>[[File:media/image236cm4-img236.png]]</p></li>
<li><p>After pairing with the mobile phone, you can select the paired Bluetooth device, then right click and select '''Send a File''' to start sending a picture to the mobile phone</p>
<p>[[File:media/image237cm4-img237.png]]</p></li>
<li><p>The interface for sending pictures is as follows</p>
<p>[[File:media/image238cm4-img238.png]]</p></li></ol>
<span id="usb-interface-test"></span>
support 2.4G WIFI+BT4.0
| [[File:media/image239cm4-img239.png]]
|-
| 2
support 2.4G +5G WIFI
| [[File:media/image240cm4-img240.png]]
|}
<p>TX bytes:23307 acl:0 sco:0 commands:125 errors:0</p></li>
<li><p>You can also see the Bluetooth icon on the desktop. Bluetooth is not turned on at this time, so a red '''x''' will be displayed</p>
<p>[[File:media/image241cm4-img241.png]]</p></li>
<li><p>Click '''Turn Bluetooth On''' to turn on Bluetooth</p>
<p>[[File:media/image242cm4-img242.png]]</p></li>
<li><p>The display after turning on Bluetooth is as follows</p>
<p>[[File:media/image243cm4-img243.png]]</p></li>
<li><p>For the Bluetooth test method, please refer to the section on [[\l|'''Bluetooth usage''']] and will not be repeated here.</p></li></ol>
<ol style="list-style-type: decimal;">
<li><p>First, you need to prepare a USB camera as shown in the picture below or similar that supports UVC protocol, and then insert the USB camera into the USB interface of the Orange Pi development board</p>
<p>[[File:media/image16cm4-img16.png]]</p></li>
<li><p>Through the v4l2-ctl command, you can see that the device node information of the USB camera is /dev/video0</p>
<p>orangepi@orangepi:~$ '''v4l2-ctl --list-devices'''</p>
<p>'''In addition, the serial number of the video is not necessarily video0, please refer to what you actually see.'''</p></li>
<li><p>In the desktop system, you can use Cheese to directly open the USB camera. The method of opening Cheese is as shown in the figure below:</p>
<p>[[File:media/image244cm4-img244.png]]</p>
<p>The interface after Cheese turns on the USB camera is as shown below:</p>
<p>[[File:media/image245cm4-img245.png]]</p></li>
<li><p>How to use fswebcam to test USB camera</p>
<ol style="list-style-type: lower-alpha;">
<ol style="list-style-type: decimal;">
<li><p>First open the file manager</p>
<p>[[File:media/image246cm4-img246.png]]</p></li>
<li><p>Then find the following file (if there is no such audio file in the system, you can upload an audio file to the system yourself)</p>
<div class="figure">
[[File:media/image247cm4-img247.png]]
</div></li>
<li><p>Then select the audio.wav file, right-click and select open with vlc to start playing.</p>
<p>[[File:media/image248cm4-img248.png]]</p></li>
<li><p>How to switch between different audio devices such as HDMI playback and headphone playback</p>
<ol style="list-style-type: lower-alpha;">
<li><p>First open the volume control interface</p>
<p>[[File:media/image249cm4-img249.png]]</p></li>
<li><p>When playing audio, the audio device options that can be used by &gt; the playback software will be displayed in '''Playback''', as &gt; shown in the figure below. Here you can set which audio device &gt; needs to be played</p>
<p>[[File:media/image250cm4-img250.png]]</p></li></ol>
</li></ol>
<ol style="list-style-type: decimal;">
<li><p>First insert the headphones into the headphone jack of the development board</p>
<p>[[File:media/image251cm4-img251.png]]</p></li>
<li><p>Then you can use the '''aplay -l''' command to check the sound card devices supported by the Linux system. From the output below, we can see that '''card 0''' is the sound card device of rk809, which is the sound card device of the headset.</p>
<p>orangepi@orangepi:~$ '''aplay -l'''</p>
<div class="figure">
[[File:media/image252cm4-img252.png]]
</div></li>
<ol style="list-style-type: lower-alpha;">
<li><p>The following is the complete pin diagram of 40pin</p>
<p>[[File:media/image253cm4-img253.png]]</p></li>
<li><p>The table below is the picture of the left half of the complete &gt; table above, so you can see it clearly</p>
<p>[[File:media/image254cm4-img254.png]]</p></li>
<li><p>The table below is the picture of the right half of the complete &gt; table above, so you can see it clearly</p>
<p>[[File:media/image255cm4-img255.png]]</p></li></ol>
</li>
<li><p>There are a total of '''28''' GPIO ports in the 40pin interface, and the voltage of all GPIO ports is '''3.3v'''</p></li></ol>
<div class="figure">
[[File:media/image256cm4-img256.png]]
</div>
<div class="figure">
[[File:media/image256cm4-img256.png]]
</div></li></ol>
# There are a total of 28 GPIO ports in the 40pins of the development board that can be used. The following uses pin 7—the corresponding GPIO is GPIO4_C3——the corresponding wPi serial number is 2—as an example to demonstrate how to set the high and low levels of the GPIO port
[[File:media/image257cm4-img257.png]]
<ol start="2" style="list-style-type: decimal;">
Use gpio readall to see that the value (V) of pin 7 has changed to 0
[[File:media/image258cm4-img258.png]]
<ol start="4" style="list-style-type: decimal;">
Use gpio readall to see that the value (V) of pin 7 has changed to 1
[[File:media/image259cm4-img259.png]]
<ol start="5" style="list-style-type: decimal;">
'''Note that the 4 GPIO pins below the Orange Pi CM4 have an external 3.3V pull-up, so setting the pull-down is invalid, and the other pins can normally set the pull-up and pull-down resistor function'''
[[File:media/image260cm4-img260.png]]
# The following takes pin 11—the corresponding GPIO is GPIO3_C6—the corresponding wPi serial number is 5—as an example to demonstrate how to set the pull-up and pull-down resistance of the GPIO port
[[File:media/image261cm4-img261.png]]
<ol start="2" style="list-style-type: decimal;">
# According to the schematic diagram of the 40pin interface, the spi available for Orange Pi CM4 is spi3
[[File:media/image262cm4-img262.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the SPI configuration you want to open</li></ol>
[[File:media/image265cm4-img265.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;'''Save</li></ol>
[[File:media/image266cm4-img266.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Back&gt;'''</li></ol>
[[File:media/image267cm4-img267.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then short-circuit the two pins of mosi (pin 19 in the 40pin interface) and miso (pin 21 in the 40pin interface) of SPI3 and run the output of spidev_test as follows, you can see the sending and receiving same data</li></ol>
[[File:media/image269cm4-img269.png]]
orangepi@orangepi:~$ '''sudo spidev_test -v -D /dev/spidev3.0'''
# As can be seen from the table below, the available i2c for Orange Pi CM4 is i2c2, i2c3 and i2c4, a total of three sets of i2c buses
[[File:media/image270cm4-img270.png]]
'''As can be seen from the above table, i2c4_m0 and spi3_m0 are multiplexed pins, and both cannot be opened at the same time. i2c3_m0 and uart3_m0 are also multiplexed pins, and both cannot be opened at the same time'''
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the I2C configuration you want to open</li></ol>
[[File:media/image271cm4-img271.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;''' Save</li></ol>
[[File:media/image266cm4-img266.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image267cm4-img267.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
orangepi@orangepi:~$ sudo i2cdetect -y 4 #i2c4 command
[[File:media/image272cm4-img272.png]]
<span id="pin-uart-test"></span>
# As can be seen from the table below, the available uarts of Orange Pi CM4 are three sets of uart buses: uart3, uart7 and uart9
[[File:media/image273cm4-img273.png]]
'''As can be seen from the above table, i2c3_m0 and uart3_m0 are multiplexed pins, and both cannot be opened at the same time'''
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the UART configuration you want to open</li></ol>
[[File:media/image274cm4-img274.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;''' Save</li></ol>
[[File:media/image275cm4-img275.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image276cm4-img276.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
|}
[[File:media/image277cm4-img277.png]]
<ol start="5" style="list-style-type: decimal;">
# As can be seen from the table below, Orange Pi CM4 has two channels of pwm available pwm11 and pwm15
[[File:media/image278cm4-img278.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then select'''System'''</li></ol>
[[File:media/image279cm4-img279.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the PWM configuration you want to open</li></ol>
[[File:media/image280cm4-img280.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;''' Save</li></ol>
[[File:media/image266cm4-img266.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image267cm4-img267.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Which of the above pwmchips corresponds to pwm11? Let’s first check the output of the '''ls /sys/class/pwm/ -l''' command, as shown below:</li></ol>
[[File:media/image281cm4-img281.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then it can be known from the table below that the base address of the pwm11 register is fe6f0030, and then look at the output of the '''ls /sys/class/pwm/ -l''' command, you can see that pwmchip1 is linked to fe6f0030.pwm, so pwm11 corresponds to pwmchip as pwmchip1</li></ol>
[[File:media/image282cm4-img282.png]]
<ol start="6" style="list-style-type: decimal;">
root@orangepi:~# '''echo 1 &gt; /sys/class/pwm/pwmchip1/pwm0/enable'''
[[File:media/image283cm4-img283.png]]
<ol start="7" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image256cm4-img256.png]]
</div>
# The following takes pin No. 7—the corresponding GPIO is GPIO4_C3—the corresponding wPi number is 2—as an example to demonstrate how to set the high and low levels of the GPIO port
[[File:media/image257cm4-img257.png]]
<ol start="2" style="list-style-type: decimal;">
# According to the schematic diagram of the 40pin interface, the spi available for Orange Pi CM4 is spi3
[[File:media/image262cm4-img262.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the SPI configuration you want to open</li></ol>
[[File:media/image265cm4-img265.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;'''Save</li></ol>
[[File:media/image266cm4-img266.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image267cm4-img267.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
# As can be seen from the table below, the available i2c for Orange Pi CM4 is i2c2, i2c3 and i2c4, a total of three sets of i2c buses
[[File:media/image270cm4-img270.png]]
'''As can be seen from the above table, i2c4_m0 and spi3_m0 are multiplexed pins, and both cannot be opened at the same time. i2c3_m0 and uart3_m0 are also multiplexed pins, and both cannot be opened at the same time'''
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the I2C configuration you want to open</li></ol>
[[File:media/image271cm4-img271.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;''' Save</li></ol>
[[File:media/image266cm4-img266.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image267cm4-img267.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li><p>Then select '''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</p>
<p>[[File:media/image268cm4-img268.png]]</p></li></ol>
<!-- -->
|}
[[File:media/image284cm4-img284.png]]
<ol start="5" style="list-style-type: decimal;">
orangepi@orangepi:~$ sudo i2cdetect -y 4 #i2c4 command
[[File:media/image272cm4-img272.png]]
<ol start="6" style="list-style-type: decimal;">
# As can be seen from the table below, the available uarts of Orange Pi CM4 are three sets of uart buses: uart3, uart7 and uart9
[[File:media/image273cm4-img273.png]]
'''As can be seen from the above table, i2c3_m0 and uart3_m0 are multiplexed pins, and both cannot be opened at the same time'''
<li>Then select '''System'''</li></ol>
[[File:media/image263cm4-img263.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image264cm4-img264.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to the position shown in the figure below, and then use the space to select the UART configuration you want to open</li></ol>
[[File:media/image274cm4-img274.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Save&gt;''' Save</li></ol>
[[File:media/image275cm4-img275.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image276cm4-img276.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select'''&lt;Reboot&gt;'''Restart the system for the configuration to take effect</li></ol>
[[File:media/image268cm4-img268.png]]
<ol start="3" style="list-style-type: decimal;">
|}
[[File:media/image277cm4-img277.png]]
<ol start="5" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image285cm4-img285.png]]
</div>
<div class="figure">
[[File:media/image87cm4-img87.png]]
</div>
<div class="figure">
[[File:media/image286cm4-img286.png]]
</div>
<li>Then select the AppImage version balenaEtcher, then click the right mouse button, and then click Execute to open balenaEtcher</li></ol>
[[File:media/image287cm4-img287.png]]
<span id="how-to-install-baota-linux-panel"></span>
<li>The next thing to do is to wait patiently. When you see the following print information output from the terminal, it means that the BaoTa has been installed. The entire installation process takes about 34 minutes, and there may be some differences depending on the network speed</li></ol>
[[File:media/image288cm4-img288.png]]
<ol start="6" style="list-style-type: decimal;">
<li><p>At this time, enter the panel address shown above in the browser to open the login interface of the BaoTa Linux panel, and then enter the '''username''' and '''password''' shown in the above figure at the corresponding position to log in.<br />
[[File:media/image289cm4-img289.png]]</p></li>
<li><p>After successfully logging into the pagoda, the following welcome interface will pop up. First, please read the user notice in the middle and drag it to the bottom, then you can select &quot;I have agreed and read the &quot;User Agreement&quot;&quot;, and then click &quot;Enter the panel&quot; You can enter the BaoTa</p></li></ol>
[[File:media/image290cm4-img290.png]]
<ol start="8" style="list-style-type: decimal;">
<li><p>If you do not have an account, you can go to the official website of the BaoTa (http://www.aapanel.com/)to register
[[File:media/image291cm4-img291.png]]</p></li>
<li><p>The final displayed interface is as shown in the figure below. You can intuitively see some status information of the Linux system on the development board, such as load status, CPU usage, memory usage, and storage space usage, etc.</p></li></ol>
[[File:media/image292cm4-img292.png]]
<ol start="10" style="list-style-type: decimal;">
<li>Then select '''zh_CN.UTF-8 UTF-8''' in the pop-up interface (move up and down through the up and down direction keys on the keyboard, select through the space bar, and finally move the cursor to'''&lt;OK&gt;'''through the Tab key, and then return to car)</li></ol>
[[File:media/image293cm4-img293.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then set the default '''locale''' as '''zh_CN.UTF-8'''</li></ol>
[[File:media/image294cm4-img294.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then open '''Input Method'''</li></ol>
[[File:media/image295cm4-img295.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then Select '''OK'''</li></ol>
[[File:media/image296cm4-img296.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then Select '''Yes'''</li></ol>
[[File:media/image297cm4-img297.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then Select '''fcitx'''</li></ol>
[[File:media/image298cm4-img298.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then Select '''OK'''</li></ol>
[[File:media/image299cm4-img299.png]]
<ol start="7" style="list-style-type: decimal;">
<li><p>Then open '''Fcitx configuration'''</p></li></ol>
[[File:media/image300cm4-img300.png]]
<ol start="9" style="list-style-type: decimal;">
<li>Then click the + sign in the position shown in the figure below</li></ol>
[[File:media/image301cm4-img301.png]]
<ol start="10" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image302cm4-img302.png]]
</div>
<li>Then bring'''Google Pinyin''' to the front</li></ol>
[[File:media/image303cm4-img303.png]]
[[File:media/image304cm4-img304.png]]
<ol start="12" style="list-style-type: decimal;">
<li>Then open the '''Geany''' editor to test the Chinese input method</li></ol>
[[File:media/image305cm4-img305.png]]
<ol start="13" style="list-style-type: decimal;">
<li>The Chinese input method test is as follows</li></ol>
[[File:media/image306cm4-img306.png]]
<ol start="14" style="list-style-type: decimal;">
<li>Then '''restart the system''' and you can see that the system is displayed in Chinese</li></ol>
[[File:media/image307cm4-img307.png]]
<span id="how-to-install-ubuntu-20.04-system"></span>
# Open first '''Language Support'''
[[File:media/image308cm4-img308.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then find the '''Chinese (China)''' option</li></ol>
[[File:media/image309cm4-img309.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then please use the left mouse button to select '''Chinese (China)''' and hold it down, then drag it up to the initial position, and the display after dragging is as shown in the figure below:</li></ol>
[[File:media/image310cm4-img310.png]]
'''Note that this step is not easy to drag, please be patient and try a few more times.'''
<li>Then select '''Apply System-Wide''' to apply the Chinese settings to the entire system</li></ol>
[[File:media/image311cm4-img311.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then set '''Keyboard input method system''' as '''fcitx'''</li></ol>
[[File:media/image312cm4-img312.png]]
<ol start="6" style="list-style-type: decimal;">
<li><p>After re-entering the system, please choose '''not to ask me again''' in the following interface, and then please decide whether the standard folder should also be updated to Chinese according to your preferences</p></li></ol>
[[File:media/image313cm4-img313.png]]
<ol start="8" style="list-style-type: decimal;">
<li>Then you can see that the desktop is displayed in Chinese</li></ol>
[[File:media/image314cm4-img314.png]]
<ol start="9" style="list-style-type: decimal;">
<li>Then we can open '''Geany''' to test the Chinese input method, the opening method is as shown in the figure below</li></ol>
[[File:media/image315cm4-img315.png]]
<ol start="10" style="list-style-type: decimal;">
<li>After opening'''Geany''', the default is English input method, we can switch to Chinese input method through '''Ctrl+Space'''shortcut key, and then we can input Chinese</li></ol>
[[File:media/image316cm4-img316.png]]
<span id="how-to-install-ubuntu-22.04-system"></span>
# Open first '''Language Support'''
[[File:media/image308cm4-img308.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then find the '''Chinese (China)''' option</li></ol>
[[File:media/image317cm4-img317.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then please use the left mouse button to select '''Chinese (China)''' and hold it down, then drag it up to the initial position, and the display after dragging is as shown in the figure below:</li></ol>
[[File:media/image318cm4-img318.png]]
'''Note that this step is not easy to drag, please be patient and try a few more times.'''
<li>Then select '''Apply System-Wide''' to apply the Chinese settings to the entire system</li></ol>
[[File:media/image319cm4-img319.png]]
<ol start="5" style="list-style-type: decimal;">
<li><p>After re-entering the system, please choose '''not to ask me again''' in the following interface, and then please decide whether the standard folder should also be updated to Chinese according to your preferences</p></li></ol>
[[File:media/image313cm4-img313.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Then you can see that the desktop is displayed in Chinese</li></ol>
[[File:media/image314cm4-img314.png]]
<ol start="8" style="list-style-type: decimal;">
<li>Then open the Fcitx5 configuration program</li></ol>
[[File:media/image320cm4-img320.png]]
<ol start="9" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image321cm4-img321.png]]
</div>
<li>The interface after selection is as shown below, and then click OK</li></ol>
[[File:media/image322cm4-img322.png]]
<ol start="11" style="list-style-type: decimal;">
<li>Then we can open '''Geany'''to test the Chinese input method, the opening method is as shown in the figure below</li></ol>
[[File:media/image315cm4-img315.png]]
<ol start="12" style="list-style-type: decimal;">
<li>After opening '''Geany''', the default is English input method, we can switch to Chinese input method through '''Ctrl+Space''' shortcut key, and then we can input Chinese</li></ol>
[[File:media/image323cm4-img323.png]]
<span id="how-to-remotely-log-in-to-the-desktop-of-the-linux-system"></span>
[https://downloads.nomachine.com/download/?id=116&distro=ARM '''https://downloads.nomachine.com/download/?id=116&amp;distro=ARM''']
[[File:media/image324cm4-img324.png]]
<ol start="2" style="list-style-type: lower-alpha;">
<li>In addition, you can also download the '''NoMachine''' installation package in the official tool</li></ol>
[[File:media/image325cm4-img325.png]]
<blockquote>First '''enter the remote login software-NoMachine''' folder
</blockquote>
[[File:media/image326cm4-img326.png]]
<blockquote>Then download the arm64 version of the deb installation package
</blockquote>
[[File:media/image327cm4-img327.png]]
<ol start="3" style="list-style-type: lower-alpha;">
[https://downloads.nomachine.com/download/?id=8 '''https://downloads.nomachine.com/download/?id=8''']
[[File:media/image328cm4-img328.png]]
<ol start="3" style="list-style-type: decimal;">
<li><p>Then open NoMachine in Window '''NoMachine'''</p></li></ol>
[[File:media/image329cm4-img329.png]]
<ol start="5" style="list-style-type: decimal;">
<li>After NoMachine starts, it will automatically scan other devices installed with NoMachine in the LAN. After entering the main interface of NoMachine, you can see that the development board is already in the list of connectable devices, and then click the position shown in the red box in the figure below You can start to log in to the Linux system desktop of the development board</li></ol>
[[File:media/image330cm4-img330.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then Click '''OK'''</li></ol>
[[File:media/image331cm4-img331.png]]
<ol start="7" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image332cm4-img332.png]]
</div>
<li><p>Then click OK in the next interface</p></li>
<li><p>Finally, you can see the desktop of the development board Linux system</p>
<p>[[File:media/image333cm4-img333.png]]</p></li></ol>
<span id="use-vnc-to-log-in-remotely"></span>
<div class="figure">
[[File:media/image334cm4-img334.png]]
</div>
<li>Then enter the VNC password set earlier</li></ol>
[[File:media/image335cm4-img335.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li><p>After successful login, the interface is displayed as shown in the figure below, and then you can remotely operate the desktop of the Linux system on the development board</p>
<p>[[File:media/image336cm4-img336.png]]</p></li></ol>
<span id="some-programming-language-tests-supported-by-linux-system"></span>
<li>Then you can see the startup icon of QT Creator in '''Applications'''</li></ol>
[[File:media/image337cm4-img337.png]]
You can also use the following command to open QT Creator
<li>The interface after QT Creator is opened is as follows</li></ol>
[[File:media/image338cm4-img338.png]]
<ol start="5" style="list-style-type: decimal;">
</li></ol>
[[File:media/image339cm4-img339.png]]
<ol start="2" style="list-style-type: lower-alpha;">
<li>The default version of QT Creator in '''Ubuntu22.04''' is as follows</li></ol>
[[File:media/image340cm4-img340.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>The default version of QT Creator in '''Debian11''' is as follows</li></ol>
[[File:media/image341cm4-img341.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>The default version of QT Creator in '''Debian12''' is as follows</li></ol>
[[File:media/image342cm4-img342.png]]
<ol start="6" style="list-style-type: decimal;">
</li></ol>
[[File:media/image343cm4-img343.png]]
<ol start="2" style="list-style-type: lower-alpha;">
<li>Then remove the tick of '''ClangCodeModel'''</li></ol>
[[File:media/image344cm4-img344.png]]
<ol start="3" style="list-style-type: lower-alpha;">
'''Debian12 please skip this step.'''
[[File:media/image345cm4-img345.png]]
[[File:media/image346cm4-img346.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Then you can open a sample code</li></ol>
[[File:media/image347cm4-img347.png]]
<ol start="8" style="list-style-type: decimal;">
<li>After clicking the sample code, the corresponding instruction document will be opened automatically, you can read the instruction carefully</li></ol>
[[File:media/image348cm4-img348.png]]
<ol start="9" style="list-style-type: decimal;">
<li>Then click next '''Configure Project'''</li></ol>
[[File:media/image349cm4-img349.png]]
<ol start="10" style="list-style-type: decimal;">
<li>Then click the green triangle in the lower left corner to compile and run the sample code</li></ol>
[[File:media/image350cm4-img350.png]]
<ol start="11" style="list-style-type: decimal;">
<li>After waiting for a period of time, the interface shown in the figure below will pop up, which means that QT can compile and run normally</li></ol>
[[File:media/image351cm4-img351.png]]
<ol start="12" style="list-style-type: decimal;">
# The current active version of ROS 1 is as follows, and the recommended version is '''Noetic Ninjemys'''
[[File:media/image352cm4-img352.png]]
[[File:media/image353cm4-img353.png]]
[http://docs.ros.org/ '''http://docs.ros.org''']
[http://wiki.ros.org/noetic/Installation '''http://wiki.ros.org/noetic/Installation''']
[[File:media/image354cm4-img354.png]]
<ol start="4" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image355cm4-img355.png]]
</div>
<div class="figure">
[[File:media/image356cm4-img356.png]]
</div>
<li>At this time, press the direction keys on the keyboard to control the little turtle to move up, down, left, and right</li></ol>
[[File:media/image357cm4-img357.png]]
<span id="how-to-install-ros-2-galactic-on-ubuntu-20.04"></span>
# The current active version of ROS 2 is as follows, and the recommended version is '''Galactic Geochelone'''
[[File:media/image358cm4-img358.png]]
[[File:media/image359cm4-img359.png]]
[http://docs.ros.org/ '''http://docs.ros.org''']
<div class="figure">
[[File:media/image360cm4-img360.png]]
</div>
<div class="figure">
[[File:media/image361cm4-img361.png]]
</div>
'''If there is a problem with compiling the code you copied here, please go to the official tool to download the source code and upload it to the Linux system of the development board for testing.'''
[[File:media/image362cm4-img362.png]]
orangepi@orangepi:~$ '''make'''
'''Raspberry Pi 5-inch MIPI LCD display + Touch screenis shown in the figure below'''
[[File:media/image363cm4-img363.png]]
[[File:media/image364cm4-img364.png]]
<ol start="2" style="list-style-type: lower-alpha;">
<li>15pin MIPI cable</li></ol>
[[File:media/image365cm4-img365.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then connect the 15pin MIPI cable to the Raspberry Pi 5-inch screen as shown in the figure below (note the orientation of the insulating surface)</li></ol>
[[File:media/image366cm4-img366.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Finally connect to the LCD interface of the Orange Pi CM4 development board</li></ol>
[[File:media/image367cm4-img367.png]]
<span id="how-to-open-raspberry-pi-5-inch-screen-configuration"></span>
<li>Then select '''System'''</li></ol>
[[File:media/image368cm4-img368.png]]
<ol start="3" style="list-style-type: lower-alpha;">
<li>Then select '''Hardware'''</li></ol>
[[File:media/image369cm4-img369.png]]
<ol start="4" style="list-style-type: lower-alpha;">
<li>Then use the arrow keys on the keyboard to navigate to raspi-7inch-touchscreen, and then use the space to select</li></ol>
[[File:media/image370cm4-img370.png]]
<ol start="5" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Save&gt;'''Save</li></ol>
[[File:media/image371cm4-img371.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Back&gt;'''</li></ol>
[[File:media/image372cm4-img372.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Then select '''&lt;Reboot&gt;''' Restart the system for the configuration to take effect</li></ol>
[[File:media/image373cm4-img373.png]]
'''The above settings will eventually add the configuration of overlays=raspi-7inch-touchscreen to /boot/orangepiEnv.txt. After setting, you can check it first. If this configuration does not exist, then there is a problem with the settings.'''
<li>After startup, you can see the display of the LCD screen as follows:</li></ol>
[[File:media/image374cm4-img374.png]]
<span id="the-method-of-server-version-image-rotation-display-direction"></span>
# First open '''Display''' Settings in Linux
[[File:media/image375cm4-img375.png]]
<ol start="2" style="list-style-type: decimal;">
</li></ol>
[[File:media/image376cm4-img376.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then click '''Apply'''</li></ol>
[[File:media/image377cm4-img377.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then select '''Keep this configuration'''</li></ol>
[[File:media/image378cm4-img378.png]]
<ol start="5" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image379cm4-img379.png]]
</div></li>
<div class="figure">
[[File:media/image380cm4-img380.png]]
</div></li></ol>
</li>
<li><p>Connect the 30pin eDP interface of the screen and the eDP interface of the development board with a 30pin single-head cable in the same direction</p>
<p>[[File:media/image381cm4-img381.png]]</p></li></ol>
<span id="how-to-open-the-edp-screen-configuration"></span>
<p>orangepi@orangepi:~$ '''sudo orangepi-config'''</p></li>
<li><p>Then select '''System'''</p>
<p>[[File:media/image368cm4-img368.png]]</p></li>
<li><p>Then select '''Hardware'''</p>
<p>[[File:media/image369cm4-img369.png]]</p></li>
<li><p>Then use the arrow keys on the keyboard to navigate to edp, and &gt; then use the '''space''' to select</p>
<p>[[File:media/image382cm4-img382.png]]</p></li>
<li><p>Then select '''&lt;Save&gt;''' to save</p>
<p>[[File:media/image371cm4-img371.png]]</p></li>
<li><p>Then select '''&lt;Back&gt;'''</p>
<p>[[File:media/image372cm4-img372.png]]</p></li>
<li><p>Then select '''&lt;Reboot&gt;''' to restart the system to make the &gt; configuration take effect</p>
<p>[[File:media/image373cm4-img373.png]]</p>
<p>'''The above settings will eventually add the configuration of overlays=edp to /boot/orangepiEnv.txt. After setting, you can check it first. If this configuration does not exist, then there is a problem with the settings.'''</p>
<p>'''If you find it troublesome to use orangepi-config, you can also use the vim editor to open /boot/orangepiEnv.txt, and then add the configuration of overlays=edp.'''</p>
</li>
<li><p>After startup, you can see the display of the eDP screen as follows:</p>
<p>[[File:media/image383cm4-img383.png]]</p></li></ol>
<span id="instructions-for-using-the-switch-logo"></span>
<div class="figure">
[[File:media/image384cm4-img384.png]]
</div>
# First, we can use the '''lsblk''' command to view all storage devices on the development board. The current development board is connected to an NVMe SSD and a U disk. The output is as follows:
[[File:media/image385cm4-img385.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then use the '''zpool list''' command to see that the system has created a ZFS pool named '''pool1''', and the size of the ZFS pool pool1 is the size of the NVME SSD plus the size of the U disk</li></ol>
[[File:media/image386cm4-img386.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then use the '''zpool list''' command to see that only 1.01G is actually occupied, because these 1001 files are all duplicates, indicating that the data deduplication function is effective.</li></ol>
[[File:media/image387cm4-img387.png]]
<span id="test-the-data-compression-function-of-zfs"></span>
<li>Then the file size that can be seen through the '''ls -lh''' command and the space occupied in the ZFS pool are both '''27M'''</li></ol>
[[File:media/image388cm4-img388.png]]
<ol start="3" style="list-style-type: decimal;">
<li>At this time, you can see that the size of the '''text.tar''' file is still 27M, but it only occupies 9.47M in the ZFS pool, indicating that the file is compressed</li></ol>
[[File:media/image389cm4-img389.png]]
<span id="how-to-shut-down-and-restart-the-development-board"></span>
<div class="figure">
[[File:media/image390cm4-img390.png]]
</div>
<div class="figure">
[[File:media/image391cm4-img391.png]]
</div>
<div class="figure">
[[File:media/image392cm4-img392.png]]
</div></li>
<div class="figure">
[[File:media/image393cm4-img393.png]]
</div></li>
<li>Then select '''5 Install/Update the bootloader on SD/eMMC''' to update the u-boot in the TF card or '''7 Install/Update the bootloader on SPI Flash''' to update the u-boot in the SPI Flash</li></ol>
[[File:media/image394cm4-img394.png]]
<ol start="6" style="list-style-type: lower-alpha;">
<li>After pressing the Enter key, a Warning will pop up first</li></ol>
[[File:media/image395cm4-img395.png]]
<ol start="7" style="list-style-type: lower-alpha;">
<li>Press the Enter key again to start updating u-boot, and the following information will be displayed after the update is completed</li></ol>
[[File:media/image396cm4-img396.png]]
<ol start="8" style="list-style-type: lower-alpha;">
<div class="figure">
[[File:media/image397cm4-img397.png]]
</div>
<div class="figure">
[[File:media/image393cm4-img393.png]]
</div>
<li>Then it will prompt whether to display the kernel configuration interface. If you do not need to modify the kernel configuration, select the first one. If you need to modify the kernel configuration, select the second one.</li></ol>
[[File:media/image398cm4-img398.png]]
<ol start="5" style="list-style-type: decimal;">
<li>If you choose to display the kernel configuration menu (the second option) in step 4, the kernel configuration interface opened by '''make menuconfig''' will pop up. At this time, you can directly modify the kernel configuration, save and exit after modification. Yes, after exiting, the kernel source code will be compiled</li></ol>
[[File:media/image399cm4-img399.png]]
<ol style="list-style-type: lower-alpha;">
<li><p>If the following error is displayed when compiling the kernel, it is because the terminal interface of the Ubuntu PC is too small to display the '''make menuconfig''' interface. Please maximize the terminal of the Ubuntu PC and run the build.sh script again</p></li></ol>
[[File:media/image400cm4-img400.png]]
<ol start="6" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image401cm4-img401.png]]
</div>
<div class="figure">
[[File:media/image393cm4-img393.png]]
</div>
<li>Then select the type of rootfs</li></ol>
[[File:media/image402cm4-img402.png]]
<ol start="5" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image403cm4-img403.png]]
</div>
<div class="figure">
[[File:media/image404cm4-img404.png]]
</div>
<div class="figure">
[[File:media/image405cm4-img405.png]]
</div>
[[File:media/image406cm4-img406.png]]
You can then select additional packages that need to be installed. Please press the Enter key to skip directly here.
[[File:media/image407cm4-img407.png]]
<ol start="8" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image408cm4-img408.png]]
</div>
<div class="figure">
[[File:media/image393cm4-img393.png]]
</div>
<li>Then select the type of rootfs</li></ol>
[[File:media/image402cm4-img402.png]]
<ol start="5" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image403cm4-img403.png]]
</div>
<div class="figure">
[[File:media/image404cm4-img404.png]]
</div>
<div class="figure">
[[File:media/image405cm4-img405.png]]
</div>
[[File:media/image406cm4-img406.png]]
You can then select additional packages that need to be installed. Please press the Enter key to skip directly here.
[[File:media/image407cm4-img407.png]]
<ol start="8" style="list-style-type: decimal;">
<div class="figure">
[[File:media/image409cm4-img409.png]]
</div></li>
<div class="figure">
[[File:media/image410cm4-img410.png]]
</div></li>
<div class="figure">
[[File:media/image411cm4-img411.png]]
</div></li>
<div class="figure">
[[File:media/image412cm4-img412.png]]
</div></li>
<div class="figure">
[[File:media/image413cm4-img413.png]]
</div></li>
<div class="figure">
[[File:media/image414cm4-img414.png]]
</div></li>
<div class="figure">
[[File:media/image415cm4-img415.png]]
</div></li>
<div class="figure">
[[File:media/image416cm4-img416.png]]
</div></li>
<div class="figure">
[[File:media/image417cm4-img417.png]]
</div></li>
<div class="figure">
[[File:media/image418cm4-img418.png]]
</div>
<p>After restarting, you can see the display on the LCD screen as follows:</p></li></ol>
[[File:media/image419cm4-img419.png]]
<span id="how-to-use-the-edp-screen-1"></span>
<p>After restarting, you can see that the display of the eDP screen is as follows:</p></li></ol>
[[File:media/image420cm4-img420.png]]
<span id="how-to-install-the-software"></span>
# First click enter '''Setting'''
[[File:media/image421cm4-img421.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then select '''Network &amp; internet'''</li></ol>
[[File:media/image422cm4-img422.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then select '''Wi-Fi'''</li></ol>
[[File:media/image423cm4-img423.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then turn on the '''Wi-Fi''' switch</li></ol>
[[File:media/image424cm4-img424.png]]
<ol start="5" style="list-style-type: decimal;">
<li>After turning on '''Wi-Fi''', if everything is normal, you can scan for nearby Wi-Fi hotspots</li></ol>
[[File:media/image425cm4-img425.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then select the Wi-Fi you want to connect to, and the password input interface shown in the figure below will pop up</li></ol>
[[File:media/image426cm4-img426.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Then use the keyboard to enter the password corresponding to Wi-Fi, and then use the mouse to click the Enter button in the virtual keyboard to start connecting to Wi-Fi</li></ol>
[[File:media/image427cm4-img427.png]]
<ol start="8" style="list-style-type: decimal;">
<li>After the Wi-Fi connection is successful, the display is as shown in the figure below:</li></ol>
[[File:media/image428cm4-img428.png]]
<span id="how-to-use-wi-fi-hotspot"></span>
# Then select '''Settings'''
[[File:media/image421cm4-img421.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then select '''Network &amp; internet'''</li></ol>
[[File:media/image422cm4-img422.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then select '''Hotspot &amp; tethering'''</li></ol>
[[File:media/image429cm4-img429.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then select '''Wi-Fi hotspot'''</li></ol>
[[File:media/image430cm4-img430.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then turn on the '''Wi-Fi hotspot''', you can also see the name and password of the generated hotspot in the figure below, remember them, and use them when connecting to the hotspot (If you need to modify the name and password of the hotspot, you need to turn off the '''Wi-Fi hotspot''' first, and then you can modify it)</li></ol>
[[File:media/image431cm4-img431.png]]
<ol start="7" style="list-style-type: decimal;">
<li>At this time, you can take out your mobile phone. If everything is normal, you can find the WIFI hotspot with the same name ('''here AndroidAP_6953''') displayed under the '''Hotspot name''' in the above picture in the WI-FI list searched by the mobile phone. Then you can click '''AndroidAP_6953''' to connect to the hotspot, and the password can be seen under the '''Hotspot password''' in the above picture</li></ol>
[[File:media/image432cm4-img432.png]]
<ol start="8" style="list-style-type: decimal;">
<li>After the connection is successful, it will be displayed as shown in the figure below (the interface of different mobile phones will be different, the specific interface is subject to the display of your mobile phone). At this point, you can open a webpage on your mobile phone to see if you can access the Internet. If you can open the webpage normally, it means that the '''WI-FI Hotspot''' of the development board can be used normally.</li></ol>
[[File:media/image433cm4-img433.png]]
<span id="bluetooth-test-method"></span>
# First click enter '''Setting'''
[[File:media/image421cm4-img421.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Then select '''Connected devices'''</li></ol>
[[File:media/image434cm4-img434.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then click '''Pair new device''' to turn on Bluetooth and start scanning the surrounding Bluetooth devices</li></ol>
[[File:media/image435cm4-img435.png]]
<ol start="4" style="list-style-type: decimal;">
<li>The searched Bluetooth devices will be displayed under '''Available devices'''</li></ol>
[[File:media/image436cm4-img436.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then click the Bluetooth device you want to connect to start pairing. When the following interface pops up, please use the mouse to select the '''Pair''' option</li></ol>
[[File:media/image437cm4-img437.png]]
<ol start="6" style="list-style-type: decimal;">
<li>The test here is the configuration process of the development board and the Bluetooth of the Android mobile phone. At this time, the following confirmation interface will pop up on the mobile phone. After clicking the pairing button on the mobile phone, the pairing process will start</li></ol>
[[File:media/image438cm4-img438.png]]
<ol start="7" style="list-style-type: decimal;">
<li>After the pairing is completed, you can see the paired Bluetooth device as shown in the figure below</li></ol>
[[File:media/image439cm4-img439.png]]
<ol start="8" style="list-style-type: decimal;">
<li>At this time, you can use the Bluetooth of your mobile phone to send a picture to the development board. After sending, you can see the following confirmation interface in the Android system of the development board, and then click '''Accept''' to start receiving the picture sent by the mobile phone.</li></ol>
[[File:media/image440cm4-img440.png]]
<ol start="9" style="list-style-type: decimal;">
<li>You can open the '''Download''' directory in the file manager to view the pictures received by the Android system Bluetooth of the development board</li></ol>
[[File:media/image441cm4-img441.png]]
<span id="how-to-use-raspberry-pi-5-inch-screen"></span>
<span id="section"></span>
== [[File:media/image442cm4-img442.png]] ==
<span id="how-to-use-the-edp-screen-2"></span>
<div class="figure">
[[File:media/image379cm4-img379.png]]
</div></li>
<div class="figure">
[[File:media/image380cm4-img380.png]]
</div></li></ol>
<li><p>Connect the FPC end of the 30pin single-head codirectional cable to the eDP interface of the development board, and connect the other end to the eDP interface of the screen</p></li></ol>
[[File:media/image381cm4-img381.png]]
<ol start="3" style="list-style-type: decimal;">
<li><p>Then connect the Type-C power supply to the board and power it on. After the system starts, you can see the screen display as shown in the figure below</p>
<p>[[File:media/image443cm4-img443.png]]</p></li></ol>
<span id="pin-interface-gpio-uart-spi-and-pwm-test"></span>
# First click on the wiringOP icon to open the wiringOP APP
[[File:media/image444cm4-img444.png]]
<ol start="2" style="list-style-type: decimal;">
<li>The main interface of wiringOP APP is displayed as shown in the figure below, and then click the '''GPIO_TEST''' button to open the GPIO test interface</li></ol>
[[File:media/image445cm4-img445.png]]
<ol start="3" style="list-style-type: decimal;">
<li>The GPIO test interface is shown in the figure below. The two rows of '''CheckBox''' buttons on the left are in one-to-one correspondence with the 40pin pins. When the '''CheckBox''' button is checked, the corresponding GPIO pin will be set to '''OUT''' mode, and the pin level will be set to high level; when the checkbox is unchecked, the GPIO pin level will be set to low level; When the '''GPIO READALL''' button is pressed, information such as wPi number, GPIO mode, and pin level can be obtained; when the '''BLINK ALL GPIO''' button is clicked, the program will control the 28 GPIO ports to continuously switch between high and low levels</li></ol>
[[File:media/image446cm4-img446.png]]
<ol start="4" style="list-style-type: decimal;">
<li>Then click the '''GPIO READALL''' button, the output information is as shown in the figure below:</li></ol>
[[File:media/image447cm4-img447.png]]
<ol start="5" style="list-style-type: decimal;">
<li>There are a total of 28 GPIO ports in the 40pins of the development board that can be used. The following uses pin 7—the corresponding GPIO is GPIO4_A4—the corresponding wPi serial number is 2—as an example to demonstrate how to set the high and low levels of the GPIO port. First click the '''CheckBox''' button corresponding to pin 7. When the button is selected, pin 7 will be set to high level. After setting, you can use a multimeter to measure the voltage value of the pin. If it is 3.3v, it means setting high level success</li></ol>
[[File:media/image448cm4-img448.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then click the '''GPIO READALL''' button, you can see that the current pin 7 mode is '''OUT''', and the pin level is high</li></ol>
[[File:media/image449cm4-img449.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Click the '''CheckBox''' button in the figure below again to cancel the check status. Pin 7 will be set to low level. After setting, you can use a multimeter to measure the voltage value of the pin. If it is '''0v''', it means that the low level is set successfully.</li></ol>
[[File:media/image450cm4-img450.png]]
<ol start="8" style="list-style-type: decimal;">
<li><p>Then click the '''GPIO READALL''' button, you can see that the current pin 7 mode is OUT, and the pin level is low</p>
<p>[[File:media/image451cm4-img451.png]]</p></li></ol>
<span id="pin-uart-test-2"></span>
<ol style="list-style-type: decimal;">
<li><p>UART7 and UART9 are enabled by default in Android. The position of the 40pin is shown in the figure below, and the corresponding device nodes are '''/dev/ttyS7''' and '''/dev/ttyS9''' respectively</p>
<p>[[File:media/image452cm4-img452.png]]</p></li>
<li><p>First click on the wiringOP icon to open the wiringOP APP</p></li></ol>
[[File:media/image444cm4-img444.png]]
<ol start="3" style="list-style-type: decimal;">
<li>The main interface of wiringOP APP is displayed as shown in the figure below, and then click the '''UART_TEST''' button to open the UART test interface</li></ol>
[[File:media/image453cm4-img453.png]]
<ol start="4" style="list-style-type: decimal;">
<li>The serial port test interface of the APP is shown in the figure below</li></ol>
[[File:media/image454cm4-img454.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Take the test of '''UART7''' as an example below, select the '''/dev/ttyS7''' node in the selection box, enter the baud rate you want to set in the edit box, and then click the '''OPEN''' button to open the /dev/ttyS7 node. After the opening is successful, the '''OPEN''' button becomes unselectable, and the '''CLOSE''' button and '''SEND''' button become selectable</li></ol>
[[File:media/image455cm4-img455.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then use Dupont wire to short the RXD and TXD pins of uart7</li></ol>
[[File:media/image456cm4-img456.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Then you can enter a character in the send edit box below, and click the '''SEND''' button to start sending</li></ol>
[[File:media/image457cm4-img457.png]]
<ol start="8" style="list-style-type: decimal;">
<li>If everything is normal, the received string will be displayed in the receiving box</li></ol>
[[File:media/image458cm4-img458.png]]
<span id="pin-spi-test-2"></span>
# According to the schematic diagram of the 40pin interface, the spi available for Orange Pi 3B is spi3
[[File:media/image459cm4-img459.png]]
<ol start="2" style="list-style-type: decimal;">
<li>Here, the SPI interface is tested through the w25q64 module. First, the w25q64 device is connected to the SPI3 interface</li></ol>
[[File:media/image460cm4-img460.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then click the wiringOP icon to open the wiringOP APP</li></ol>
[[File:media/image444cm4-img444.png]]
<ol start="4" style="list-style-type: decimal;">
<li>The main interface of wiringOP APP is displayed as shown in the figure below, click the SPI_TEST button to open the SPI test interface</li></ol>
[[File:media/image461cm4-img461.png]]
<ol start="5" style="list-style-type: decimal;">
<li>Then click the '''OPEN''' button to initialize the SPI</li></ol>
[[File:media/image462cm4-img462.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then fill in the bytes that need to be sent, such as reading the ID information of w25q64, fill in the address 0x9f in data[0], and then click the '''TRANSFER''' button</li></ol>
[[File:media/image463cm4-img463.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Finally, the APP will display the read ID information</li></ol>
[[File:media/image464cm4-img464.png]]
<ol start="8" style="list-style-type: decimal;">
<li>The MANUFACTURER ID of the w25q64 module is EFh, and the Device ID is 4017h, corresponding to the value read above (h stands for hexadecimal)</li></ol>
[[File:media/image465cm4-img465.png]]
<span id="pin-pwm-test"></span>
# Android enables '''PWM11''' by default, and the corresponding pin is located at 40pin as shown in the figure below
[[File:media/image466cm4-img466.png]]
<ol start="2" style="list-style-type: decimal;">
<li>First click on the wiringOP icon to open the wiringOP APP</li></ol>
[[File:media/image444cm4-img444.png]]
<ol start="3" style="list-style-type: decimal;">
<li>Then click the '''PWM_TEST''' button on the main interface of wiringOP to enter the PWM test interface</li></ol>
[[File:media/image467cm4-img467.png]]
<ol start="4" style="list-style-type: decimal;">
<li>The base address corresponding to PWM11 is '''fe6f0030''', here pwmchip0 shows '''fdd70020.pwm''' on the right, then you need to click the drop-down option to select other pwmchips until '''fe6f0030.pwm''' is displayed on the right</li></ol>
[[File:media/image468cm4-img468.png]]
<ol start="5" style="list-style-type: decimal;">
<li>When the drop-down option selects '''pwmchip3''', the corresponding base address of PWM11 is '''fe6f0030''' on the right</li></ol>
[[File:media/image469cm4-img469.png]]
<ol start="6" style="list-style-type: decimal;">
<li>Then confirm the PWM channel, the default is channel 0, and confirm the PWM cycle, the default configuration is '''50000ns''', converted to PWM frequency is '''20KHz''', you can modify it yourself, click the '''EXPORT''' button to export '''PWM11'''</li></ol>
[[File:media/image470cm4-img470.png]]
<ol start="7" style="list-style-type: decimal;">
<li>Then drag the drag bar below to change the PWM duty cycle, and then check Enable to output the PWM waveform</li></ol>
[[File:media/image471cm4-img471.png]]
<ol start="8" style="list-style-type: decimal;">
<li>Then use an oscilloscope to measure the No. 32 pin in the 40pin of the development board, and you can see the following waveform</li></ol>
[[File:media/image472cm4-img472.png]]
<span id="how-to-use-adb"></span>
'''The development board has 4 USB interfaces, among which the USB interface marked in red box in the figure below can support both Host mode and Device mode, and the other 3 USB interfaces only support Host mode.'''
[[File:media/image473cm4-img473.png]]
'''The USB OTG interface defaults to Host mode, which can be used to connect USB devices such as mouse and keyboard. If you want to use ADB, you need to manually switch to Device mode.'''
<ol style="list-style-type: decimal;">
<li><p>First open Settings</p>
<p>[[File:media/image421cm4-img421.png]]</p></li>
<li><p>Then select '''About tablet'''</p>
<p>[[File:media/image474cm4-img474.png]]</p></li>
<li><p>Then click the '''Build number''' menu bar several times with the mouse until the prompt '''You are now a developer!''' appears</p>
<p>[[File:media/image475cm4-img475.png]]</p></li>
<li><p>Then click to return to the previous menu</p>
<p>[[File:media/image476cm4-img476.png]]</p></li>
<li><p>Then select '''System'''</p>
<p>[[File:media/image477cm4-img477.png]]</p></li>
<li><p>Then select '''Advanced'''</p>
<p>[[File:media/image478cm4-img478.png]]</p></li>
<li><p>Then select '''Developer options''' in the expanded column</p>
<p>[[File:media/image479cm4-img479.png]]</p></li>
<li><p>Finally find the '''USB OTG Mode Switch''' switch, '''turn on the switch to switch to Device mode, turn off the switch to switch to Host mode'''</p></li></ol>
[[File:media/image480cm4-img480.png]]
<span id="use-the-data-cable-to-connect-to-adb-debugging"></span>
<div class="figure">
[[File:media/image18cm4-img18.png]]
</div></li>
<li><p>Then refer to [[\l|'''the method of USB OTG mode switching''']] to switch USB OTG to Device mode</p></li>
<li><p>Then connect the development board to the Ubuntu PC through the USB2.0 male-to-male data cable. The position of the USB OTG interface on the development board is shown in the figure below:</p>
<p>[[File:media/image481cm4-img481.png]]</p></li>
<li><p>Then install the adb tool on the Ubuntu PC</p>
<p>test@test:~$ '''sudo apt update'''</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Google Drive</p>
<p>[[File:media/image482cm4-img482.png]]</p></li></ol>
</li>
<li><p>After downloading the sub-volume compression package of the Android 11 source code, please check whether the MD5 checksum is correct, if not, please download the source code again</p>

Navigation menu