From 89fc9f5c27d3e3d6bbc400d9bda1643fc0e71e45 Mon Sep 17 00:00:00 2001
From: anheng <12857953+aahh123456@user.noreply.gitee.com>
Date: Sat, 15 Jun 2024 09:24:09 +0800
Subject: [PATCH] updata linux5.10

---
 RK3568_Linux_SDK开发文档/RK3568_Linux_SDK开发文档.md |  503 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 485 insertions(+), 18 deletions(-)

diff --git "a/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md" "b/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
index 0ead1bd..ef99c94 100644
--- "a/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
+++ "b/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
@@ -146,7 +146,140 @@
 
 
 
-## 1.3 Linux SDK源码编译
+## 1.3  Buildroot 配置
+
+常见的文件系统制作就这几个:
+1, Buildroot;
+2, Yocto;
+3, 直接用第三方的,如 debian、ubuntu 等
+
+Rockchip提供的Linux 的SDK里面默认使用的Buildroot来构建根文件系统,那如果需要想让根文件系统添加一些别的命令支持则需要对Buildroot进行配置
+
+此处以添加Python3为例说明
+
+首先我们需要配置编译需要的配置
+
+1.进入~/rk3568/sdkv1.3.0_linux4.19
+
+输入`source envsetup.sh` 
+
+选择67.rockchip_rk3568 表示使用rk3568的相关配置
+
+![image-20240514182415770](./images/image-20240514182415770.png)
+
+![image-20240514182544931](./images/image-20240514182544931.png)
+
+此时可以看到配置中显示了目标板子,编译输出目录和使用的defconfig文件是哪个
+
+
+
+2.进入~/rk3568/sdkv1.3.0_linux4.19/buildroot
+
+输入`make menuconfig` 找到python3,位置在Target packages ->Interpreter languages and scripting->python3选中。
+
+![f0494eae9992101da283f9a8c1e4c0d](./images/f0494eae9992101da283f9a8c1e4c0d.png)
+
+选中python3后保存退出。
+
+输入`make savedefconfig` 此时系统会把你所改变的config信息直接同步到rockchip_rk3568_defconfig
+
+3.编译buildroot
+
+返回~/rk3568/sdkv1.3.0_linux4.19/
+
+输入`./build.sh buildroot`编译buildroot
+
+4.烧录编译出来的buildroot镜像到开发板中,输入`Python3`
+
+![ab30d79584572a1e91ad7fea770dc78](./images/ab30d79584572a1e91ad7fea770dc78.png)
+
+
+
+## 1.4 Debian构建根文件系统
+
+瑞芯微的SDK中已经提供的Debian的源码,路径是~/rk3568/sdkv1.3.0_linux4.19/debian
+
+在编译和构建Debian_rootfs之前需要在系统里安装相关工具和依赖
+
+```
+sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
+ g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
+ qemu-user-static live-build bison flex fakeroot cmake gcc-multilib \
+ g++-multilib unzip device-tree-compiler ncurses-dev
+```
+
+```
+sudo dpkg -i debian/ubuntu-build-service/packages/*
+sudo apt-get install -f
+```
+
+说明:
+
+其中最为核心的东西是debootstrap和qemu-user-static
+
+这里的debootstrap就是在packages里面
+
+![image-20240514203334861](./images/image-20240514203334861.png)
+
+debootstrap 构建debian基本文件子系统的工具。
+
+qemu-user-static 在PC端非arm架构的ubuntu系统上,需要借助于qemu-arm-static工具来模拟arm环境安才可以安装arm架构下所需要的软件。
+
+安装好这些必要工具后,就可以开始编译Debian了
+
+返回到~/rk3568/sdkv1.3.0_linux4.19/目录
+
+输入`./build.sh debian`开始编译,编译后的镜像文件放在了~/rk3568/sdkv1.3.0_linux4.19/debian
+
+![image-20240514204009803](./images/image-20240514204009803.png)
+
+我们需要将linaro-rootfs.img 这个镜像文件烧录到开发板中
+
+![image-20240514204053423](./images/image-20240514204053423.png)
+
+我们将烧录的rootfs文件替换成linaro-rootfs.img即可
+
+烧录完成后启动开发板,会提示输入用户名和密码,**这里的用户名和密码在编译脚本里写好了的均为linaro**
+
+登录后切换su用户`sudo su`,进入根目录下展示的就是Debian的根文件系统
+
+![image-20240514204322953](./images/image-20240514204322953.png)
+
+
+
+如果使用sdkv1.4.0_linux5.10 的SDK编译debian,步骤如下
+
+先装依赖环境
+
+```
+sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev \
+ liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \
+ diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \
+ cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev \
+ libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
+ libmpc-dev bc python-is-python3 python2
+ 
+sudo dpkg -i debian/ubuntu-build-service/packages/*
+
+sudo apt-get install -f
+```
+
+进入sdk根目录,运行./build.sh debian 会出现如下错误,我们只需要按照他推荐的更新一些工具就可以运行了。
+
+![image-20240611152547317](./images/image-20240611152547317.png)
+
+```
+sudo update-binfmts --unimport qemu-aarch64 2>/dev/null
+sudo update-binfmts --disable qemu-aarch64 2>/dev/null
+sudo rm -f /usr/bin/qemu-aarch64-static
+sudo cp /home/android/rk3568/sdkv1.4.0_linux5.10/device/rockchip/common/data/qemu-aarch64-static /usr/bin/
+sudo update-binfmts --enable qemu-aarch64 2>/dev/null
+sudo update-binfmts --import qemu-aarch64 2>/dev/null
+```
+
+
+
+## 1.5 Linux SDK源码编译
 
 
 
