更改

跳转至: 导航搜索

Orange Pi 3B

添加7,366字节, 2023年8月23日 (三) 20:09
Orange Pi 3B的接口详情图
<span id="orange-pi-3b的硬件特性"></span>
== Orange Pi 3B的硬件特性 3B的硬件规格 ==
{| class="wikitable" style="width:800px;text-align: center;"
<div class="figure">
[[File:pi3b-img3-1.png|800px]]
</div>
<div class="figure">
[[File:pi3b-img4-1.png|800px]]
</div>
</div>
[[File:pi3b-img6-1.png|800px]]
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big>'''四个定位孔的直径都是3四个定位孔的直径都是2.0mm,M7mm,M.2 PICE设备固定孔直径为3PICE设备固定孔直径为2.5mm。9mm。'''</big>
|}
<big><p>'''开发板上的风扇可以通过PWM来调节转速和开关。'''</p></big>
|}
<p>[[File:pi3b-img14-1.png]]</p></li>
<li><p>百兆或者千兆网线,用于将开发板连接到因特网</p>
<p>[[File:pi3b-img15.png]]</p></li>
</div></li>
<li><p>还需要准备一张16GB或更大容量的TF卡,TF卡的传输速度必须为'''class10'''级或'''class10'''级以上,建议使用闪迪等品牌的TF卡</p></li>
<li><p>然后从[http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''Orange Pi的资料下载页面''']下载瑞芯微驱动'''DriverAssitant_v5.12.zip'''和'''MiniLoader'''以及烧录工具'''RKDevTool_Release_v3.15.zip'''</p>
<ol style="list-style-type: lower-alpha;">
<li><p>确保TF卡插槽没有插入TF卡</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电,然后就可以松开MaskROM按键了</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
<li><p>然后选择'''导入配置'''选项</p>
<p>[[File:pi3b-img43.png]]</p></li>
<li><p>然后选择前面下载的'''MiniLoader'''文件夹中的'''rk3588_linux_tfcardrk356x_linux_tfcard.cfg'''配置文件,再点击'''打开'''</p><p>[[File:pi3b-img44-2.png]]</p></li>
<li><p>然后点击'''确定'''</p>
<p>[[File:pi3b-img45.png]]</p></li>
<li><p>然后点击下图所示的位置</p>
<p>[[File:pi3b-img46.png]]</p></li>
<li><p>再选择前面下载的'''MiniLoader'''文件夹中'''rk3566_MiniLoaderAllMiniLoaderAll.bin''',再点击'''打开'''</p>
<div class="figure">
[[File:pi3b-img47-1.png]]
</div></li>
<li><p>确保开发板没有插入TF卡,没有连接电源</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电,然后就可以松开MaskROM按键了</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
<li><p>然后选择'''导入配置'''选项</p>
<p>[[File:pi3b-img43.png]]</p></li>
<li><p>然后选择前面下载的'''MiniLoader'''文件夹中的'''rk3588_linux_emmcrk356x_linux_emmc.cfg'''配置文件,再点击'''打开'''</p><p>[[File:pi3b-img66-1.png]]</p></li>
<li><p>然后点击'''确定'''</p>
<p>[[File:pi3b-img67.png]]</p></li>
<li><p>然后点击下图所示的位置</p>
<p>[[File:pi3b-img68.png]]</p></li>
<li><p>再选择前面下载的'''MiniLoader'''文件夹中'''rk3566_MiniLoaderAllMiniLoaderAll.bin''',再点击'''打开'''</p>
<div class="figure">
[[File:pi3b-img69-1.png]]
</div></li>
<p>[[File:pi3b-img76.png]]</p></li>
<li><p>SPI Flash在开发板上的位置如下图所示,开始烧录前无需其他设置</p>
<p>[[File:pi3b-img77-1.png]]</p></li>
<li><p>然后需要准备一根品质良好的USB2.0公对公数据线</p>
<div class="figure">
<li><p>确保开发板没有连接电源和插入TF卡以及eMMC</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电,然后就可以松开MaskROM按键了</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
<p>[[File:pi3b-img76.png]]</p></li>
<li><p>SPI Flash在开发板上的位置如下图所示,开始烧录前无需其他设置</p>
<p>[[File:pi3b-img77-1.png]]</p></li>
<li><p>烧录Linux镜像到SPIFlash+NVMe SSD中需要借助TF卡来完成,所以首先需要将Linux镜像烧录到TF卡上,然后使用TF卡启动开发板进入Linux系统。烧录Linux镜像到TF卡的方法请见[[Orange Pi 3B#基于Windows PC将Linux镜像烧写到TF卡的方法|'''基于Windows PC将Linux镜像烧写到TF卡的方法''']]和[[Orange Pi 3B#基于Ubuntu PC将Linux镜像烧写到TF卡的方法|'''基于Ubuntu PC将Linux镜像烧写到TF卡的方法''']]两小节的说明。</p></li>
<li><p>使用TF卡启动Linux系统后,我们首先烧录u-boot镜像到SPI Flash中</p>
<p>[[File:pi3b-img76.png]]</p></li>
<li><p>SPI Flash在开发板上的位置如下图所示,开始烧录前无需其他设置</p>
<p>[[File:pi3b-img77-1.png]]</p></li>
<li><p>烧录Linux镜像到SPIFlash+NVMe SSD中需要借助TF卡来完成,所以首先需要将Linux镜像烧录到TF卡上,然后使用TF卡启动开发板进入Linux系统。烧录Linux镜像到TF卡的方法请见[[Orange Pi 3B#基于Windows PC将Linux镜像烧写到TF卡的方法|'''基于Windows PC将Linux镜像烧写到TF卡的方法''']]和[[Orange Pi 3B#基于Ubuntu PC将Linux镜像烧写到TF卡的方法|'''基于Ubuntu PC将Linux镜像烧写到TF卡的方法''']]两小节的说明。</p></li>
<li><p>启动进入TF卡中的Linux系统后,请先确认下NVMe SSD已经被开发板的Linux正常识别了。如果NVMe SSD正常识别了的话,使用'''sudo fdisk -l'''命令就能看到'''nvme'''相关的信息</p>
</div></li>
<li><p>然后从[http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''Orange Pi的资料下载页面''']下载瑞芯微驱动'''DriverAssitant_v5.12.zip'''和烧录工具'''RKDevTool_Release_v3.15.zip'''</p><ol style="list-style-type: lower-alpha;"><li><p>在[http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''Orange Pi的资料下载页面''']首先选择'''官方工具''',然后进入下面的文件夹中</p><p>[[File:pi3b-img126-2.png]]</p></li><li><p>然后下载下面的所有文件</p><p>[[File:pi3b-img127-2.png]]</p></li></li></ol>
<li><p>然后从[http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''Orange Pi的资料下载页面''']下载Android的镜像。</p>
<ol style="list-style-type: lower-alpha;">
<li><p>然后确保开发板没有插入TF卡,没有连接电源</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
<p>[[File:pi3b-img76.png]]</p></li>
<li><p>SPI Flash在开发板上的位置如下图所示,开始烧录前无需其他设置</p>
<p>[[File:pi3b-img77-1.png]]</p></li>
<li><p>还需要准备一根品质良好的USB2.0公对公数据线</p>
<div class="figure">
<li><p>确保开发板没有插入TF卡,没有连接电源</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电,然后就可以松开MaskROM按键了</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
<ol style="list-style-type: decimal;">
<li><p>SPI Flash在开发板上的位置如下图所示</p>
<p>[[File:pi3b-img77-1.png]]</p></li>
<li><p>首先需要准备一根品质良好的USB2.0公对公数据线</p>
<div class="figure">
<li><p>确保开发板没有插入TF卡,没有连接电源</p></li>
<li><p>然后按住开发板的MaskROM按键不放,MaskROM按键在开发板的位置如下图所示:</p>
<p>[[File:pi3b-img38-1.png]]</p></li>
<li><p>然后给开发板接上Type-C接口的电源,并上电,然后就可以松开MaskROM按键了</p>
<p>[[File:pi3b-img39-1.png]]</p></li>
<li><p>如果前面的步骤顺利,此时开发板会进入'''MASKROM'''模式,在烧录工具的界面上会提示”'''发现一个MASKROM设备'''”</p>
<p>[[File:pi3b-img40.png]]</p></li>
# 将烧录好镜像的TF卡插入香橙派开发板的TF卡插槽中。如果SPIFlash+NVMe SSD已经烧录好镜像了,那么就不需要插入TF卡了,只需确保NVMe SSD正常插入到开发板中即可。
# 开发板有HDMI接口,可以通过HDMI转HDMI连接线把开发板连接到电视或者HDMI显示器。如果有购买LCD屏幕,也可以使用LCD屏幕来显示开发板的系统界面。如果有Type-C转HDMI的线,也可以通过Type-C接口来显示开发板的系统界面。开发板有HDMI接口,可以通过HDMI转HDMI连接线把开发板连接到电视或者HDMI显示器。如果有购买LCD屏幕,也可以使用LCD屏幕来显示开发板的系统界面。
# 接上USB鼠标和键盘,用于控制香橙派开发板。
# 开发板有以太网口,可以插入网线用来上网。
|-
|
<big>'''我们推荐的开发板的供电方式是使用5V/3A或者5V/4A的Type 3A的Type C接口的电源线插到开发板的Type-C电源接口来供电的。如果需要使用40pin接口中的5V引脚来给开发板供电,请确保使用的电源线和电源适配器能满足开发板的供电需求。如果有使用不稳定的情况,请换回Type-C电源供电。'''</big>
|}
<li><p>使用40pin接口中的5V引脚来给开发板供电,电源线的接法如下所示</p>
<ol style="list-style-type: lower-alpha;">
<li><p>上图所示的电源线USB A口需要插到5V/3A或者5V4A的电源适配器接头上(3A的电源适配器接头上('''<span style="color:#FF0000">请不要插到电脑的USB接口来供电</span>''')</p></li>
<li><p>红色的杜邦线需要插到开发板40pin的5V引脚上</p></li>
<li><p>黑色的杜邦线需要插到40pin接口的GND引脚上</p></li>
| '''支持'''
|-
| '''Debian12- Bookworm'''
| '''Linux5.10'''
| '''支持'''
| '''功能'''
| '''Debian11'''
| '''Debian12'''
| '''Ubuntu20.04'''
| '''Ubuntu22.04'''
|-
| '''USB2.0x3'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''USB3.0x1'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''M.2 NVMe SSD启动'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''WIFI'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''蓝牙'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''GPIO(40pin)'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''UART(40pin)'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''SPI(40pin)'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''I2C(40pin)'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''PWM(40pin)'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''PWM风扇接口'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''3pin调试串口'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''EMMC'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''TF卡启动'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''HDMI 视频'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''HDMI 音频'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''Camera'''
| '''OK<span style="color:#FF0000">NO</span>'''| '''OK<span style="color:#FF0000">NO</span>'''| '''OK<span style="color:#FF0000">NO</span>'''| '''<span style="color:#FF0000">NO</span>'''
|-
| '''LCD'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''eDP显示'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''千兆网口'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''网口状态灯'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''耳机播放'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''耳机录音'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''LED灯'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''RTC'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''GPU'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''NPU'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''VPU'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''看门狗测试'''
| '''OK'''
| '''OK'''
| '''OK'''
|-
| '''Chromium硬解视频'''
| '''OK'''
| '''OK'''
| '''OK'''
<ol style="list-style-type: decimal;">
<li><p>开发板上有三个LED灯,一个绿灯,一个红灯,一个PCIe指示灯,所在位置如下图所示:</p>
<p>[[File:pi3b-img176-1.png]]</p></li>
<li><p>'''<span style="color:#FF0000">只要开发板打开了电源,红色的LED灯就会常亮,这是由硬件控制的,软件无法关闭。</span>'''</p></li>
<li><p>绿色的LED灯在内核启动后会一直闪烁,这是由软件控制的。</p></li>
|-
|
<p>root@orangepi:~# '''cd /sys/class/leds/statusstatus_led'''</p>
|}
</li>
|-
|
<p>root@orangepi:/sys/class/leds/workstatus_led# '''echo none &gt; trigger'''</p>
|}
</li>
|-
|
<p>root@orangepi:/sys/class/leds/workstatus_led# '''echo default-on &gt; trigger'''</p>
|}
</li>
|-
|
<p>root@orangepi:/sys/class/leds/workstatus_led# '''echo heartbeat &gt; trigger'''</p>
|}
</li></ol>
<div class="figure">
[[File:pi3b-img188-1.png]]
</div></li></ol>
<li><p>b) --no-banner用于去除照片的水印</p></li>
<li><p>c) -r 选项用于指定照片的分辨率</p></li>
<li><p>d) -S 选项用设置于跳过前面的帧数选项用于设置跳过前面的帧数</p></li>
<li><p>e) ./image.jpg 用于设置生成的照片的名字和路径</p>
{| class="wikitable" style="width:800px;"
<ol style="list-style-type: decimal;">
<li><p>首先将耳机插入开发板的耳机孔中</p>
<p>[[File:pi3b-img255-1.png]]</p></li>
<li><p>然后可以通过'''aplay -l'''命令可以查看下Linux系统支持的声卡设备,从下面的输出可知,'''card 0'''为rk809的声卡设备,也就是耳机的声卡设备</p>
{| class="wikitable" style="width:800px;"
<ol style="list-style-type: lower-alpha;">
<li><p>下面是40pin完整的引脚图</p>
<p>[[File:pi3b-img257-1.png]]</p></li>
<li><p>下面的表格是上面完整表格左半边部分的图,能看得清楚点</p>
<p>[[File:pi3b-img258-1.png]]</p></li>
<li><p>下面的表格是上面完整表格右半边部分的图,能看得清楚点</p>
<p>[[File:pi3b-img259-1.png]]</p></li></ol>
</li>
<li><p>40pin接口中总共有'''<span style="color:#FF0000">28</span>'''个GPIO口,所有GPIO口的电压都是'''<span style="color:#FF0000">3.3v</span>'''</p></li></ol>
<div class="figure">
[[File:pi3b-img260-1.png|750px|center]]
</div>
<div class="figure">
[[File:pi3b-img260-1.png]]
</div></li></ol>
<ol style="list-style-type: decimal;">
<li><p>开发板40pin中总共有'''28'''个GPIO口可以使用,下面以7号引脚——对应GPIO为GPIO4_A4 个GPIO口可以使用,下面以7号引脚——对应GPIO为GPIO4_C3 ——对应wPi序号为2——为例演示如何设置GPIO口的高低电平</p><p>[[File:pi3b-img261-1.png]]</p></li>
<li><p>首先设置GPIO口为输出模式,其中第三个参数需要输入引脚对应的wPi的序号</p>
{| class="wikitable" style="width:800px;"
|}
<p>使用gpio readall可以看到7号引脚的值(V)变为了0</p>
<p>[[File:pi3b-img262-1.png]]</p></li>
<li><p>然后设置GPIO口输出高电平,设置完后可以使用万用表测量引脚的电压的数值,如果为3.3v,说明设置高电平成功</p>
{| class="wikitable" style="width:800px;"
|}
<p>使用gpio readall可以看到7号引脚的值(V)变为了1</p>
<p>[[File:pi3b-img263-1.png]]</p></li>
<li><p>其他引脚的设置方法类似,只需修改wPi的序号为引脚对应的序号即可</p></li></ol>
<big>'''注意,Orange Pi 3B下面4个GPIO引脚因为外部有3.3V上拉,所以设置下拉是无效的,其它的引脚可以正常设置上下拉电阻功能'''</big>
[[File:pi3b-img264-1.png|750px|center]]
|}
<ol style="list-style-type: decimal;">
<li><p>下面以11号引脚——对应GPIO为GPIO3_C6 ——对应wPi序号为5——为例演示如何设置GPIO口的上下拉电阻</p>
<p>[[File:pi3b-img265-1.png]]</p></li>
<li><p>首先需要设置GPIO口为输入模式,其中第三个参数需要输入引脚对应的wPi的序号</p>
{| class="wikitable" style="width:800px;"
<ol style="list-style-type: decimal;">
<li><p>由40pin接口的原理图可知,Orange Pi 3B可用的spi为spi3</p>
<p>[[File:pi3b-img266-1.png]]</p></li><li><p>在linux系统中,40 pin中的SPI默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以打开spi3。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=spi3-m0-cs0orangepi-spidev</span>config'''</p></big>
|}
</li>
<li><p>先查看下Linux系统中是否存在然后选择'''System'''</p><p>[[File:pi3b-1.png]]</p></li><li><p>然后选择'''Hardware'''</p><p>[[File:pi3b-2.png]]</p></li><li><p>然后使用键盘的方向键定位到下图所示的位置,再使用'''空格'''选中想要打开的SPI的配置</p><p>[[File:pi3b-3.png]]</p></li><li><p>然后选择'''<Save>'''保存</p><p>[[File:pi3b-4.png]]</p></li><li><p>然后选择'''<Back>'''</p><p>[[File:pi3b-5.png]]</p></li><li><p>然后选择'''<Reboot>'''重启系统使配置生效</p><p>[[File:pi3b-6.png]]</p></li></ol></li><li><p>重启后进入系统先查看下Linux系统中是否存在'''spidev3.0'''的设备节点,如果存在,说明SPI3已经设置好了,可以直接使用</p>
{| class="wikitable" style="width:800px;"
|-
<ol style="list-style-type: decimal;">
<li><p>由下表可知,Orange Pi 3B可用的i2c为i2c2、i2c3和i2c4共三组 i2c总线</p>
<p>[[File:pi3b-img268-1.png]]</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
<big><p>'''从上表中可以看到,i2c4_m0和spi3_m0是引脚复用的,两者不能同时打开,i2c3_m0和uart3_m0也是引脚复用的,两者不能同时打开'''</p></big>
|}
</li><li><p>在linux系统中,40 pin中的I2C总线默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以同时打开i2c2、i2c3和i2c4,如果只需要打开一个,那么就填写一个即可。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=i2c2-m1 i2c3-m0 i2c4orangepi-m0</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p>
<p>[[File:pi3b-1-1.png]]</p>
</li>
<li><p>然后选择'''Hardware'''</p>
<p>[[File:pi3b-2-1.png]]</p>
</li>
<li><p>然后使用键盘的方向键定位到下图所示的位置,再使用'''空格'''选中想要打开的I2C的配置</p>
<p>[[File:pi3b-3-1.png]]</p>
</li>
<li><p>然后选择'''<Save>'''保存</p>
<p>[[File:pi3b-4-1.png]]</p>
</li>
<li><p>然后选择'''<Back>'''</p>
<p>[[File:pi3b-5-1.png]]</p>
</li>
<li><p>然后选择'''<Reboot>'''重启系统使配置生效</p>
<p>[[File:pi3b-6-1.png]]</p>
</li>
</ol>
</li>
<li><p>启动Linux系统后,先确认下/dev下存在i2c的设备节点</p>
<ol style="list-style-type: decimal;">
<li><p>由下表可知,Orange Pi 3B可用的uart为uart3、uart7和uart9共三组uart总线</p>
<p>[[File:pi3b-img270-1.png]]</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
<big><p>'''从上表中可以看到,i2c3_m0和uart3_m0是引脚复用的,两者不能同时打开'''</p></big>
|}
</li><li><p>在linux系统中,40 pin中的UART默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以同时打开uart3、uart7、和uart9,如果只需要打开一个,那么就填写一个即可。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=uart3-m0 uart7-m2 uart9orangepi-m2</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p><p>[[File:pi3b-1-2.png]]</p></li><li><p>然后选择'''Hardware'''</p><p>[[File:pi3b-2-2.png]]</p></li><li><p>然后使用键盘的方向键定位到下图所示的位置,再使用'''空格'''选中想要打开的UART的配置</p><p>[[File:pi3b-3-2.png]]</p></li><li><p>然后选择'''<Save>'''保存</p><p>[[File:pi3b-4-2.png]]</p></li><li><p>然后选择'''<Back>'''</p><p>[[File:pi3b-5-2.png]]</p></li><li><p>然后选择'''<Reboot>'''重启系统使配置生效</p><p>[[File:pi3b-6-2.png]]</p></li></ol></li><li><p>进入Linux系统后,先确认下/dev下是否存在对应uart的设备节点</p>{| class="wikitable" style="width:800px;" |-
|
<p>orangepi@orangepi:~# '''ls /dev/ttyS*'''</p>
| 对应27号引脚
| 对应15号引脚
| 对应7号引脚对应22号引脚
|}
[[File:pi3b-img271-1.png]]
</ol>
<ol start="4" style="list-style-type: decimal;">
<ol style="list-style-type: decimal;">
<li><p>由下表可知,Orange Pi 3B可用的pwm113B可用的pwm11和pwm15共两路pwm</p><p>[[File:pi3b-img272-1.png]]</p></li><li><p>在linux系统中,40 pin中的PWM默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的pwm默认都是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以打开pwm11。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=pwm11orangepi-m1</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p><p>[[File:pi3b-1-3.png]]</p></li><li><p>然后选择'''Hardware'''</p><p>[[File:pi3b-2-3.png]]</p></li><li><p>然后使用键盘的方向键定位到下图所示的位置,再使用空格选中想要打开的PWM的配置</p><p>[[File:pi3b-3-3.png]]</p></li><li><p>然后选择'''<Save>'''保存</p><p>[[File:pi3b-4-3.png]]</p></li><li><p>然后选择'''<Back>'''</p><p>[[File:pi3b-5-3.png]]</p></li><li><p>然后选择'''<Reboot>'''重启系统使配置生效</p><p>[[File:pi3b-6-3.png]]</p></li></ol></li><li><p>当打开一个pwm后,在'''/sys/class/pwm/'''中就会多出一个pwmchipX(X为具体的的数字)中就会多出一个pwmchipX(X为具体的的数字),比如打开pwm11后,查看/sys/class/pwm/下的pwmchipX会由一个变成了两个</p>
{| class="wikitable" style="width:800px;"
|-
</div>
</li>
<li><p>pwm11寄存器的基地址为fe6f0030,再看 然后由下表可知,pwm11寄存器的基地址为fe6f0030,再看 '''ls /sys/class/pwm/ -l'''命令的输出,可以看到pwmchip1中链接到了fe6f0030.pwm,所以pwm11对应pwmchip为pwmchip1</p>
</li>
<li><p>然后使用下面的命令可以让pwm11输出一个50Hz的方波(请先切换到root用户,再执行下面的命令)</p></li>
[[File:pi3b-img274.png]]
<li><p>上面演示的pwm11的测试方法,其他pwm测试方法都是类似的。</p></li>
</ol>
<span id="wiringop-python的安装使用方法"></span>
<div class="figure">
[[File:pi3b-img260-1.png|center]]
</div>
<ol style="list-style-type: decimal;">
<li><p>由40pin接口的原理图可知,Orange Pi 3B可用的spi为spi3</p>
<p>[[File:pi3b-img266-1.png]]</p></li><li><p>在linux系统中,40 pin中的SPI默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以打开spi4。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=spi3-m0-cs0orangepi-spidev</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p>
<p>[[File:pi3b-1-4.png]]</p>
</li>
<li><p>然后选择'''Hardware'''</p>
<p>[[File:pi3b-2-4.png]]</p>
</li>
<li><p>然后使用键盘的方向键定位到下图所示的位置,再使用'''空格'''选中想要打开的SPI的配置</p>
<p>[[File:pi3b-3-4.png]]</p>
</li>
<li><p>然后选择'''<Save>'''保存</p>
<p>[[File:pi3b-4-4.png]]</p>
</li>
<li><p>然后选择'''<Back>'''</p>
<p>[[File:pi3b-5-4.png]]</p>
</li>
<li><p>然后选择'''<Reboot>'''重启系统使配置生效</p>
<p>[[File:pi3b-6-4.png]]</p>
</li>
</ol>
</li>
<li><p>先查看下Linux系统中是否存在'''spidev3.0'''的设备节点,如果存在,说明SPI3已经设置好了,可以直接使用</p>
<ol start="1" style="list-style-type: decimal;">
<li><p>由下表可知,Orange Pi 3B可用的i2c为i2c2、i2c3和i2c4共三组 i2c总线</p>
<p>[[File:pi3b-img268-1.png]]</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
<big><p>'''从上表中可以看到,i2c4_m0和spi3_m0是引脚复用的,两者不能同时打开,i2c3_m0和uart3_m0也是引脚复用的,两者不能同时打开'''</p></big>
|}
</li><li><p>在linux系统中,40 pin中的I2C总线默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以同时打开i2c2、i2c3和i2c4,如果只需要打开一个,那么就填写一个即可。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=i2c2-m1 i2c3-m0 i2c4orangepi-m0</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p>
<p>[[File:pi3b-1-5.png]]</p>
</li>
<li><p>然后选择'''Hardware'''</p>
<p>[[File:pi3b-2-5.png]]</p>
</li>
<li><p>然后使用键盘的方向键定位到下图所示的位置,再使用空格选中想要打开的I2C的配置</p>
<p>[[File:pi3b-3-5.png]]</p>
</li>
<li><p>然后选择'''<Save>'''保存</p>
<p>[[File:pi3b-4-5.png]]</p>
</li>
<li><p>然后选择'''<Back>'''</p>
<p>[[File:pi3b-5-5.png]]</p>
</li>
<li><p>然后选择'''<Reboot>'''重启系统使配置生效</p>
<p>[[File:pi3b-6-5.png]]</p>
</li>
</ol>
</li>
<li><p>启动Linux系统后,先确认下/dev下存在i2c的设备节点</p>
<ol style="list-style-type: decimal;">
<li><p>由下表可知,Orange Pi 3B可用的uart为uart3、uart7和uart9共三组uart总线</p>
<p>[[File:pi3b-img270-1.png]]</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
<big><p>'''从上表中可以看到,i2c3_m0和uart3_m0是引脚复用的,两者不能同时打开'''</p></big>
|}
</li><li><p>在linux系统中,40 pin中的UART默认都是关闭的,需要手动打开才能使用。详细步骤如下所示:</p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''orangepi-config''',普通用户记得加'''sudo'''权限</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在Linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。'''</p>  <p>'''在/boot/orangepiEnv.txt中加入下面红色字体部分的配置,然后重启Linux系统就可以同时打开uart3、uart7、和uart9,如果只需要打开一个,那么就填写一个即可。'''</p>  <p>orangepi@orangepi:~$ '''sudo vim /boot/orangepiEnv.txt'''</p><p>'''<span style="color:#FF0000">overlays=uart3-m0 uart7-m2 uart9orangepi-m2</span>config'''</p></big>
|}
</li>
<li><p>然后选择'''System'''</p>
<p>[[File:pi3b-1-6.png]]</p>
</li>
<li><p>然后选择'''Hardware'''</p>
<p>[[File:pi3b-2-6.png]]</p>
</li>
<li><p>然后使用键盘的方向键定位到下图所示的位置,再使用空格选中想要打开的UART的配置</p>
<p>[[File:pi3b-3-6.png]]</p>
</li>
<li><p>然后选择'''<Save>'''保存</p>
<p>[[File:pi3b-4-6.png]]</p>
</li>
<li><p>然后选择'''<Back>'''</p>
<p>[[File:pi3b-5-6.png]]</p>
</li>
<li><p>然后选择'''<Reboot>'''重启系统使配置生效</p>
<p>[[File:pi3b-6-6.png]]</p>
</li>
</ol>
</li>
<li><p>进入Linux系统后,先确认下/dev下是否存在对应uart的设备节点</p>
| 对应27号引脚
| 对应15号引脚
| 对应7号引脚对应22号引脚
|}
</ol>
|-
|
'''https://downloads.nomachine.com/download/?id=118116&amp;distro=ARM'''
|}
|-
|
'''https://downloads.nomachine.com/download/?id=98'''
|}
|-
|
<big>'''操作前请先确保Windwos电脑和开发板在同一局域网内,并且能正常ssh登录开发板的Ubuntu或者Debian系统。操作前请先确保Windows电脑和开发板在同一局域网内,并且能正常ssh登录开发板的Ubuntu或者Debian系统。'''
'''<span style="color:#FF0000">Ubuntu20.04测试VNC很多问题,请不要使用这种方法。</span>'''</big>
<span id="ubuntu-focal系统"></span>
=== Ubuntu Focal系统 Debian Bookworm系统 ===
<ol style="list-style-type: decimal;">
<li><p>Ubuntu Focal默认安装有gcc编译工具链,可以直接在开发板的Linux系统中编译C语言的程序Debian Bookworm默认安装有gcc编译工具链,可以直接在开发板的Linux系统中编译C语言的程序</p>
<ol style="list-style-type: lower-alpha;">
<li><p>gcc的版本如下所示</p>
|-
|
<p>orangepi@orangepi:~$ '''gcc --version'''</p><p>gcc (Ubuntu 9Debian 12.42.0-1ubuntu1~20.04.114) 912.42.0</p><p>Copyright (C) 2019 2022 Free Software Foundation, Inc.</p><p>This is free software; see the source for copying conditions. There is NO</p><p>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
|}
</li>
</li></ol>
</li>
<li><p>Ubuntu Focal默认安装有Python3Debian Bookworm默认安装有Python3</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Python3具体版本如下所示Python具体版本如下所示</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''python3'''</p><p>Python 3.811.10 2 (defaultmain, Nov 14 2022Mar 13 2023, 12:5918:4729)</p><p>[GCC 912.42.0] on linux</p><p>Type &quot;"help&quot;", &quot;"copyright&quot;", &quot;"credits&quot; " or &quot;"license&quot; " for more information.</p >>>|}{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <pbig>&gt;&gt;&gt;'''使用Ctrl+D快捷键可退出python的交互模式。'''</pbig>
|}
</li>
</li></ol>
</li>
<li><p>Ubuntu Focal默认没有安装Java的编译工具和运行环境Debian Bookworm默认没有安装Java的编译工具和运行环境</p>
<ol style="list-style-type: lower-alpha;">
<li><p>可以使用下面的命令安装openjdk可以使用下面的命令安装openjdk,Debian Bookworm中最新版本为openjdk-17</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''java --version'''</p>
<p>openjdk 17.0.2 2022-01-18</p>
<p>OpenJDK Runtime Environment (build 17.0.2+8-Ubuntu-120.04)</p>
<p>OpenJDK 64-Bit Server VM (build 17.0.2+8-Ubuntu-120.04, mixed mode, sharing)</p>
|}
</li>
</li></ol>
<span id="ubuntu-jammy系统"></span>
=== Ubuntu Jammy系统 Focal系统 ===
<ol start="1" style="list-style-type: decimal;"><li><p>Ubuntu Jammy默认安装有gcc编译工具链,可以直接在开发板的Linux系统中编译C语言的程序Focal默认安装有gcc编译工具链,可以直接在开发板的Linux系统中编译C语言的程序</p>
<ol style="list-style-type: lower-alpha;">
<li><p>gcc的版本如下所示</p>
|
<p>orangepi@orangepi:~$ '''gcc --version'''</p>
<p>gcc (Ubuntu 119.24.0-19ubuntu11ubuntu1~20.04.1) '''119.24.0'''</p><p>Copyright (C) 2021 2019 Free Software Foundation, Inc.</p>
<p>This is free software; see the source for copying conditions. There is NO</p>
<p>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
</li></ol>
</li>
<li><p>Ubuntu Jammy默认安装有Python3Focal默认安装有Python3</p>
<ol style="list-style-type: lower-alpha;">
<li><p>Python3具体版本如下所示</p>
|
<p>orangepi@orangepi:~$ '''python3'''</p>
<p>Python '''3.8.10.4''' (maindefault, Apr 2 Nov 14 2022, 0912:0459:1947) </p><p>[GCC 119.24.0] on linux</p>
<p>Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.</p>
<p>&gt;&gt;&gt;</p>
</li></ol>
</li>
<li><p>Ubuntu Jammy默认没有安装Java的编译工具和运行环境Focal默认没有安装Java的编译工具和运行环境</p>
<ol style="list-style-type: lower-alpha;">
<li><p>可以使用下面的命令安装openjdk-1817</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''sudo apt install -y openjdk-1817-jdk'''</p>
|}
</li>
|
<p>orangepi@orangepi:~$ '''java --version'''</p>
<p>openjdk 18-ea 17.0.2 2022-0301-2218</p><p>OpenJDK Runtime Environment (build 18-ea17.0.2+368-Ubuntu-1120.04)</p><p>OpenJDK 64-Bit Server VM (build 18-ea17.0.2+368-Ubuntu-1120.04, mixed mode, sharing)</p>
|}
</li>
</li></ol>
<span id="qt的安装方法ubuntu-jammy系统"></span>
== QT的安装方法 = Ubuntu Jammy系统 ===
<ol start="1" style="list-style-type: decimal;"><li><p>使用下面的脚本可以安装QT5和QT CreatorUbuntu Jammy默认安装有gcc编译工具链,可以直接在开发板的Linux系统中编译C语言的程序</p><ol style="list-style-type: lower-alpha;"><li><p>gcc的版本如下所示</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''install_qtgcc --version'''</p><p>gcc (Ubuntu 11.2.0-19ubuntu1) '''11.2.sh0'''</p><p>Copyright (C) 2021 Free Software Foundation, Inc.</p><p>This is free software; see the source for copying conditions. There is NO</p><p>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
|}
</li>
<li><p>安装完后会自动打印QT的版本号</p><ol style="list-style-type: lower-alpha;"><li><p>Ubuntu20.04自带的qt版本为编写C语言的'''5.12hello_world.8c'''程序</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''install_qtvim hello_world.shc'''</p><p>#include &lt;stdio......h&gt;</p>  <p>QMake version 3.1int main(void)</p><p>Using Qt version '''{<span style="color/p>:#FF0000"<p>5.12.8printf(&quot;Hello World!\n&quot;);</spanp>  :<p>''' in return 0;</usr/lib/aarch64-linux-gnup><p>}</p>
|}
</li>
<li><p>Ubuntu22.04自带的QT版本为然后编译运行'''5.15hello_world.3c'''</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''install_qtgcc -o hello_world hello_world.shc'''</p><p>orangepi@orangepi:~$ '''......</p><p>QMake version 3.1hello_world'''</p><p>Using Qt version '''<span style="color:#FF0000">5.15.3</span>''' in /usr/lib/aarch64-linux-gnuHello World!</p>
|}
</li></ol>
</li>
<li><p>Debian11自带的QT版本为'''5.15.2'''Ubuntu Jammy默认安装有Python3</p><ol style="list-style-type: lower-alpha;"><li><p>Python3具体版本如下所示</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''install_qt.shpython3'''</p><p>Python '''3.10.4''' (main, Apr 2 2022, 09:04:19) [GCC 11.2...0] on linux</p><p>QMake version 3Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.1</p><p>Using Qt version '''<span style="color:#FF0000">5.15.2</span>''' in /usr/lib/aarch64-linux-gnu&gt;&gt;&gt;</p>
|}
</li>
<li><p>Debian12自带的QT版本为编写Python语言的'''5hello_world.15.8py'''程序</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''install_qtvim hello_world.shpy'''</p><p>......</p><p>QMake version 3.1</p><p>Using Qt version '''<span style="color:#FF0000">5.15.8</span>print('Hello World!'' in /usr/lib/aarch64-linux-gnu)</p>
|}
</li></ol>
</li>
<li><p>然后在运行'''Applicationshello_world.py'''中就可以看到QT Creator的启动图标</p><p>[[File:pi3b-img329.png]]</p><p>也可以使用下面的命令打开QT Creator的结果如下所示</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''qtcreatorpython3 hello_world.py'''</p><p>Hello World!</p>
|}
</li></ol></li><li><p>Ubuntu Jammy默认没有安装Java的编译工具和运行环境</p><ol style="list-style-type: lower-alpha;"><li><p>可以使用下面的命令安装openjdk-18</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>'''在QT和QT应用的启动过程中,如果提示下面的错误,请直接忽略,此错误对应用的运行不会有影响。'''</p>  <p>'''libGL error: failed to create dri screen'''</p><p>'''libGL error: failed to load driver: rockchip'''</p><p>'''libGL errororangepi@orangepi: failed to create dri screen~$ '''</p><p>'''libGL error: failed to load driver: rockchipsudo apt install -y openjdk-18-jdk'''</p></big>
|}
</li>
<li><p>QT Creator打开后的界面如下所示</p><p>[[File:pi3b-img330.png]]</p></li><li><p>QT Creator的版本如下所示</p><ol style="list-style-type: lower-alpha;"><li><p>QT Creator在'''Ubuntu20.04'''中的默认版本如下所示</p><p>[[File:pi3b-img331.png]]</p></li><li><p>QT Creator在'''Ubuntu22.04'''中的默认版本如下所示</p><p>[[File:pi3b-img332.png]]</p></li><li><p>QT Creator在'''Debian11'''中的默认版本如下所示</p><p>[[File:pi3b-img333.png]]</p></li><li><p>QT Creator在'''Debian12'''中的默认版本如下所示</p><p>[[File:pi3b-img334.png]]</p></li></ol></li><li><p>然后设置下QT</p><ol style="list-style-type: lower-alpha;"><li><p>首先打开'''Help'''-&gt;'''About Plugins...'''</p><p>[[File:pi3b-img335.png]]</p></li><li><p>然后去掉'''ClangCodeModel'''的那个勾</p><p>[[File:pi3b-img336.png]]</p></li><li><p>'''<span style="color:#FF0000">设置完后需要重启下QT Creator</span>'''</p></li><li><p>然后确保QT Creator使用的GCC编译器,如果默认为Clang,请修改为GCC安装完后可以查看下Java的版本</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big><p>orangepi@orangepi:~$ '''Debian12请跳过这步。java --version'''</p><p>openjdk 18-ea 2022-03-22</p><p>OpenJDK Runtime Environment (build 18-ea+36-Ubuntu-1)</p><p>OpenJDK 64-Bit Server VM (build 18-ea+36-Ubuntu-1, mixed mode, sharing)</bigp>
|}
<p>[[File:pi3b-img337.png]]</p>
<p>[[File:pi3b-img338.png]]</p></li></ol>
</li>
<li><p>然后就可以打开一个示例代码编写Java版本的'''hello_world.java'''</p><p>[[File{| class="wikitable" style="width:pi3b800px;" |-img339.png]]</p></li><li>| <p>点击示例代码后会自动打开对应的说明文档,可以仔细看下其中的使用说明orangepi@orangepi:~$ '''vim hello_world.java'''</p><p>[[File:pi3b-img340.png]]public class hello_world</p></li><li><p>然后点击下'''Configure Project'''{</p>:<p>public static void main(String[[File:pi3b-img341.png]]args)</p></li><li>:<p>然后点击左下角的绿色三角形编译运行下示例代码{</p>::<p>[[File:pi3b-img342System.out.png]]println(&quot;Hello World!&quot;);</p></li><li>:<p>等待一段时间后,会弹出下图所示的界面,此时就说明QT能正常编译运行}</p><p>[[File:pi3b-img343.png]]}</p>|}</li><li><p>参考资料然后编译运行'''hello_world.java'''</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[httpsorangepi@orangepi://wiki.qt.io/Install_Qt_5_on_Ubuntu ~$ '''https://wikijavac hello_world.qt.io/Install_Qt_5_on_Ubuntujava''']</p><p>[httpsorangepi@orangepi://download.qt.io/archive/qtcreator ~$ '''https://download.qt.io/archive/qtcreatorjava hello_world''']</p><p>[https://download.qt.io/archive/qt '''https://download.qt.io/archive/qt''']Hello World!</p>
|}
</li></ol>
</li></ol>
<span id="ros安装方法qt的安装方法"></span>
== ROS安装方法 QT的安装方法 ==
<span idol style="ubuntu20.04安装roslist-1style-noetic的方法type: decimal;"><li><p>使用下面的脚本可以安装QT5和QT Creator</spanp>=== Ubuntu20.04安装ROS 1 Noetic的方法 === # ROS 1当前活跃的版本如下所示,推荐版本为'''Noetic Ninjemys''' ::[[File:pi3b-img344.png]] ::[[File:pi3b-img345.png]] ::{| class="wikitable" style="width:800px;"
|-
|
[http<p>orangepi@orangepi://docs.ros.org/ ~$ '''http://docsinstall_qt.ros.org''sh'] '''https://wiki.ros.org</Distributions'''p>
|}
</li><li><p>安装完后会自动打印QT的版本号</p><ol start="2" style="list-style-type: decimallower-alpha;"><li><p>ROS 1 Ubuntu20.04自带的qt版本为'''Noetic Ninjemys5.12.8'''官方安装文档链接如下所示:</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[httporangepi@orangepi:~$ '''install_qt.sh'''<//wikip><p>.....ros.org</noeticp><p>QMake version 3.1</Installation/Ubuntu p><p>Using Qt version '''http<span style="color://wiki#FF0000">5.ros12.org/noetic8</Installation/Ubuntuspan>''']in /usr/lib/aarch64-linux-gnu</p>
|}
</li>
<li><p>ROS ''Ubuntu22.04自带的QT版本为'Noetic Ninjemys'''官方安装文档中Ubuntu推荐使用Ubuntu205.04,所以请确保开发板使用的系统为'''<span style="color:#FF0000">Ubuntu2015.04桌面版系统</span>3'''</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[httporangepi@orangepi:~$ '''install_qt.sh'''<//wikip><p>.....ros.org</noeticp><p>QMake version 3.1</Installation p><p>Using Qt version '''http<span style="color://wiki#FF0000">5.ros15.org3</noetic/Installationspan>''']in /usr/lib/aarch64-linux-gnu</p>
|}
<p>[[File:pi3b-img346.png]]</p></li><li><p>然后使用下面的脚本安装ros1Debian11自带的QT版本为'''5.15.2'''</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi3borangepi:~$ '''install_rosinstall_qt.sh ros1'''</p><p>......</p><p>QMake version 3.1</p><p>Using Qt version '''<span style="color:#FF0000">5.15.2</span>''' in /usr/lib/aarch64-linux-gnu</p>
|}
</li>
<li><p>使用ROS工具前,首先需要初始化下rosdep,然后编译源码时就能快速的安装一些系统依赖和一些ROS中的核心组件Debian12自带的QT版本为'''5.15.8'''</p></li>{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<bigp>'''<span style="colororangepi@orangepi:#FF0000">注意,运行下面的命令需要确保开发板能正常访问github,否则会由于网络问题而报错。</span>~$ '''  install_qt.sh'''install_ros.sh脚本会尝试修改</etc/hosts并自动运行下面的命令。但是这种方法无法保证每次都能正常访问github,如果install_rosp><p>.sh安装完ros1后有提示下面的错误,请自己想其它办法让开发板的Linux系统能正常访问github,然后再手动运行下面的命令。'''  '''https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml''' '''Hit https://raw.githubusercontent.com</ros/rosdistro/master/rosdep/base.yaml'''p> '''<span style="color:#FF0000"p>ERROR: error loading sources list:QMake version 3.1</spanp>''' ::<p>Using Qt version '''<span style="color:#FF0000">The read operation timed out5.15.8</span>'''in /usr/lib/aarch64-linux-gnu</bigp>
|}
</li></ol></li><li><p>然后在'''Applications'''中就可以看到QT Creator的启动图标</p><p>[[File:pi3b-img329.png]]</p><p>也可以使用下面的命令打开QT Creator</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''source qtcreator'''</opt/ros/noetic/setup.bashp>|}{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <big><p>'''在QT和QT应用的启动过程中,如果提示下面的错误,请直接忽略,此错误对应用的运行不会有影响。'''</p>
orangepi@orangepi:~$ '''sudo rosdep init'''
Wrote <p>'''libGL error: failed to create dri screen'''</etcp><p>'''libGL error: failed to load driver: rockchip'''</rosp><p>'''libGL error: failed to create dri screen'''</rosdepp><p>'''libGL error: failed to load driver: rockchip'''</sourcesp></big>|}</li><li><p>QT Creator打开后的界面如下所示</p><p>[[File:pi3b-img330.png]]</p></li><li><p>QT Creator的版本如下所示</p><ol style="list-style-type: lower-alpha;"><li><p>QT Creator在'''Ubuntu20.04'''中的默认版本如下所示</p><p>[[File:pi3b-img331.png]]</p></li><li><p>QT Creator在'''Ubuntu22.d04'''中的默认版本如下所示</20p><p>[[File:pi3b-defaultimg332.png]]</p></li><li><p>QT Creator在'''Debian11'''中的默认版本如下所示</p><p>[[File:pi3b-img333.png]]</p></li><li><p>QT Creator在'''Debian12'''中的默认版本如下所示</p><p>[[File:pi3b-img334.png]]</p></li></ol></li><li><p>然后设置下QT</p><ol style="list-style-type: lower-alpha;"><li><p>首先打开'''Help'''-&gt;'''About Plugins...'''</p><p>[[File:pi3b-img335.png]]</p></li><li><p>然后去掉'''ClangCodeModel'''的那个勾</p><p>[[File:pi3b-img336.png]]</p></li><li><p>'''<span style="color:#FF0000">设置完后需要重启下QT Creator</span>'''</p></li><li><p>然后确保QT Creator使用的GCC编译器,如果默认为Clang,请修改为GCC</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <big><p>'''Debian12请跳过这步。'''</p></big>|}<p>[[File:pi3b-img337.png]]</p><p>[[File:pi3b-img338.png]]</p></li></ol></li><li><p>然后就可以打开一个示例代码</p><p>[[File:pi3b-img339.png]]</p></li><li><p>点击示例代码后会自动打开对应的说明文档,可以仔细看下其中的使用说明</p><p>[[File:pi3b-img340.png]]</p></li><li><p>然后点击下'''Configure Project'''</p><p>[[File:pi3b-img341.png]]</p></li><li><p>然后点击左下角的绿色三角形编译运行下示例代码</p><p>[[File:pi3b-img342.png]]</p></li><li><p>等待一段时间后,会弹出下图所示的界面,此时就说明QT能正常编译运行</p><p>[[File:pi3b-img343.png]]</p></li><li><p>参考资料</p>{| class="wikitable" style="width:800px;" |-| <p>[https://wiki.qt.io/Install_Qt_5_on_Ubuntu '''https://wiki.qt.io/Install_Qt_5_on_Ubuntu''']</p><p>[https://download.qt.io/archive/qtcreator '''https://download.qt.io/archive/qtcreator''']</p><p>[https://download.qt.io/archive/qt '''https://download.qt.io/archive/qt''']</p>|}</li></ol>
Recommended: please run<span id="ros安装方法"></span>
== ROS安装方法 ==
::rosdep update<span id="ubuntu20.04安装ros-1-noetic的方法"></span>=== Ubuntu20.04安装ROS 1 Noetic的方法 ===
orangepi@orangepi:~$ # ROS 1当前活跃的版本如下所示,推荐版本为'''rosdep updateNoetic Ninjemys'''
reading in sources list data from /etc/ros/rosdep/sources::[[File:pi3b-img344.list.dpng]]
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx:[[File:pi3b-homebrewimg345.yamlpng]]
Hit https::{| class="wikitable" style="width:800px;" |-| [http://rawdocs.githubusercontentros.comorg/ros'''http:/rosdistro/master/rosdep/basedocs.ros.yamlorg''']
Hit '''https://rawwiki.githubusercontentros.com/rosorg/rosdistro/master/rosdep/python.yamlDistributions'''|}
Hit https<ol start="2" style="list-style-type:decimal;"><li><p>ROS 1 '''Noetic Ninjemys'''官方安装文档链接如下所示:</p>{| class="wikitable" style="width:800px;" |-| <p>[http://wiki.ros.org/noetic/Installation/Ubuntu '''http://wiki.ros.org/noetic/Installation/Ubuntu''']</p>|}</li><li><p>ROS '''Noetic Ninjemys'''官方安装文档中Ubuntu推荐使用Ubuntu20.04,所以请确保开发板使用的系统为'''<span style="color:#FF0000">Ubuntu20.04桌面版系统</span>'''</p>{| class="wikitable" style="width:800px;" |-| <p>[http:/raw/wiki.githubusercontentros.comorg/noetic/Installation '''http://wiki.ros.org/rosdistronoetic/masterInstallation''']</rosdepp>|}<p>[[File:pi3b-img346.png]]</rubyp></li><li><p>然后使用下面的脚本安装ros1</p>{| class="wikitable" style="width:800px;" |-| <p>orangepi@orangepi3b:~$ '''install_ros.yamlsh ros1'''</p>|}</li><li><p>使用ROS工具前,首先需要初始化下rosdep,然后编译源码时就能快速的安装一些系统依赖和一些ROS中的核心组件</p></li>{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <big>'''<span style="color:#FF0000">注意,运行下面的命令需要确保开发板能正常访问github,否则会由于网络问题而报错。</span>'''
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw'''install_ros.githubusercontent.com/ros/rosdistrosh脚本会尝试修改/masteretc/index-v4hosts并自动运行下面的命令。但是这种方法无法保证每次都能正常访问github,如果install_ros.yamlsh安装完ros1后有提示下面的错误,请自己想其它办法让开发板的Linux系统能正常访问github,然后再手动运行下面的命令。'''
Skip end-of-life distro &quot;ardent&quot;
Skip end'''https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-of-life distro &quot;bouncy&quot;homebrew.yaml'''
'''Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml''' '''<span style="color:#FF0000">ERROR: error loading sources list:</span>''' ::'''<span style="color:#FF0000">The read operation timed out</span>'''</big>|} {| class="wikitable" style="width:800px;" |-| orangepi@orangepi:~$ '''source /opt/ros/noetic/setup.bash''' orangepi@orangepi:~$ '''sudo rosdep init''' Wrote /etc/ros/rosdep/sources.list.d/20-default.list Recommended: please run  ::rosdep update orangepi@orangepi:~$ '''rosdep update''' reading in sources list data from /etc/ros/rosdep/sources.list.d Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml Skip end-of-life distro &quot;ardent&quot; Skip end-of-life distro &quot;bouncy&quot; Skip end-of-life distro &quot;crystal&quot;
Skip end-of-life distro &quot;dashing&quot;
</li>
<li><p>然后选择'''System'''</p>
<p>[[File:pi3b-img359-1.png]]</p></li>
<li><p>然后选择'''Hardware'''</p>
<p>[[File:pi3b-img360.png]]</p></li>
<p>orangepi@orangepi:~$ '''cat /boot/orangepiEnv.txt | grep “raspi”"raspi"'''</p>
<p>'''<span style="color:#FF0000">overlays=raspi-7inch-touchscreen #示例配置</span>'''</p></big>
|}
</li></ol>
== 开关机logo使用说明 eDP屏幕的使用方法 ===== eDP屏幕的组装方法 ===<ol style="list-style-type: decimal;"><li><p>目前仅适配了一款15.6寸的eDP屏幕,包含的配件如下:</p></li><ol style="list-style-type: lower-alpha;"><li><p>0.5间距30pin单头同向排线</p><p>[[File:pi3b-11.png]]</p></li><li><p>15.6寸 eDP显示屏,分辨率为1920x1080。</p><p>[[File:pi3b-12-1.png]]</p></li></ol><li><p>将30pin单头同向排线的FPC端连接到开发板的eDP接口,另一端连接到屏幕的eDP接口</p></li><p>[[File:pi3b-13-1.png]]</p></ol>
=== 打开eDP屏幕配置的方法 ===
<ol style="list-style-type: decimal;">
<li><p>开关机logo默认只在桌面版的系统中才会显示Linux镜像默认是没有打开eDP屏幕的配置的,如果需要使用eDP屏幕,需要手动打开才行。</p></li><li><p>在'''打开eDP屏配置的步骤如下所示:</boot/orangepiEnv.txt'''中设置p><ol style="list-style-type: lower-alpha;"><li><p>首先运行下'''bootlogoorangepi-config'''变量为,普通用户记得加'''falsesudo'''可以关闭开关机logo权限</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''sudo orangepi-config'''</p>|}</li><li><p>然后选择'''System'''</p><p>[[File:pi3b-14.png]]</p></li><li><p>然后选择'''Hardware'''</p><p>[[File:pi3b-15.png]]</p></li><li><p>然后使用键盘的方向键定位到edp,再使用空格选中</p><p>[[File:pi3b-16.png]]</p></li><li><p>然后选择'''<Save>'''保存</p><p>[[File:pi3b-17.png]]</p></li><li><p>然后选择'''<Back>'''</p><p>[[File:pi3b-18.png]]</p></li><li><p>然后选择'''<Reboot>'''重启系统使配置生效</p><p>[[File:pi3b-19.png]]</p>{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <big><p>'''上面的设置最终会在/boot/orangepiEnv.txt中加入overlays=edp这句配置。设置完后可以先检查下。如果不存在这句配置,那么设置就是有问题。'''</p>  <p>'''如果觉得使用orangepi-config比较麻烦,也可以使用vim编辑器打开/boot/orangepiEnv.txt,然后加入overlays=edp 这句配置也是可以。'''</p>  <p>orangepi@orangepi:~$ '''cat /boot/orangepiEnv.txt | grep "edp"'''</p><p>'''overlays=edp #示例配置'''</p></big>|}</li></ol></li><li><p>启动后可以看到eDP屏幕的显示如下所示:</p></li><p>[[File:pi3b-20.png]]</p></ol> == 开关机logo使用说明 == <ol style="list-style-type: decimal;"><li><p>开关机logo默认只在桌面版的系统中才会显示</p></li><li><p>在'''/boot/orangepiEnv.txt'''中设置'''bootlogo'''变量为'''false'''可以关闭开关机logo</p>{| class="wikitable" style="width:800px;" |-| <p>orangepi@orangepi:~$ '''vim /boot/orangepiEnv.txt'''</p><p>verbosity=1</p><p>'''<span style="color:#FF0000">bootlogo=false</span>'''</p>
|}
</li>
== ZFS文件系统的使用方法 ==
 
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
|-
|
<big>'''最新版本的Ubuntu20.04、Ubuntu22.04、Debian11和Debian12<span style="color:#FF0000">桌面版系统</span>中已经预装了zfs,直接使用即可。'''
 
'''在Ubuntu20.04、Ubuntu22.04桌面版系统中预装的zfs版本是2.1.6。'''
 
'''在Debian11和Debian12桌面版系统中预装的zfs版本是2.1.11。'''
 
'''系统启动后,首先请确认下zfs的内核模块有没有被加载,如果使用lsmod命令可以看到zfs相关的内容,就说明系统已经预装了zfs。'''
 
orangepi@orangepi:~$ '''lsmod | grep &quot;zfs&quot;'''</big>
 
zfs &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2801664 &nbsp;&nbsp;&nbsp; 0
 
zunicode &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 327680 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
zzstd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 471040 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
zlua &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 139264 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
zcommon &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 69632 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
znvpair &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 61440 &nbsp;&nbsp;&nbsp; 2 &nbsp; zfs,zcommon
 
zavl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16384 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
icp &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 221184 &nbsp;&nbsp;&nbsp; 1 &nbsp; zfs
 
spl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 77824 &nbsp;&nbsp;&nbsp; 6 &nbsp; zfs,icp,zzstd,znvpair,zcommon,zavl
|}
<span id="安装zfs的方法"></span>
</li>
<li><p>另外开发板配有开关机按键,还可以'''短按'''开发板上的开关机按键来关机。</p>
<p>[[File:pi3b-img376-1.png]]</p></li>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<ol start="3" style="list-style-type: decimal;">
<li><p>关机后短按开发板上的开关机按键即可开机。</p>
<p>[[File:pi3b-img376-1.png]]</p></li>
<li><p>重启Linux系统的命令为</p>
{| class="wikitable" style="width:800px;"
<span id="使用开发板的ubuntu22.04系统编译"></span>
=== 使用开发板的Ubuntu22.04系统编译 ===
 
<ol style="list-style-type: decimal;">
<li><p>Linux SDK,即'''orangepi-build''',支持在开发板的'''<span style="color:#FF0000">Ubuntu 22.04</span>'''的上运行(其它系统没有测试过),所以下载orangepi-build前,请首先确保开发板已安装的Ubuntu版本是Ubuntu 22.04。查看开发板已安装的Ubuntu版本的命令如下所示,如果Release字段显示的不是'''<span style="color:#FF0000">22.04</span>''',说明当前使用的Ubuntu版本不符合要求,请更换系统后再进行下面的操作。</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>orangepi@orangepi:~$ '''lsb_release -a'''</p>
<p>No LSB modules are available.</p>
<p>Distributor ID: Ubuntu</p>
<p>Description: Ubuntu 22.04.1 LTS</p>
<p>Release: '''<span style="color:#FF0000">22.04</span>'''</p>
<p>Codename: jammy</p>
|}
</li>
<li><p>'''<span style="color:#FF0000">由于内核和U-boot等源码都是存放在GitHub上的,所以编译镜像的时候请确保开发板能正常从GitHub下载代码,这点是非常重要的。</span>'''</p></li></ol>
 
<span id="使用x64的ubuntu22.04电脑编译"></span>
 
=== 使用x64的Ubuntu22.04电脑编译 ===
<li><p>然后选择'''5 Install/Update the bootloader on SD/eMM'''来更新TF卡中的u-boot或者'''7 Install/Update the bootloader on SPI Flash'''来更新SPI Flash中的u-boot</p>
<p>[[File:pi3b-img383.png]]</p></li>
<li><p>按下回车键后首先会弹出一个Warring按下回车键后首先会弹出一个Warning</p>
<p>[[File:pi3b-img384.png]]</p></li>
<li><p>再按下回车键就会开始更新u-boot,更新完后会显示下面的信息</p>
| '''eDP显示'''
| '''OK'''
|-
| '''Camera'''
| '''<span style="color:#FF0000">NO</span>'''
|-
| '''千兆网口'''
<span id="pin-接口-gpiouartspi-和-pwm-测试"></span>
 
== eDP屏幕的使用方法 ==
<ol style="list-style-type: decimal;">
<li><p>目前仅适配了一款15.6寸的eDP屏幕,包含的配件如下:</p></li>
<ol style="list-style-type: lower-alpha;">
<li><p>0.5间距30pin单头同向排线</p>
<p>[[File:pi3b-26.png]]</p>
</li>
<li><p>15.6寸 eDP显示屏,分辨率为1920x1080</p>
<p>[[File:pi3b-27.png]]</p>
</li>
</ol>
<li><p>将30pin单头同向排线的FPC端连接到开发板的eDP接口,另一端连接到屏幕的eDP接口</p></li>
<p>[[File:pi3b-28.png]]</p>
<li><p>再给板子接通Type-C电源,并上电,系统启动后,就可以看到屏幕显示如下图所示</p></li>
<p>[[File:pi3b-29-1.png]]</p>
</ol>
== 40pin 接口 GPIO、UART、SPI 和 PWM 测试 ==
<p>[[File:pi3b-img421.png]]</p></li>
<li><p>GPIO测试界面如下图所示,左边的两排'''CheckBox'''按钮跟40pin引脚是一一对应的关系。当勾选'''CheckBox'''按钮时,对应的GPIO引脚会被设置为'''OUT'''模式,引脚电平设置为高电平;当取消勾选时,GPIO引脚电平设置为低电平;当点击右边的'''GPIO READALL'''按钮时,可以获取到wPi号、GPIO模式、引脚电平等信息;当点击'''BLINK ALL GPIO'''按钮时,程序会控制28个GPIO口不停的切换高低电平</p>
<p>[[File:pi3b-img422-1.png]]</p></li>
<li><p>然后点击'''GPIO READALL'''按钮,输出信息如下图所示:</p>
<p>[[File:pi3b-img423-1.png]]</p></li><li><p>开发板40pin中总共有28个GPIO口可以使用,下面以7号引脚——对应GPIO为GPIO4_A4 ——对应wPi序号为2——为例演示如何设置GPIO口的高低电平。首先点击7号引脚对应的开发板40pin中总共有28个GPIO口可以使用,下面以11号引脚——对应GPIO为GPIO3_C6 ——对应wPi序号为5——为例演示如何设置GPIO口的高低电平。首先点击7号引脚对应的'''CheckBox'''按钮,当按钮为选中状态时,7号引脚会设置为高电平,设置完后可以使用万用表测量引脚的电压的数值,如果为按钮,当按钮为选中状态时,11号引脚会设置为高电平,设置完后可以使用万用表测量引脚的电压的数值,如果为'''3.3v''',说明设置高电平成功</p><p>[[File:pi3b-img424-1.png]]</p></li>
<li><p>然后点击'''GPIO READALL'''按钮,可以看到当前的7号引脚模式为'''OUT''',引脚电平为高电平</p>
<p>[[File:pi3b-img425.png]]</p></li>
<li><p>再次点击下图的'''CheckBox'''按钮取消勾选状态,7号引脚会设置为低电平,设置完后可以使用万用表测量引脚的电压的数值,如果为按钮取消勾选状态,11号引脚会设置为低电平,设置完后可以使用万用表测量引脚的电压的数值,如果为'''0v''',说明设置低电平成功</p><p>[[File:pi3b-img426-1.png]]</p></li>
<li><p>然后点击'''GPIO READALL'''按钮,可以看到当前的7号引脚模式为OUT,引脚电平为低电平</p>
<p>[[File:pi3b-img427-1.png]]</p></li></ol>
<span id="pin的uart测试-2"></span>
 