@@ -529,9 +662,15 @@
 
 ## 3.4 RS232和RS485
 
+### 3.4.1 硬件原理图说明
 
+![image-20240603153332281](./images/image-20240603153332281.png)
 
-### 3.4.1 内核修改支持
+![image-20240603153351475](./images/image-20240603153351475.png)
+
+![image-20240603153409087](./images/image-20240603153409087.png)
+
+### 3.4.2 内核修改支持
 
 RS232 DTS文件修改
 
@@ -559,19 +698,19 @@
         pinctrl-0 = <&uart9m1_xfer &rs485_ctrl>;
         status = "okay";
 };
+&pinctrl {
 
-//在rk3568-pinctrl.dtsi下加入
-rs485 {
+	rs485 {
         rs485_ctrl: rs485-ctrl {
-        rockchip,pins =
-                <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>;
+        	rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
         };
+	};
 };
 ```
 
-因为RS485是半双工的,所以要么先测接收功能要么测发送功能,从原理图上可以看到,接受与发送功能的切换是GPIO4_D2来控制的,默认情况是接收功能,我们可以利用gpioset命令拉高该gpio让其工作在发送模式
+因为RS485是半双工的,所以要么先测接收功能要么测发送功能,从原理图上可以看到,接受与发送功能的切换是GPIO4_D2来控制的,默认情况是发送功能,我们可以利用gpioset命令拉高该gpio让其工作在接受模式
 
-### 3.4.2 应用程序测试
+### 3.4.3 应用程序测试
 
 RS232测试
 
@@ -603,6 +742,12 @@
 
 ![](images/RS485_2.png)
 
+```
+microcom /dev/ttyS9 -s 115200
+```
+
+
+
 ![](images/RS485_rx.png)
 
 
@@ -612,10 +757,12 @@
 将控制引脚拉高电平,输入如下命令
 
 ```c
-gpioset 4 28=1
+gpioset 4 26=1
 ```
 
-![](images/RS485_tx.png)
+```
+microcom /dev/ttyS9 -s 115200
+```
 
 
 
@@ -628,6 +775,8 @@
 DTS文件修改
 
 ```c
+#Linux 4.19
+
 &can0 {
         compatible = "rockchip,can-1.0";
         assigned-clocks = <&cru CLK_CAN0>;
@@ -645,6 +794,26 @@
         pinctrl-0 = <&can1m1_pins>;
         status = "okay";
 };
+
+#Linux 5.10
+&can0 {
+        compatible = "rockchip,rk3568-can-2.0";
+        assigned-clocks = <&cru CLK_CAN0>;
+        assigned-clock-rates = <150000000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&can0m1_pins>;
+        status = "okay";
+};
+
+&can1 {
+        compatible = "rockchip,rk3568-can-2.0";
+        assigned-clocks = <&cru CLK_CAN1>;
+        assigned-clock-rates = <150000000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&can1m1_pins>;
+        status = "okay";
+};
+
 ```
 
 
@@ -655,7 +824,9 @@
 Networking support ->
     CAN bus subsystem support ->
          CAN Device Drivers  ->
-         		Platform CAN drivers with Netlink support  ->
+         		<*>Platform CAN drivers with Netlink support
+         		<*>Rockchip CAN controller
+         		<*>Rockchip CANFD controller
 ```
 
 ### 3.5.2 应用程序测试
@@ -701,6 +872,29 @@
 ![](images/CAN_result.png)
 
 
+
+**CAN单板回环测试**
+
+将板子的CAN0_H和CAN1_H连接  CAN0_L和CAN1_L连接
+
+依次输入以下命令
+
+```
+ip link set can0 down
+ip link set can0 type can bitrate 500000
+ip link set can0 up
+
+ip link set can1 down
+ip link set can1 type can bitrate 500000
+ip link set can1 up
+
+candump can0 &
+cansend can1 123#01020304050607
+```
+
+通过CAN1发送后,CAN0会打印收到的信息
+
+![image-20240608182159912](./images/image-20240608182159912.png)
 
 ## 3.6 声卡Codec
 
@@ -749,10 +943,22 @@
 
 使用amixer设置声卡
 
+通过`amixer -c 0 contents`可以查看音频硬件的当前状态和可能的设置
+
+![image-20240608192515113](./images/image-20240608192515113.png)
+
+这里的 1 和 2 对应于 `Main Mic` 和 `SPK` 在各自列表中的索引。根据需要调整命令中的索引以设置所需的选项。
+
+可以使用如下命令切换至SPK输出
+
 ```
-amixer cset name='Master Playback Volume' 'on','on'
-amixer cset name='Master Playback Volume' '30','30'
+amixer -c 0 cset numid=2 2
+
+//linux5.10
+amixer -c 0 cset numid=12 3 //HP输出
 ```
+
+![image-20240608192639436](./images/image-20240608192639436.png)
 
 使用aplay播放WAV格式音乐
 
@@ -779,13 +985,13 @@
 进入到解压出来的文件夹后打开conf-cc文件,行首更改如下,并保存
 
 ```
-/home/tangjunfeng/rk3568/sdkv1.3.0_linux4.19/buildroot/output/rockchip_rk3568/host/usr/bin/aarch64-buildroot-linux-gnu-cc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 - 
+~/rk3568/sdkv1.3.0_linux4.19/buildroot/output/rockchip_rk3568/host/usr/bin/aarch64-buildroot-linux-gnu-cc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 - 
 ```
 
 打开conf-ld文件,行首更改如下,并保存
 
 ```
-/home/tangjunfeng/rk3568/sdkv1.3.0_linux4.19/buildroot/output/rockchip_rk3568/        host/usr/bin/aarch64-buildroot-linux-gnu-cc -s
+~/rk3568/sdkv1.3.0_linux4.19/buildroot/output/rockchip_rk3568/        host/usr/bin/aarch64-buildroot-linux-gnu-cc -s
 ```
 
 在memtester-4.6.0路径下,进行编译:
@@ -882,7 +1088,7 @@
  12 LIB_URL=$LY_FTP
  13
  14 # Cross compiler for cross compile on Linux server
- 15 #CROSS_COMPILE=/home/anheng/rk3568/sdkv1.3.0_linux4.19/buildroot/output/               rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-
+ 15 #CROSS_COMPILE=~/rk3568/sdkv1.3.0_linux4.19/buildroot/output/               rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-
  16 CROSS_COMPILE=/opt/gcc-aarch64-10.3-2021.07/bin/aarch64-none-linux-gnu-
  17 # compile jobs
  18 JOBS=`cat /proc/cpuinfo |grep "processor"|wc -l`
@@ -925,7 +1131,7 @@
 在/install/bin,生成可执行文件 iperf3
 
 ```
-lingyun@9d57f9229b66:/home/anheng/install/bin$ ls
+lingyun@9d57f9229b66:~/install/bin$ ls
 gpiodetect  gpiofind  gpioget  gpioinfo  gpiomon  gpioset  iperf3
 ```
 
@@ -1129,7 +1335,7 @@
 
 ppp拨号方式需要编写三个脚本文件存放在/etc/ppp/peers下
 
-默认是没有这些文件夹的,所以需要去创建ppp和peer文件夹,创建好后在peers下创建如下三个脚本文件
+默认是没有这些文件夹的,所以需要去创建ppp和peers文件夹,创建好后在peers下创建如下三个脚本文件
 
 **rasppp.sh**
 
@@ -1274,3 +1480,264 @@
 同样,我们可以ping百度测试上网功能
 
 ![](./images/4g-15.png)
+
+
+
+**如果使用Linux5.10内核版本,默认内核是没有开启cdc_ether模块即ECM模式,所以要配置内核驱动ECM模式**
+
+`cdc_ether`是Linux操作系统中的一个内核模块,用于支持USB CDC(Communications Device Class)以太网设备。这个模块允许系统将某些USB设备(例如4G/5G调制解调器、智能手机、USB以太网适配器)识别和配置为网络接口,使其能够像传统的以太网设备一样进行网络通信。
+
+当切换到ECM模式后,cdc_ether模块会自动加载,加载`cdc_ether`模块后,系统会创建一个新的网络接口(例如`usb0`),用户可以通过该接口进行网络配置和通信。
+
+内核配置如下
+
+```
+Device Drivers ->
+	[*] Network device support ->
+		<*>	USB Network Adapters  --->
+		<*>   Multi-purpose USB Networking Framework ---->
+		-*-     CDC Ethernet support (smart devices such as cable modems)
+```
+
+
+
+## 3.11 RK3568自带的NPU
+
+### 3.11.1 应用程序测试
+
+测试的程序是一个yolov5的目标识别demo,编译环境是Linux arm64系统
+
+先去github下载RKNPU2并解压生成rknpu2-master文件夹
+
+[GitHub - rockchip-linux/rknpu2](https://github.com/rockchip-linux/rknpu2?tab=readme-ov-file)
+
+1. 进入~/rk3568/rknpu2-master/examples/rknn_yolov5_demo目录
+
+2. `vim build-linux_RK3566_RK3568.sh`
+
+3. 更改交叉编译器路径
+
+   ![image-20240425173202774](./images/image-20240425173202774.png)
+
+4. 授予build-linux_RK3566_RK3568.sh执行权限,./build-linux_RK3566_RK3568.sh
+
+​       编译好了之后会生成install文件,里面就有官方提供的rknn模型,可执行程序,以及相应的动态库文件,如下
+
+![image-20240425173407578](./images/image-20240425173407578.png)
+
+5. 用adb命令将~/rk3568/rknpu2-master/examples/rknn_yolov5_demo/install目录下的rknn_yolov5_demo_Linux文件夹上传到开发板的/data目录下
+
+6. 指定库文件路径 `export LD_LIBRARY_PATH=/data/rknn_yolov5_demo_Linux/lib `
+
+7. 运行程序识别相应的图片中物体的类别。`./rknn_yolov5_demo ./model/RV1106/yolov5s-640-640.rknn ./model/bus.jpg `
+
+   ![eb02125fb19e15ed9b3fdd421be39b5](./images/eb02125fb19e15ed9b3fdd421be39b5.png)
+
+   识别的结果会以out.jpg保存在当前目录
+
+   ![b2a248d83fc722b08b2d0bfb24f84a0](./images/b2a248d83fc722b08b2d0bfb24f84a0.png)
+   
+## 3.12 DIO测试
+
+### 3.12.1 硬件原理图说明
+
+   ![8d0dcd185714d7a482bc6e537d904837_](./images/8d0dcd185714d7a482bc6e537d904837_.jpg)
+
+   ![d3348419dd510670f7c897be5dec417e_](./images/d3348419dd510670f7c897be5dec417e_.jpg)
+
+   ![image-20240513112427985](./images/image-20240513112427985.png)
+
+   ![image-20240513112435295](./images/image-20240513112435295.png)
+
+### 3.12.2 Din测试
+
+   ![d4220b70053963e8c9846de84e68b129_](./images/d4220b70053963e8c9846de84e68b129_.jpg)
+
+   按照上图的说明方法,将Din-0短接GND,此时Din-0输出低电平,测量R6114两侧的电压值,红表笔接一侧,黑笔接地。此时可以发现万用表显示电压为0.17v左右。其他的三个Din均是相同的方法。
+
+   **注意:为什么不是0V而是0.17v的微弱电压?**
+
+   **因为从下图可以看出光耦内置三极管的CE结,饱合导通时会存在一定的压降,这个0.17v即为压降。**
+
+   ![ea23d8f7b3f22251da9646a52106a24](./images/ea23d8f7b3f22251da9646a52106a24.jpg)
+
+### 3.12.3 Dout测试
+
+   ![f96ddb352acf28b8a7088acf58e72ab6_](./images/f96ddb352acf28b8a7088acf58e72ab6_.jpg)
+
+   如上图所示连接好电路,以Dout-0为例说明,其他的Dout的测试方法均相同
+
+   输入`gpioset 0 4=0`,使gpio输出为低电平,用万用表测试R6211两端的电压正常情况均为0v。
+
+   输入`gpioset 0 4=1`,使gpio输出为高电平,用万用表测试R6211两端的电压正常情况均为3.3v。
+
+   
+
+   **注意:在RK3568上如果某个gpio没有被复用,默认情况下该引脚的模式是gpio模式,但是此处的GPIO0_PA4例外,所以需要在设备树中特殊配置一下该引脚使用gpio模式。**
+
+   ![image-20240513115053582](./images/image-20240513115053582.png)
+
+### 3.12.4 Dout/ Din 联合测试
+
+   ![57c8bc8656696e1eff33f79e808344e2_](./images/57c8bc8656696e1eff33f79e808344e2_.jpg)
+
+   如上图所示将Din与Dout连接好,通过改变Dout的输出电平,检测Din是否收到对应的电平,以Din-0和Dout-0为例说明
+
+   输入`gpioset 0 4=0` `gpioget 3 3`,显示Din-0的电平应为0
+
+   输入`gpioset 0 4=1` `gpioget 3 3`,显示Din-0的电平应为1
+
+
+
+## 3.13 AIN 电流电压测试
+
+### 3.13.1 硬件原理图说明
+
+![image-20240530141259975](./images/image-20240530141259975.png)
+
+![image-20240530135607369](./images/image-20240530135607369.png)
+
+### 3.13.2 AIN 电流测试
+
+首先我们需要将ADC采样程序烧录到开发板上的单片机中
+
+连接J6000 TTL下载调试串口 Debug_RXD_CN连接串口的TXD    Debug_TXD_CN连接串口的RXD  GND相连
+
+
+
+![image-20240530140205871](./images/image-20240530140205871.png)
+
+
+
+**打开FlyMcu.exe烧录工具,选择准备好的.hex 的单片机程序**
+
+![image-20240530140731254](./images/image-20240530140731254.png)
+
+
+
+**点击开始编程后就开始烧录程序,烧录成功如下图,并且可以看到单片机的LED灯在闪烁绿光**
+
+![image-20240530140856899](./images/image-20240530140856899.png)
+
+
+
+单片机程序烧录好后,我们需要使能RK3568的UART6,根据原理图可以看到,RK3568和MCU通信串口为UART6,所以需要在设备树中设置UART6设备节点
+
+打开`~/rk3568/sdkv1.4.0_linux5.10/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux.dts`
+
+加入URAT6节点
+
+```
+&uart6{
+        dma-names = "tx", "rx";
+        pinctrl-names = "default";
+        pinctrl-0 = <&uart6m1_xfer>;
+        status = "okay";
+};
+```
+
+
+
+重新编译设备树后烧录到开发板中启动开发板,在/dev下看看是否有ttyS6
+
+![image-20240530142151791](./images/image-20240530142151791.png)
+
+
+
+![image-20240530141055521](./images/image-20240530141055521.png)
+
+
+
+按照上图连接电路后,用XCOM软件打开单片机的调试串口,配置如下图所示
+
+![image-20240530141147705](./images/image-20240530141147705.png)
+
+
+
+在RK3568上运行comport程序,此程序可以配置串口的波特率,停止位,数据位,奇偶校验以及指定使用哪个串口设备
+
+源代码在[framwork.git - Gitblit (iot-yun.club)](http://main.iot-yun.club:8088/tree/framwork.git/master/booster)
+
+但是这个代码需要做一定的修改,因为这个程序只能让串口输出字符串数据,但是我们在测试中需要发送十六进制数据给单片机。
+
+
+
+此时就需要了解ADC串口协议,RK3568发送读指令给MCU,MCU会响应RK3568返回ADC采样数据
+
+![image-20240530142838339](./images/image-20240530142838339.png)
+
+示例如下:
+
+示例:
+
+1、读第0通道电压:
+
+AA 55 02 00 30 8C      //CRC:0x8C30
+
+AA 55 02 00 EE 0D 99 C0   //0D EE -> 3566mv, CRC:0x0C99
+
+2、读第1路通道电压:
+
+AA 55 02 01 F1 4C
+
+AA 55 02 01 06 00 47 C5    //00 06 -> 6mv 
+
+3、读第2路通道电压:
+
+AA 55 02 02 B1 4D
+
+AA 55 02 02 06 00 B7 C5 //6mv
+
+4、读第3路通道电压:
+
+AA 55 02 03 70 8D
+
+AA 55 02 03 06 00 E6 05 //6mv
+
+5、读第0路电流
+
+AA 55 01 00 30 7C 
+
+AA 55 01 00 95 01 BB 71 //01 95 -> 405 单位0.01mA,即4.05mA, CRC:0x71BB
+
+6、读第1路电流
+
+AA 55 01 01 F1 BC
+
+AA 55 01 01 95 01 EA B1
+
+7、读第2路电流
+
+AA 55 01 02 B1 BD
+
+AA 55 01 02 95 01 1A B1
+
+8、读第3路电流
+
+AA 55 01 03 70 7D
+
+AA 55 01 03 95 01 4B 71
+
+
+
+以下AIN电流测试以测试第0路电流为例
+
+在RK3568上输入`./comport -d /dev/ttyS6 -b 115200 -s 8N1N -x`
+
+在XCOM上可以看到MCU的调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为1.22mA~22.79mA(测试其他三路电流时最小电流约为0.006mA)
+
+
+
+![8e38061a45cded5d0965e8381a90f9e](./images/8e38061a45cded5d0965e8381a90f9e.png)
+
+### 3.12.3 AIN 电压测试
+
+准备工作和AIN电流测试一样,不再赘述
+
+![image-20240530144317972](./images/image-20240530144317972.png)
+
+运行comport程序让rk3568输出读取电压的指令给mcu
+
+同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017mV~5.882mV
+
+![image-20240530143956558](./images/image-20240530143956558.png)

--
Gitblit v1.9.1