=== 40pin的UART测试 ===
<ol style="list-style-type: decimal;">
<li><p>Android中默认打开了UART7和UART9,在40pin的位置如下图所示,对应的设备节点分别是'''/dev/ttyS7'''和'''/dev/ttyS9'''</p>
<p>[[File:pi3b-img271-1.png]]</p></li>
<li><p>首先点击wiringOP图标打开wiringOP APP</p>
<p>[[File:pi3b-img420.png]]</p></li>
<ol style="list-style-type: decimal;">
<li><p>由 40pin 接口的原理图可知,Orange Pi 3B可用的 spi 为 spi3</p>
<p>[[File:pi3b-img266-1.png]]</p></li>
<li><p>这里通过w25q64模块来测试SPI接口,首先在SPI3接口接入w25q64设备</p>
<p>[[File:pi3b-img434.png]]</p></li>
<ol style="list-style-type: decimal;">
<li><p>Android默认开启了'''PWM11''',对应的引脚在40pin的所在位置如下图所示</p>
<p>[[File:pi3b-img440-1.png]]</p></li>
<li><p>首先点击wiringOP图标打开wiringOP APP</p>
<p>[[File:pi3b-img420.png]]</p></li>
<li><p>然后在wiringOP的主界面点击'''PWM_TEST'''按钮进入PWM的测试界面</p>
<p>[[File:pi3b-img441.png]]</p></li>
<li><p>PWM11对应的基地址是'''fe6f0030''',PWM15对应的基地址是'''fe700030''',这里pwmchip0右边显示是'''fdd70020.pwm''', 这时需要点击下拉选项选择其它的pwmchip,直到右边显示'''febf0030fe6f0030.pwm'''或者'''fe700030.pwm'''为止</p>
<p>[[File:pi3b-img442.png]]</p></li>
<li><p>当下拉选项选择'''pwmchip3'''时,右边对应的就是PWM11对应的基地址'''fe6f0030'''</p>
| '''更新说明'''
|-
| v0v1.10| 2023-0708-1917
| 初始版本
|}
| style="text-align:center;" |'''更新说明'''
|-
| style="text-align:center;" |2023-0708-1917
|
Orangepi3b_1.0.0_ubuntu_focal_server_linux5.10.160.7z
 
Orangepi3b_1.0.0_ubuntu_jammy_server_linux5.10.160.7z
 
Orangepi3b_1.0.0_debian_bullseye_server_linux5.10.160.7z
 
Orangepi3b_1.0.0_debian_bookworm_server_linux5.10.160.7z
 
Orangepi3b_1.0.0_ubuntu_focal_desktop_xfce_linux5.10.160.7z
 
Orangepi3b_1.0.0_ubuntu_jammy_desktop_xfce_linux5.10.160.7z
 
Orangepi3b_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.7z
Orangepi3b_1.0.0_ubuntu_jammy_desktop_xfce_linux50_debian_bookworm_desktop_xfce_linux5.10.160.7z
Orangepi3b_1.0.0_ubuntu_focal_desktop_xfce_linux5.10.160.7z
OrangePi3B_RK3566_Android11_v1.0.0.tar.gz
OrangePi3B_RK3566_Android11_lcd_spi-nvme_v1.0.0.tar.gz
 
* 初始版本
|}
8,460
个编辑

导航菜单