From ff96fb032fc48ecfe76abdacb75f3ecffd0143c8 Mon Sep 17 00:00:00 2001
From: android <android@lingyun.com>
Date: Thu, 11 Jul 2024 21:10:28 +0800
Subject: [PATCH] Add RK3568 documents

---
 documents/docs/RK3568_Android测试文档/images/2.1_RS485_open_sucess.png               |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/摄像头连接.PNG                             |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530140731254.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530144317972.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628184602191.png         |    0 
 documents/docs/RK3568_Android测试文档/images/install_apk_method1.png                 |    0 
 documents/docs/RK3568_Android测试文档/images/2-Menu.png                              |    0 
 documents/docs/RK3568_Android测试文档/images/2.4_add_export_permission.png           |    0 
 documents/docs/RK3568_Android测试文档/images/2.5_get_voltage_channel0.png            |    0 
 documents/docs/RK3568_Android测试文档/images/2.1_RS485_main.png                      |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530143956558.png         |    0 
 documents/docs/RK3568_Android测试文档/images/2.1_RS485_recv.png                      |    0 
 documents/docs/RK3568_Android_SDK开发文档/RK3568_Android_SDK开发文档.md                  |  458 +++++++++++++++++++
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240707180653408.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516131612.png                |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530135607369.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516141405.png                |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516141419430.png           |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516130613.png                |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/烧录选择.PNG                              |    0 
 documents/docs/RK3568_Android测试文档/images/install_apk_method2.png                 |    0 
 documents/docs/RV1106_Linux_SDK开发文档/RV1106_Linux_SDK开发文档.md                      |  414 ++++++++++++++++++
 documents/docs/RK3568_Android测试文档/images/3-sdk.png                               |    0 
 documents/docs/RK3568_Android测试文档/images/2.3_CAN_send.png                        |    0 
 documents/docs/RK3568_Android测试文档/images/2.4_add_pwm0_permission.png             |    0 
 documents/docs/RK3568_Android测试文档/images/2.5_get_current_channel0.png            |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628185201219.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240707181132353.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/分支选择.PNG                              |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240707190725803.png         |    0 
 documents/docs/RK3568_Android测试文档/RK3568_Android测试.md                            |  490 +++++++++++++++++++++
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516141747292.png           |    0 
 documents/docs/RK3568_Android测试文档/images/2.1_RS485_send.png                      |    0 
 documents/docs/RK3568_Android测试文档/images/2.4_PWM_play.png                        |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/04bd9043a5a6cb0df91f9a978a0c46fc.jpg  |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516143012950.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628182336621.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516133115258.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628183823118.png         |    0 
 documents/docs/RK3568_Android测试文档/images/2.4_PWM_stop.png                        |    0 
 documents/docs/RK3568_Android测试文档/images/2.5_open_ADC.png                        |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/ADB5.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516131851782.png           |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516132341234.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530142151791.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/视频播放.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/ADB4.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/摄像头ip.PNG                             |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530142838339.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530141147705.png         |    0 
 documents/docs/RK3568_Android测试文档/images/3-gradle.png                            |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516142351.png                |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/开发板ip.PNG                             |    0 
 documents/docs/RK3568_Android测试文档/images/2.3_CAN_main.png                        |    0 
 documents/docs/RK3568_Android测试文档/images/2.2_turn_off.png                        |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628182052917.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530140856899.png         |    0 
 documents/docs/RK3568_Android测试文档/images/2.1_RS485_open_failed.png               |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240707181301122.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/RNDIS(1).PNG                          |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628183901996.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240707181315992.png         |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/8e38061a45cded5d0965e8381a90f9e.png |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/ADB3.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516131940611.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530141259975.png         |    0 
 documents/docs/RK3568_Android测试文档/images/3-minSDK.png                            |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516142817295.png           |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516143007.png                |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516134210481.png           |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/ADB2.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/V4L2-utils2.PNG                       |    0 
 documents/docs/RK3568_Android测试文档/images/5.3_ADC_protocol.png                    |    0 
 documents/docs/RK3568_Android测试文档/images/2.2_red_turn_on.png                     |    0 
 documents/docs/RK3568_Linux_SDK开发文档/RK3568_Linux_SDK开发文档.md                      |    2 
 documents/docs/RV1106_Linux_SDK开发文档/images/VLC(1).PNG                            |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/8{K1WK56Z~B3OZLV@GYW@`M.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530141055521.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/image-20240516134357670.png           |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240530140205871.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/QQ图片20240516133103.png                |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/ADB1.PNG                              |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/安装驱动.PNG                              |    0 
 documents/docs/RK3568_Android_SDK开发文档/images/image-20240628185147524.png         |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/RNDIS(2).PNG                          |    0 
 documents/docs/RV1106_Linux_SDK开发文档/images/V4L2-utils1.PNG                       |    0 
 documents/docs/RK3568_Android测试文档/images/2.3_CAN_recv.png                        |    0 
 87 files changed, 1,363 insertions(+), 1 deletions(-)

diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
index 4dd2c8b..db19c6c 100644
--- "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
@@ -743,6 +743,464 @@
 
 
 
+## 3.9 AIN 电流电压测试
+
+### 3.9.1 硬件原理图说明
+
+![image-20240530141259975](./images/image-20240530141259975.png)
+
+![image-20240530135607369](./images/image-20240530135607369.png)
+
+### 3.9.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.9.3 AIN 电压测试
+
+准备工作和AIN电流测试一样,不再赘述
+
+![image-20240530144317972](./images/image-20240530144317972.png)
+
+运行comport程序让rk3568输出读取电压的指令给mcu
+
+同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017V~5.882V
+
+![image-20240530143956558](./images/image-20240530143956558.png)
+
+
+
+## 3.10 MIPI DSI 测试
+
+### 3.10.1 独立TP的屏幕
+
+在rk3568-evb1-ddr4-v10.dtsi中确认一下节点是否打开
+
+```
+&dsi0 {
+    status = "okay";
+};
+
+&dsi0_in_vp1 {
+    status = "okay";
+};
+
+&dsi1_panel {
+    power-supply = <&vcc3v3_lcd1_n>;
+};
+
+&route_dsi0 {
+    status = "okay";
+    connect = <&vp1_out_dsi0>;
+};
+```
+
+在rk3568-evb.dtsi中设置屏参,这里的屏参需要根据实际的屏幕手册里给的数据计算得出,不同屏幕参数大不相同
+
+```
+disp_timings0: display-timings {
+	native-mode = <&dsi0_timing0>;
+	dsi0_timing0: timing0 {
+		clock-frequency = <149600000>;
+		hactive = <1920>;
+		vactive = <1080>;
+		hfront-porch = <48>;
+		hsync-len = <32>;
+		hback-porch = <147>;
+		vfront-porch = <3>;
+		vsync-len = <6>;
+		vback-porch = <51>;
+		hsync-active = <0>;
+		vsync-active = <0>;
+		de-active = <0>;
+		pixelclk-active = <1>;
+	};
+};
+
+```
+
+
+
+**接线如下图所示**
+
+![image-20240628183823118](./images/image-20240628183823118.png)
+
+![image-20240628183901996](./images/image-20240628183901996.png)
+
+
+
+### 3.10.2 自带TP的屏幕
+
+在rk3568-evb1-ddr4-v10.dtsi中确认一下节点是否打开
+
+```
+&dsi0 {
+    status = "okay";
+};
+
+&dsi0_in_vp1 {
+    status = "okay";
+};
+
+&dsi1_panel {
+    power-supply = <&vcc3v3_lcd1_n>;
+};
+
+&route_dsi0 {
+    status = "okay";
+    connect = <&vp1_out_dsi0>;
+};
+```
+
+在rk3568-evb.dtsi中设置屏参,这里的屏参需要根据实际的屏幕手册里给的数据计算得出,不同屏幕参数大不相同
+
+```
+disp_timings0: display-timings {
+	native-mode = <&dsi0_timing0>;
+	dsi0_timing0: timing0 {
+		clock-frequency = <149600000>;
+		hactive = <1920>;
+		vactive = <1080>;
+		hfront-porch = <48>;
+		hsync-len = <32>;
+		hback-porch = <147>;
+		vfront-porch = <3>;
+		vsync-len = <6>;
+		vback-porch = <51>;
+		hsync-active = <0>;
+		vsync-active = <0>;
+		de-active = <0>;
+		pixelclk-active = <1>;
+	};
+};
+
+```
+
+
+
+**接线如下图所示**
+
+![image-20240628182052917](./images/image-20240628182052917.png)
+
+![image-20240628182336621](./images/image-20240628182336621.png)
+
+## 3.11 LVDS 测试
+
+首先在rk3568-evb1-ddr4-v10.dts 中添加lvds相关节点
+
+```
++ #include <dt-bindings/display/media-bus-format.h>
+#include "rk3568-evb1-ddr4-v10.dtsi"
+#include "rk3568-android.dtsi"
++ #include <dt-bindings/display/rockchip_vop.h>
+
+/ {
+        panel-lvds {
+                compatible = "simple-panel";
+                power-supply = <&vcc3v3_lcd0_n>;
+                enable-delay-ms = <20>;
+                prepare-delay-ms = <20>;
+                unprepare-delay-ms = <20>;
+                disable-delay-ms = <20>;
+                bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
+                width-mm = <217>;
+                height-mm = <136>;
+
+                display-timings {
+                        native-mode = <&timing0>;
+                        timing0: timing0 {
+                                clock-frequency = <73400000>;
+                                hactive = <1280>;
+                                vactive = <800>;
+                                hback-porch = <40>;
+                                hfront-porch = <80>;
+                                vback-porch = <9>;
+                                vfront-porch = <9>;
+                                hsync-len = <40>;
+                                vsync-len = <5>;
+                                hsync-active = <0>;
+                                vsync-active = <0>;
+                                de-active = <0>;
+                                pixelclk-active = <0>;
+                        };
+                };
+
+                ports {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+                        port@0 {
+                                reg = <0>;
+                                panel_in_lvds: endpoint {
+                                        remote-endpoint = <&lvds_out_panel>;
+                                };
+                        };
+                };
+        };
+
+};
+
+&vp0 {
+        cursor-win-id = <ROCKCHIP_VOP2_CLUSTER0>;
+};
+
+&vp1 {
+        cursor-win-id = <ROCKCHIP_VOP2_CLUSTER1>;
+};
+
+&lvds {
+        status = "okay";
+        ports {
+                port@1 {
+                        reg = <1>;
+                        lvds_out_panel: endpoint {
+                                remote-endpoint = <&panel_in_lvds>;
+                        };
+                };
+        };
+};
+
+&lvds_in_vp1 {
+        status = "okay";
+};
+
+&route_lvds{
+        status = "okay";
+        connect = <&vp1_out_lvds>;
+};
+
+```
+
+
+
+**因为这个lvds屏幕不支持更改屏幕亮度,所以他不是通过pwm来控制背光的,而是通过gpio控制,只能保证亮屏和灭屏,所以只需要控制gpio电平即可实现**
+
+![image-20240628184602191](./images/image-20240628184602191.png)
+
+第一种方法  在rk3568-evb1-ddr4-v10.dtsi更改vcc3v3_lcd0_n
+
+```
+&vcc3v3_lcd0_n {
+    gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
+//  enable-active-high;
+};
+```
+
+第二种方法  更改panel-lvds节点
+
+```
+panel-lvds {
+                compatible = "simple-panel";
+//              power-supply = <&vcc3v3_lcd0_n>;
+ 				enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
+ 				enable-delay-ms = <20>;
+                prepare-delay-ms = <20>;
+                unprepare-delay-ms = <20>;
+                disable-delay-ms = <20>;
+                bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
+                width-mm = <217>;
+                height-mm = <136>;
+                ......
+};
+```
+
+
+
+最后由于mipi dsi也用到了vp1这个端口所以禁掉mipi dsi相关节点,mipi_dsi相关节点参考3.10.1,提到的节点全部禁掉就可以了
+
+
+
+**接线如下图所示**
+
+![image-20240628185147524](./images/image-20240628185147524.png)
+
+![image-20240628185201219](./images/image-20240628185201219.png)
+
+
+
+## 3.12 wifi模块测试
+
+**选用联发科的mt7601u的USB wifi模块**
+
+1. 首先获取mt7601u的wifi固件,mt7601u.bin
+
+2. 修改内核使能wifi设备节点
+
+   ```
+   &wireless_wlan {
+        status = "okay";
+   };
+   ```
+
+3. 在内核中使能mt7601的驱动,mt7601的驱动位置在drivers/net/wireless/mediatek/mt7601u
+
+   内核make menuconfig配置
+
+   ```
+   Device Drivers -->
+   	[*] Network device support  --->
+   		[*]   Wireless LAN  --->
+   			[*]   MediaTek devices --->
+   				<*>     MediaTek MT7601U (USB) support
+   ```
+
+4. **重新编译整个sdk**
+
+5. 启动开发板后将wifi模块的bin文件拷贝到/vendor/etc/firewarm下
+
+   这个步骤只是第一次测试用的方法,更加完整的方法是将固件放进android镜像中让其自带这个固件
+
+   方法如下:
+
+   在vendor/rockchip/common/wifi/firmware中添加mt7601.bin固件
+
+   可以看到在上一层的wifi.mk中已经明确指出了会将firmware目录下的所有bin文件都拷贝到编译产物中的vendor/etc/firmware下,然后随着andorid的编译系统一起编译生成.img文件,这样的镜像烧录后就会自带我们得mt7601固件。
+
+   ![image-20240707190725803](./images/image-20240707190725803.png)
+
+6. 插入wifi模块可以看到如下信息
+
+   ![image-20240707180653408](./images/image-20240707180653408.png)
+
+   通过ifconfig -a 能查看到此时多了一个网卡设备wlan0,这个时候表示wifi模块的驱动加载完成,加载完成后系统会自动的去/vendor/etc/firewarm下找相应的固件。
+
+7. 此时我们就可以在android界面操作wifi按钮打开wifi搜索功能,正常连接wifi了
+
+   点击打开wifi之后会出现如下信息,大致的意思就是系统在后台会开启wpa_supplicant的服务用来连接wifi的,并且创建了一个wpa_wlan0的socket设备用于通信,当连接上wifi后,会自动分配一个ip地址。
+
+   ![image-20240707181132353](./images/image-20240707181132353.png)
+
+   ![image-20240707181301122](./images/image-20240707181301122.png)
+
+   ![image-20240707181315992](./images/image-20240707181315992.png)
+
 # 4.  ADB调试工具
 
 1. 下载解压platform-tools-latest-windows.zip
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8e38061a45cded5d0965e8381a90f9e.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8e38061a45cded5d0965e8381a90f9e.png"
new file mode 100644
index 0000000..453599a
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8e38061a45cded5d0965e8381a90f9e.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530135607369.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530135607369.png"
new file mode 100644
index 0000000..3fec5f3
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530135607369.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140205871.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140205871.png"
new file mode 100644
index 0000000..48c196c
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140205871.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140731254.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140731254.png"
new file mode 100644
index 0000000..df39765
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140731254.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140856899.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140856899.png"
new file mode 100644
index 0000000..1abfce5
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530140856899.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141055521.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141055521.png"
new file mode 100644
index 0000000..8a95f16
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141055521.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141147705.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141147705.png"
new file mode 100644
index 0000000..1c9f1f1
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141147705.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141259975.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141259975.png"
new file mode 100644
index 0000000..83bdfb6
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530141259975.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142151791.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142151791.png"
new file mode 100644
index 0000000..794325d
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142151791.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142838339.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142838339.png"
new file mode 100644
index 0000000..dfe4214
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530142838339.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530143956558.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530143956558.png"
new file mode 100644
index 0000000..d53befe
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530143956558.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530144317972.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530144317972.png"
new file mode 100644
index 0000000..f28f100
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240530144317972.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182052917.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182052917.png"
new file mode 100644
index 0000000..654a58f
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182052917.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182336621.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182336621.png"
new file mode 100644
index 0000000..86898f9
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628182336621.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183823118.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183823118.png"
new file mode 100644
index 0000000..5ec7f0e
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183823118.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183901996.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183901996.png"
new file mode 100644
index 0000000..c9e5cb5
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628183901996.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628184602191.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628184602191.png"
new file mode 100644
index 0000000..809c309
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628184602191.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185147524.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185147524.png"
new file mode 100644
index 0000000..bc6c5d6
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185147524.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185201219.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185201219.png"
new file mode 100644
index 0000000..02b9eec
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240628185201219.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707180653408.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707180653408.png"
new file mode 100644
index 0000000..ef62624
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707180653408.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181132353.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181132353.png"
new file mode 100644
index 0000000..e58a33f
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181132353.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181301122.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181301122.png"
new file mode 100644
index 0000000..1f1b4e9
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181301122.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181315992.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181315992.png"
new file mode 100644
index 0000000..6e9fa8f
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707181315992.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707190725803.png" "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707190725803.png"
new file mode 100644
index 0000000..860b952
--- /dev/null
+++ "b/documents/docs/RK3568_Android_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240707190725803.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/RK3568_Android\346\265\213\350\257\225.md" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/RK3568_Android\346\265\213\350\257\225.md"
new file mode 100644
index 0000000..81c0e96
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/RK3568_Android\346\265\213\350\257\225.md"
@@ -0,0 +1,490 @@
+# 一、安装及测试
+
+## 1. 安装apk软件
+
+通过**adb**安装apk软件:
+
+**方法一**:
+
+[Android adb启动任意app的几种方式_adb启动某个app的方法-CSDN博客](https://blog.csdn.net/ezconn/article/details/99885715)
+
+[彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误-CSDN博客](https://blog.csdn.net/fromVillageCoolBoy/article/details/134412425)
+
+```
+adb root
+adb install -r apk文件的位置
+如:adb install -r E:\lingyun\RK3568\rk3568_app1.0\rk3568.apk
+
+出现:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.example.serial signatures do not match newer version; ignoring!表示系统中已经安装过这个软件,需要把之前的卸载后再重新安装
+```
+
+```
+adb remount
+adb pull /data/system/packages.xml
+拉取了packages.xml后,打开该文件将涉及com.example.serial的地方都删除
+adb push packages.xml /data/system
+adb uninstall com.example.serial
+adb remount
+adb install -r -g E:\lingyun\RK3568\rk3568_app1.0\rk3568.apk
+```
+
+![install_apk_method1](images/install_apk_method1.png)
+
+**方法二**:
+
+```
+adb root
+adb remount
+adb push ...\rk3568.apk /system/app
+adb shell chmod 666 /system/app/rk3568.apk
+adb reboot
+
+重启开启APP
+adb shell am start -n com.example.serial/.MainActivity 
+```
+
+com.example.serial是包名
+
+![install_apk_method2](images/install_apk_method2.png)
+
+**关闭APP**
+
+```
+adb shell am force-stop com.example.serial
+```
+
+
+
+## 2. 模块测试
+
+菜单:主要测试5个功能,分别是RS485通信,LED灯、CAN通信、蜂鸣器和ADC采样;点击对应的按钮进入相应的测试页面
+
+![2-Menu](images/2-Menu.png)
+
+### 2.1 测试RS485通信
+
+![2.1_RS485_main](images/2.1_RS485_main.png)
+
+RS485通信的页面如上所示,可以根据需要选择不同的波特率、数据位、停止位、校验位和流控制,由于在硬件中已经固定了/dev/ttyS9为RS485通信的串口,因此在串口号的选择中只有/dev/ttyS9。
+
+1. 打开串口
+
+   选择完串口的设置后,打开串口,若是由于权限不足则会弹出”添加权限“的提示。
+
+   ```
+   chmod 666 /dev/ttyS9
+   ```
+
+   ![2.1_RS485_open_failed](images/2.1_RS485_open_failed.png)
+
+   若是串口打开成功,则会以绿色字体显示”/dev/ttyS9 OPEN +串口设置“(其中校验位和流控制为None时,表示为0),如下所示。
+
+   ![2.1_RS485_open_sucess](images/2.1_RS485_open_sucess.png)
+
+2. 发送数据
+
+   在发送数据之前,需先将串口状态转换成”发送模式“,然后在发送框中输入数据,点击”发送“即完成发送数据过程。
+
+   ![2.1_RS485_send](images/2.1_RS485_send.png)
+
+3. 接收数据
+
+   在接收数据之前,需先将串口状态转换成”接收模式“,在发送端发送数据,然后在APP中点击”接收“按钮,就能接收到发送端发送的数据。**一次发送一次接收**。RS485是半双工通信,因此,当要发送或是接收数据时,要先改变串口的状态。
+
+   ![2.1_RS485_recv](images/2.1_RS485_recv.png)
+
+### 2.2 测试LED灯
+
+当按下对应的按钮后,相应的灯发生亮灭的变化,其变化同样也会显示在界面中。
+
+例如,红灯亮起时,其上的图标也变成红色,而关闭红灯时,其上的图标变成灰色。同理,黄灯和绿灯也会发生类似的变化。
+
+![2.2_turn_off](images/2.2_turn_off.png)
+
+红灯亮
+
+![2.2_red_turn_on](images/2.2_red_turn_on.png)
+
+### 2.3 测试CAN通信
+
+![2.3_CAN_main](images/2.3_CAN_main.png)
+
+CAN通信的页面如上所示,可根据需要选择不同的can,设置发送数据帧的ID、DLC、Data。
+
+注:在进行CAN通信前,还需进行以下设置(将can1替换成can0即可操作can0)
+
+```
+ip link set can1 down //关闭 can 网络
+ip link set can1 up type can bitrate 800000 //设置 can1 的波特率为 800kbps,can 网络波特率最大值为 1mbps
+ip link set can1 up type can //打开 can 网络
+```
+
+1. 发送数据
+
+   在文本框中输入ID、DLC、Data后,点击”发送“按钮后,即可发送数据,在”发送区“会显示已发送的数据。
+
+   ![2.3_CAN_send](images/2.3_CAN_send.png)
+
+2. 接收数据
+
+   点击”接收“按钮后,接收到的数据都会显示在”接收区“,和RS485不同,这里是”一直发送一次接收“。
+
+   ![2.3_CAN_recv](images/2.3_CAN_recv.png)
+
+### 2.4 测试蜂鸣器
+
+这里使用的蜂鸣器是无源蜂鸣器,用于测试pwm功能。通过设置周期和占空比可以让蜂鸣器发声。
+
+若是由于权限问题无法打开PWM,则会弹出”添加export权限“的提示
+
+```
+chmod 777 /sys/class/pwm/pwmchip2/*
+```
+
+![2.4_add_export_permission](images/2.4_add_export_permission.png)
+
+继续运行出现”添加pwm0权限”的提示
+
+```
+chmod 777 /sys/class/pwm/pwmchip2/pwm0/*
+```
+
+![2.4_add_pwm0_permission](images/2.4_add_pwm0_permission.png)
+
+如下所示,设置周期为1000000,周期50000,点击”播放“,成功运行出现弹窗提醒
+
+![2.4_PWM_play](images/2.4_PWM_play.png)
+
+暂停播放
+
+![2.4_PWM_stop](images/2.4_PWM_stop.png)
+
+
+
+### 2.5 测试ADC采样
+
+ADC的串口设置和RS485类似,只不过ADC通信中所使用的是十六进制数据。
+
+串口设置:波特率(115200),数据位(8),停止位(1),校验位(None),流控制(None)
+
+![2.5_open_ADC](images/2.5_open_ADC.png)
+
+打开串口后,在操作设置中选择电流或电压,选择要读取数据的通道。
+
+例如,读取第0通路的电流
+
+![2.5_get_current_channel0](images/2.5_get_current_channel0.png)
+
+读取第0通道的电压
+
+![2.5_get_voltage_channel0](images/2.5_get_voltage_channel0.png)
+
+其他通路的操作和上面类似
+
+# 二、各模块接口函数说明
+
+每个模块的功能由四个文件共同组成:
+
+1. xxxActivity.java
+
+   UI界面的功能实现。位于:\app\src\main\java\com\example\serial\xxxActivity.java
+
+2. xxxControl.java
+
+   API函数声明。位于:\app\src\main\java\com\example\serial\xxxControl.java
+
+3. xxx_control.cpp
+
+   API函数实现。位于:\app\src\main\cpp\xxx_control.cpp
+
+4. activity_xxx.xml
+
+   UI界面设计。位于:\app\src\main\res\layout\activity_xxx.xml
+
+## 1. RS485
+
+### 1.1 RS485Activity.java
+
+\app\src\main\java\com\example\serial\RS485Activity.java
+
+实现RS485通信界面中各个按钮的跳转,数据的获取。
+
+### 1.2 RS485Control.java
+
+\app\src\main\java\com\example\serial\RS485Control.java
+
+1. 打开串口并设置串口的波特率、数据位、校验位、停止位、流控制。
+
+   ```java
+   public static native int openSerialPort(String path, long baudRate, int dataBits, int parity, int stopBits, int flowControl, int maxLen);
+   ```
+
+   path: 串口地址(/dev/ttyS9),baudRate:串口的波特率,dataBits:数据位,parity:校验位,stopBits:停止位,flowControl:流控制(通常设置为0,表示None)。**成功返回0,失败返回负数, 打开串口的权限不足返回1**。
+
+2. 关闭串口
+
+   ```java
+   public static native int closeSerialPort();
+   ```
+
+   成功返回0,失败返回-1。
+
+3. 发送数据
+
+   ```java
+   public static native int sendToPort(String msg, int len);
+   ```
+
+   msg:发送的数据,String类型;len:发送数据的长度。成功返回>0,失败返回<0。
+
+4. 接收数据
+
+   ```java
+   public static native String recvFromPort(int len, int timeout);
+   ```
+
+   len:表示接收数据的长度;timeout:超时时间,单位为ms。**成功返回接收到的数据,失败返回NULL**。
+
+5. 修改串口状态
+
+   ```java
+   public static native int changeState(int state);
+   ```
+
+   RS485是半双工通信,发送和接收取决于gpiochip4 26引脚的高低电平,设置为低电平发送,高电平接收。成功返回0,失败返回-1.
+
+### 1.3 rs485_control.cpp
+
+\app\src\main\cpp\rs485_control.cpp。此文件包含RS485Control.java中函数的实现。
+
+1. 串口结构体:
+
+   ```C 
+   typedef struct comport_s
+   {
+       char            devname[12];
+       unsigned int    databit, parity, stopbit, flowctrl;
+       long            baudrate;
+   
+       int             fd;
+       int             frag_size;
+   }comport_t;
+   ```
+
+2. 获取波特率
+
+   ```C
+   static speed_t getBaudRate(int baudRate);
+   ```
+
+   将int类型的波特率转换成speed_t类型。
+
+   包含:0、50、75、110、134、150、200、300、600、1200、1800、2400、4800、9600、19200、38400、57600、115200、230400、460800、500000、576000、921600、1000000、1152000、1500000、2000000、2500000、3000000、3500000、4000000;若是baudRate不在这个范围内,则返回-1。
+
+(有关RS485的UI设计位于\app\src\main\res\layout\activity_rs485.xml)
+
+## 2. LED
+
+### 2.1 LedActivity.java
+
+实现按钮的功能
+
+### 2.2 LedControl.java
+
+```Java
+ public static native int ledCtrl(int which, int status);
+```
+
+which:表示要操作的灯的位置,取值为0,1,2;status:表示灯的状态,0表示开灯,1表示关灯。(低电平点亮,高电平关闭)。成功返回0,失败返回一个小于0的负数。
+
+### 2.3 led_control.cpp
+
+```C
+enum
+{
+    LED_R=0,
+    LED_Y,
+    LED_G,
+    LED_MAX,
+};
+
+typedef struct led_gpio_s
+{
+    int                           idx;
+    int                           gpio;
+    const char                   *desc;
+    struct gpiod_line            *line;
+}led_gpio_t;
+```
+
+定义结构体,gpio表示引脚编号,如红灯对应的是gpiochip0 18,那么gpio=18;desc:表示对该引脚的描述,可以表示为”red“;
+
+```C
+led_gpio_t leds[LED_MAX] =
+        {
+                {LED_R, 18, "red", NULL},
+                {LED_Y, 22, "yellow", NULL},
+                {LED_G, 20, "green", NULL},
+        };
+```
+
+预先定义数组用来存放每个灯所对应的信息。
+
+## 3. CAN
+
+### 3.1 CanActivity.java
+
+UI界面的功能实现
+
+### 3.2 CanControl.java
+
+1. 发送数据
+
+   ```java
+   public static native int sendMessage(String id, String dlc, String data, String ifname);
+   ```
+
+   待发送的CAN帧由id,dlc,data三部分组成,ifname表示can设备的名称(can0或can1)。成功返回0,失败返回小于0的负数。
+
+2. 接收数据
+
+   ```java
+   public static native String receiveMessage(String ifname);
+   ```
+
+​		ifname表示can设备的名称(can0 或can1).成功返回接收到的数据,失败返回NULL。返回的数据格式为”ID=xx DLC=xx Data=xx xx xx xx“。
+
+### 3.3 can_control.cpp
+
+CanControl.java中的函数实现
+
+## 4. PWM-蜂鸣器
+
+### 4.1 BuzzerActivity.java
+
+UI界面的功能实现
+
+### 4.2 BuzzerControl.java
+
+1. 打开PWM
+
+   ```java
+   public native static int pwmOpen(String id);
+   ```
+
+   打开需要操作的pwm设备,例如需要操作的pwm为: /sys/class/pwm/pwmchip2,因此id=”2“,需要操作的是/sys/class/pwm/pwmchip2/pwm0,会先判断pwm0是否存在,不存在就会导入。成功返回0,失败返回小于0的负数,打开设备的权限不足返回1.
+
+2. 配置PWM
+
+   ```java
+   public native static int pwmConfig(String attr, String val);
+   ```
+
+​		以/sys/class/pwm/pwmchip2为例,通过配置/sys/class/pwm/pwmchip2/pwm0的period和duty_cycle可以让该PWM输出不同的方波。attr表示需要配置的文件名(period或duty_cycle),val表示写入该文件的值。打开设备的权限不足返回1,配置的值无效返回2.
+
+### 4.3 buzzer_control.cpp
+
+BuzzerControl.java的函数实现
+
+## 5. ADC采样
+
+### 5.1 AdcActivity.java
+
+UI界面的功能实现
+
+### 5.2 AdcControl.java
+
+1. 打开串口
+
+   ```Java
+   public static native int openComport(String path, long baudRate, int dataBits, int parity, int stopBits, int flowControl);
+   ```
+
+   path: 串口(/dev/ttyS6); baudRate: 波特率(115200);dataBits:数据位(8);parity:奇偶校验(0表示None,1表示奇校验,2表示偶校验);stopBits:停止位(1);flowControl:流控制(0表示无,1表示硬件流,2表示软件流)。成功返回0,失败返回小于0的负数,当返回1时表示打开串口的权限不够。
+
+2. 关闭串口
+
+   ```Java
+   public static native int closeComport();
+   ```
+
+   成功返回0,失败返回小于0的负数。
+
+3. 发送数据
+
+   ```java
+   public static native int sendToPort(String operate, String channel);
+   ```
+
+   向串口发送数据,operate:操作电流或电压;channel:欲操作的通道。
+
+   下图是ADC串口协议,通过添加类型和通道号即可形成完整的读指令报文。
+
+   ![5.3_ADC_protocol](images/5.3_ADC_protocol.png)
+
+4. 接收数据
+
+   ```Java
+   public static native String recvFromPort(int len, int timeout);
+   ```
+
+   从串口读取数据并返回。len:表示读取数据的最大长度;timeout:超时时间(单位:ms)。成功返回读取到的数据,失败返回NULL。
+
+   根据接收到的数据即可计算其所对应的电流或电压。
+
+   设接收的数据为:AA 55 01 00 95 01 BB 71 //01 95 -> 405 单位0.01mA,即4.05mA,其中AA 55为报文头,01表示电流,00表示通道0,95 01表示通道0的电流值,BB 71表示CRC校验码。由于是低字节先发送,因此在计算电流值时,实际的顺序是 01 95 => 电流 = 0\*16^3 + 1\*16^2 + 9\*16^1 + 5\*16^0 = 405, 单位是0.01mA,最后得到电流值为4.05mA。
+
+### 5.3 adc_control.cpp
+
+```cpp
+typedef struct comport_s
+{
+    char            devname[12];
+    unsigned int    databit, parity, stopbit, flowctrl;
+    long            baudrate;
+
+    int             fd;
+    int             frag_size;
+}comport_t;
+```
+
+串口配置结构体。
+
+```cpp
+static speed_t getBaudRate(int baudRate)
+```
+
+将int类型的波特率转换成可以识别的波特率.
+
+```cpp
+unsigned short crc_modbus(unsigned char *ptr, int len)
+```
+
+根据十六进制值计算CRC16校验码。ptr:需要计算的十六进制字符数组;len:表示需要计算的字符长度。以读指令为例,设`unsigned char read[6] = {0xAA, 0x55, 0x01, 0x00}`,那么它的CRC校验码为`uint16_t crc = crc_modbus(read, 4)`, 完整的读指令为`read[4] = crc & 0xFF; read[5] = (crc >> 8) & 0xFF`.
+
+```C
+void calculate(char *result, unsigned char *data, int len)
+```
+
+计算ADC返回结果的数值,result用于存放返回的结果,格式为"电流/电压-通道X=....";data表示ADC串口返回的十六进制结果;len表示data的数据长度。
+
+
+
+`openComport`, `closeComport`, `sendToPort`, `recvFromPort`的函数实现。
+
+
+
+# 三、项目配置
+
+![3-gradle](images/3-gradle.png)
+
+![3-sdk](images/3-sdk.png)
+
+![3-minSDK](images/3-minSDK.png)
+
+ndk:`25.1.8937393`
+
+CMake:`3.22.1`, `3.18.1`
+
+外部配置:`libgpiod`库。
+
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2-Menu.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2-Menu.png"
new file mode 100644
index 0000000..110c4dc
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2-Menu.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_main.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_main.png"
new file mode 100644
index 0000000..cd5d598
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_main.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_failed.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_failed.png"
new file mode 100644
index 0000000..cfda554
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_failed.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_sucess.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_sucess.png"
new file mode 100644
index 0000000..32decd9
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_open_sucess.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_recv.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_recv.png"
new file mode 100644
index 0000000..51c6933
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_recv.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_send.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_send.png"
new file mode 100644
index 0000000..a42559e
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.1_RS485_send.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_red_turn_on.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_red_turn_on.png"
new file mode 100644
index 0000000..24f79f7
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_red_turn_on.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_turn_off.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_turn_off.png"
new file mode 100644
index 0000000..8dc9b8b
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.2_turn_off.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_main.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_main.png"
new file mode 100644
index 0000000..aefc198
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_main.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_recv.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_recv.png"
new file mode 100644
index 0000000..0607faf
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_recv.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_send.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_send.png"
new file mode 100644
index 0000000..d32d303
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.3_CAN_send.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_play.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_play.png"
new file mode 100644
index 0000000..5635ea9
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_play.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_stop.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_stop.png"
new file mode 100644
index 0000000..8b5f24f
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_PWM_stop.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_export_permission.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_export_permission.png"
new file mode 100644
index 0000000..ee31e69
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_export_permission.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_pwm0_permission.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_pwm0_permission.png"
new file mode 100644
index 0000000..c3b6503
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.4_add_pwm0_permission.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_current_channel0.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_current_channel0.png"
new file mode 100644
index 0000000..0e2a52a
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_current_channel0.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_voltage_channel0.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_voltage_channel0.png"
new file mode 100644
index 0000000..8e39075
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_get_voltage_channel0.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_open_ADC.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_open_ADC.png"
new file mode 100644
index 0000000..9b0f5ae
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/2.5_open_ADC.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-gradle.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-gradle.png"
new file mode 100644
index 0000000..9ab03e8
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-gradle.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-minSDK.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-minSDK.png"
new file mode 100644
index 0000000..942f70c
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-minSDK.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-sdk.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-sdk.png"
new file mode 100644
index 0000000..171345c
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/3-sdk.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/5.3_ADC_protocol.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/5.3_ADC_protocol.png"
new file mode 100644
index 0000000..dfe4214
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/5.3_ADC_protocol.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method1.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method1.png"
new file mode 100644
index 0000000..f258f12
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method1.png"
Binary files differ
diff --git "a/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method2.png" "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method2.png"
new file mode 100644
index 0000000..23cc759
--- /dev/null
+++ "b/documents/docs/RK3568_Android\346\265\213\350\257\225\346\226\207\346\241\243/images/install_apk_method2.png"
Binary files differ
diff --git "a/documents/docs/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/documents/docs/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 ef99c94..dab0bba 100644
--- "a/documents/docs/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/documents/docs/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"
@@ -1738,6 +1738,6 @@
 
 运行comport程序让rk3568输出读取电压的指令给mcu
 
-同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017mV~5.882mV
+同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017V~5.882V
 
 ![image-20240530143956558](./images/image-20240530143956558.png)
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
new file mode 100644
index 0000000..617f815
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
@@ -0,0 +1,414 @@
+# 1. 源码编译烧录
+
+
+
+## 1.1 安装交叉编译环境
+
+### 安装驱动
+
+1.下载RK驱动助手 DriverAssitant([下载地址](https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-prepare))
+
+2.打开RK驱动助手 DriverAssitant 安装 USB 驱动程序,此过程无需连接,安装完成后重启电脑。
+
+(注意:win10系统下,是能识别到USB驱动的,但win7上好像识别不到!!!)
+
+![安装驱动](./images/%E5%AE%89%E8%A3%85%E9%A9%B1%E5%8A%A8.PNG)
+
+## 1.2 下载获取SDK源码
+
+### 1.2.1 安装依赖环境
+
+```
+sudo apt update
+
+sudo apt-get install -y git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync
+```
+
+### 1.2.2 获取最新的 SDK 
+
+```
+git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git
+```
+
+SDK目录结构
+
+```
+├── build.sh -> project/build.sh ---- SDK编译脚本
+├── media --------------------------- 多媒体编解码、ISP等算法相关(可独立SDK编译)
+├── sysdrv -------------------------- U-Boot、kernel、rootfs目录(可独立SDK编译)
+├── project ------------------------- 参考应用、编译配置以及脚本目录
+├── output -------------------------- SDK编译后镜像文件存放目录
+└── tools --------------------------- 烧录镜像打包工具以及烧录工具
+```
+
+## 1.3 Linux SDK 编译
+
+Buildroot 镜像既支持TF卡启动又支持 SPI NAND FLASH 启动
+
+编译 Buildroot 镜像,使其能够支持 TF 卡启动,请修改对应的板型 BoardConfig-EMMC-Ubuntu-xxx.mk文件中 LF_TARGET_ROOTFS 改为 buildroot,如:
+
+```
+export LF_TARGET_ROOTFS=buildroot
+```
+
+这里我们使用SPI NAND FLASH启动
+
+### 1.3.1 安装交叉编译工具链
+
+```
+cd {SDK_PATH}/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
+source env_install_toolchain.sh
+```
+
+### 1.3.2 全部编译镜像
+
+```
+cd luckfox-pico
+
+#编译busybox/buildroot
+./build.sh lunch
+```
+
+会显示如下:
+
+```
+BoardConfig-*.mk naming rules:
+BoardConfig-"启动介质"-"系统版本"-"硬件版本"-"应用场景".mk
+BoardConfig-"boot medium"-"system version"-"hardware version"-"applicaton".mk
+
+----------------------------------------------------------------
+0. BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1103_Luckfox_Pico-IPC.mk
+                             boot medium(启动介质): EMMC
+                          system version(系统版本): Buildroot
+                        hardware version(硬件版本): RV1103_Luckfox_Pico
+                              applicaton(应用场景): IPC
+----------------------------------------------------------------
+
+----------------------------------------------------------------
+1. BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1103_Luckfox_Pico_Mini_A-IPC.mk
+                             boot medium(启动介质): EMMC
+                          system version(系统版本): Buildroot
+                        hardware version(硬件版本): RV1103_Luckfox_Pico_Mini_A
+                              applicaton(应用场景): IPC
+----------------------------------------------------------------
+
+----------------------------------------------------------------
+。。。。。。
+----------------------------------------------------------------
+8. BoardConfig_IPC/BoardConfig-SPI_NAND-Buildroot-RV1106_Luckfox_Pico_Pro_Max-IP                                                                                                        C.mk
+                             boot medium(启动介质): SPI_NAND
+                          system version(系统版本): Buildroot
+                        hardware version(硬件版本): RV1106_Luckfox_Pico_Pro_Max
+                              applicaton(应用场景): IPC
+----------------------------------------------------------------
+
+Which would you like? [0]:
+
+```
+
+这里我们输入8,选择BoardConfig_IPC/BoardConfig-SPI_NAND-Buildroot-RV1106_Luckfox_Pico_Pro_Max-IP C.mk
+
+继续在当前目录下输入:
+
+```
+./build.sh
+```
+
+## 1.4 系统镜像烧录
+
+### 烧录 SPI NAND Flash
+
+1.下载和解压烧录工具([下载地址](https://files.luckfox.com/wiki/Luckfox-Pico/Software/SocToolKit.zip))。
+
+2.开发板就选择 RV1106
+
+![烧录选择](./images/%E7%83%A7%E5%BD%95%E9%80%89%E6%8B%A9.PNG)
+
+3.LuckFox Pico Mini B/Plus/Pro/Max 在 Windows下载固件库方法:
+
+① 按住 BOOT 键后连接电脑后,松开 BOOT 键,瑞芯微刷机工具就会显示 MaskRom 设备。
+② 加载固件的存放目录,重载 env 文件,勾选所有项。
+③ 点击下载。
+
+![8{K1WK56Z~B3OZLV@GYW@`M](./images/8%7BK1WK56Z~B3OZLV@GYW@%60M.png)
+
+**注意:在执行①步骤的时候,一定要先按住BOOT键不放,用type-c数据先后,再松开,才会出现Maskrom显示!!!**
+
+## 1.5 ADB登录
+
+### 1.5.1 安装ADB
+
+1.下载 ADB 安装包,解压即可使用([戳我下载](https://files.luckfox.com/wiki/Luckfox-Pico/Software/adb_fastboot.zip))。
+
+2.右键我的电脑属性—>高级系统设置—>环境变量。
+
+![ADB1](./images/ADB1.PNG)
+
+3.系统变量—>编辑—>将adb解压路径新建进去。
+
+![ADB2](./images/ADB2.PNG)
+
+4.点击确定保存环境变量。
+
+![ADB3](./images/ADB3.PNG)
+
+### 1.5.2 ADB登录
+
+按下 Win + R 快捷键输入 CMD 打开 Windows 终端,在终端输入 ADB 命令即可查看 ADB 相关信息。
+
+![ADB4](./images/ADB4.PNG)
+
+将网线一端连路由器一端连接开发板网口
+
+![04bd9043a5a6cb0df91f9a978a0c46fc](./images/04bd9043a5a6cb0df91f9a978a0c46fc.jpg)
+
+输入:`adb shell`,进入烧录好的系统
+![ADB5](./images/ADB5.PNG)
+
+
+
+# 2. 摄像头应用测试
+
+Luckfox Pico Max适配的是 SC3336 3MP Camera (A) 摄像头,这款摄像头采用思特威SC3336感光芯片,支持3百万像素。具备高灵敏度,高信噪比低照度的性能,能够呈现更加细腻、色彩更加逼真的夜视全彩成像,更好地适应环境光线变化。当前推流仅适用于 buildroot系统。
+
+## 2.1 查看摄像头
+
+1.首先连接摄像头,请确保连接正常后开机。系统将自动识别摄像头,注意接线不要接反了。
+
+**LuckFox PicoMax 开发板连接摄像头时,请确保摄像头排线的金属面朝向开发板芯片。**
+
+![摄像头连接](./images/%E6%91%84%E5%83%8F%E5%A4%B4%E8%BF%9E%E6%8E%A5.PNG)
+
+2.查看摄像头,若成功识别摄像头会生成 rkipc.ini 文件。
+
+![QQ图片20240516130613](./images/QQ%E5%9B%BE%E7%89%8720240516130613.png)
+
+3.获取设备的 IP 地址
+
+![摄像头ip](./images/%E6%91%84%E5%83%8F%E5%A4%B4ip.PNG)
+
+Luckfox Pico Max 默认 IP 为 172.32.0.93,网口ip为10.230.149.130
+
+## 2.2 配置RNDIS虚拟网口
+
+1.Windows 安全中心—>防火墙和网络保护—>关闭防火墙。
+
+2.配置 RNDIS 网卡的静态IP,打开设置—>高级网络设置—>更改适配器选项。
+
+3.网卡一般是类似这样的名字Remote NDIS based nternet Sharing Device,右键属性。
+
+![QQ图片20240516131612](./images/QQ%E5%9B%BE%E7%89%8720240516131612.png)
+
+4.双击 internet 协议版本(TCP/IPv4),IPV4地址设置为 172.32.0.100,避免和设备冲突。
+
+![image-20240516131851782](./images/image-20240516131851782.png)
+
+![image-20240516131940611](./images/image-20240516131940611.png)
+
+## 2.3 使用VLC media player 推流
+
+1. 下载并安装 VLC media player 。
+
+2. 打开 VLC media player 软件,在媒体—>打开网络串流
+
+   ![image-20240516132341234](./images/image-20240516132341234.png)
+
+3. 输入默认的 IP 地址:rtsp://172.32.0.93/live/0
+
+4. 也可以使用 eth0 的 IP地址串流: rtsp://10.230.149.130/live/0
+
+5. 点击播放,即可看到摄像头画面,可以旋转镜头来调焦
+
+   ![image-20240516133115258](./images/image-20240516133115258.png)
+
+## 2.4 V4L2-utils 工具包安装
+
+V4L2-utils 是一组用于测试和配置 V4L2 设备的实用工具,它们通过命令行界面提供了对 V4L2 接口的访问。Luckfox SDK 的buildroot包中已经包含了 v4l2-utils软件包中的工具,但需要手动开启它,进入到/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6下输入`make menuconfig`,进入buildroot图形化界面菜单选项(**注意:必须先将下载好的源码编译一次才会有/buildroot-2023.02.6**)
+
+在 buildroot 目录添加 V4L2,使用关键字"libv4l2"进行搜索。
+
+![image-20240516134210481](./images/image-20240516134210481.png)
+
+根据路径使能V4L2-utils 工具包
+
+![image-20240516134357670](./images/image-20240516134357670.png)
+
+**注意libv4l和v4l-utils tools都要选上选上后,一定要保存再退出,继续输入**
+
+```
+make ARCH=arm savedefconfig
+cp .config ./configs/luckfox_pico_defconfig
+```
+
+然后重新编译,编译完成后会在/luckfox-pico/output下生成编译产物
+
+```
+output/
+├── image
+│   ├── download.bin ---------------- 烧录工具升级通讯的设备端程序,只会下载到板子内存
+│   ├── env.img --------------------- 包含分区表和启动参数
+│   ├── uboot.img ------------------- uboot镜像
+│   ├── idblock.img ----------------- loader镜像
+│   ├── boot.img -------------------- kernel镜像
+│   ├── rootfs.img ------------------ kernel镜像
+│   └── userdata.img ---------------- userdata镜像
+└── out
+    ├── app_out --------------------- 参考应用编译后的文件
+    ├── media_out ------------------- media相关编译后的文件
+    ├── rootfs_xxx ------------------ 文件系统打包目录
+    ├── S20linkmount ---------------- 分区挂载脚本
+    ├── sysdrv_out ------------------ sysdrv编译后的文件
+    └── userdata -------------------- userdata
+```
+
+将系统镜像烧录到开发板
+
+## 2.5 v4l2-ctl使用
+
+1.列出摄像头的设备
+
+```
+# v4l2-ctl --list-devices
+rkisp-statistics (platform: rkisp):
+        /dev/video19
+        /dev/video20
+
+rkcif-mipi-lvds (platform:rkcif):
+        /dev/media0
+
+rkcif (platform:rkcif-mipi-lvds):
+        /dev/video0
+        /dev/video1
+        /dev/video2
+        /dev/video3
+        /dev/video4
+        /dev/video5
+        /dev/video6
+        /dev/video7
+        /dev/video8
+        /dev/video9
+        /dev/video10
+
+rkisp_mainpath (platform:rkisp-vir0):
+        /dev/video11
+        /dev/video12
+        /dev/video13
+        /dev/video14
+        /dev/video15
+        /dev/video16
+        /dev/video17
+        /dev/video18
+        /dev/media1
+
+```
+
+- `rkisp_mainpath`:CSI摄像头
+
+2.列出摄像头支持的格式
+
+```
+# v4l2-ctl --device=/dev/video11 --list-formats-ext
+ioctl: VIDIOC_ENUM_FMT
+        Type: Video Capture Multiplanar
+
+        [0]: 'UYVY' (UYVY 4:2:2)
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [1]: 'NV16' (Y/CbCr 4:2:2)
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [2]: 'NV61' (Y/CrCb 4:2:2)
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [3]: 'NV21' (Y/CrCb 4:2:0)
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [4]: 'NV12' (Y/CbCr 4:2:0)
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [5]: 'NM21' (Y/CrCb 4:2:0 (N-C))
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+        [6]: 'NM12' (Y/CbCr 4:2:0 (N-C))
+                Size: Stepwise 32x16 - 2304x1296 with step 8/8
+```
+
+3.显示摄像头参数
+
+```
+# v4l2-ctl --device=/dev/video11 --list-ctrls
+
+Image Processing Controls
+
+                     pixel_rate 0x009f0902 (int64)  : min=0 max=1000000000 step=1 default=1000000000 value=101250000 flags=read-only, volatile
+```
+
+4.录制视频
+
+```
+#CSI 摄像头(需要先关掉自带的RKIPC)
+killall rkipc
+v4l2-ctl --device=/dev/video11 --set-fmt-video=width=640,height=480,pixelformat=NV12 --stream-mmap --stream-to=video50.yuv --stream-count=60
+```
+
+- `-device:`摄像头对应设备文件
+- `--set-fmt-video:`指定了宽高及 pxielformat (标识像素格式)
+- `--stream-mmap:`指定 buffer的类型为 mmap,即由内核分配的物理连续的或经过 iommu 映射的buffer
+- `--stream-to:`指定帧数据保存的文件路径
+- `--stream-count:`指定抓取的帧数,不包括--stream-skip丢弃的数量
+
+5.如果出现“The pixelformat 'UYVY' is invalid” 字样说明摄像头不支持此格式,使用第二步的方法查看摄像头支持的格式
+
+6.看到<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps 说明成功录制视频,可以成功生成video50.yuv视频文件
+
+```
+# killall rkipc
+# v4l2-ctl --device=/dev/video11 --set-fmt-video=width=640,height=480,pixelforma
+t=NV12 --stream-mmap --stream-to=video50.yuv --stream-count=60
+<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
+<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
+<<<<<<<<
+# ls
+bin            lib32          oem            run            usr
+data           lib64          opt            sbin           var
+dev            linuxrc        proc           sys            video50.yuv
+etc            media          rockchip_test  tmp
+lib            mnt            root           userdata
+```
+
+## 2.6 显示视频
+
+上面抓取的图片或者视频可以拷贝到 Ubuntu 中借助借助工具ffplay查看。`ffplay` 是 FFmpeg 工具包中的一个命令行工具,用于播放音频和视频文件。它基于 FFmpeg 库,支持广泛的音视频格式,能够在命令行中实时播放或预览多媒体内容。
+
+首先我们要让虚拟机和开发板在同一网段下
+
+![image-20240516141419430](./images/image-20240516141419430.png)
+
+可以看到笔者的虚拟机ip地址为192.168.10.100,因此我们开发板IP地址
+
+![image-20240516141747292](./images/image-20240516141747292.png)
+
+进入root目录,创建一个文件夹与虚拟机的目录进行nfs挂载,将生成的video50.yuv文件拷贝到虚拟机的挂载目录中
+
+![QQ图片20240516142351](./images/QQ%E5%9B%BE%E7%89%8720240516142351.png)
+
+1.播放视频
+
+```
+ffplay -video_size 640x480 -pixel_format nv12 -framerate 10 -i video50.yuv
+```
+
+- `-video_size size `设置帧尺寸 设置帧尺寸大小
+- `-pixel_format format` 设置像素格式
+- `-framerate 10`: 设置视频的帧率为 10 帧/秒
+
+![image-20240516142817295](./images/image-20240516142817295.png)
+
+2.转换视频格式
+
+```
+ffmpeg -f rawvideo -pixel_format yuyv422 -video_size 640x480 -framerate 30 -i video.yuv -c:v libx264 output.mp4
+```
+
+![image-20240516143012950](./images/image-20240516143012950.png)
+
+生成MP4格式,使用mpv命令进行播放
+
+```
+mpv output.mp4
+```
+
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/04bd9043a5a6cb0df91f9a978a0c46fc.jpg" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/04bd9043a5a6cb0df91f9a978a0c46fc.jpg"
new file mode 100644
index 0000000..91b7d39
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/04bd9043a5a6cb0df91f9a978a0c46fc.jpg"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8\173K1WK56Z~B3OZLV@GYW@\140M.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8\173K1WK56Z~B3OZLV@GYW@\140M.png"
new file mode 100644
index 0000000..be4a249
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/8\173K1WK56Z~B3OZLV@GYW@\140M.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB1.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB1.PNG"
new file mode 100644
index 0000000..086ffbc
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB1.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB2.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB2.PNG"
new file mode 100644
index 0000000..31e4ed8
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB2.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB3.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB3.PNG"
new file mode 100644
index 0000000..b85327a
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB3.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB4.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB4.PNG"
new file mode 100644
index 0000000..4060add
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB4.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB5.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB5.PNG"
new file mode 100644
index 0000000..7c20845
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/ADB5.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516130613.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516130613.png"
new file mode 100644
index 0000000..c74dd67
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516130613.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516131612.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516131612.png"
new file mode 100644
index 0000000..3498248
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516131612.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516133103.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516133103.png"
new file mode 100644
index 0000000..6943ac8
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516133103.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516141405.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516141405.png"
new file mode 100644
index 0000000..8637bad
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516141405.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516142351.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516142351.png"
new file mode 100644
index 0000000..43b8784
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516142351.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516143007.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516143007.png"
new file mode 100644
index 0000000..06f9251
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/QQ\345\233\276\347\211\20720240516143007.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0501\051.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0501\051.PNG"
new file mode 100644
index 0000000..e531899
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0501\051.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0502\051.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0502\051.PNG"
new file mode 100644
index 0000000..4031303
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/RNDIS\0502\051.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils1.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils1.PNG"
new file mode 100644
index 0000000..f109738
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils1.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils2.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils2.PNG"
new file mode 100644
index 0000000..9f276b9
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/V4L2-utils2.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/VLC\0501\051.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/VLC\0501\051.PNG"
new file mode 100644
index 0000000..8fb04a7
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/VLC\0501\051.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131851782.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131851782.png"
new file mode 100644
index 0000000..f635414
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131851782.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131940611.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131940611.png"
new file mode 100644
index 0000000..d441bcb
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516131940611.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516132341234.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516132341234.png"
new file mode 100644
index 0000000..d27bef2
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516132341234.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516133115258.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516133115258.png"
new file mode 100644
index 0000000..2b2a3b5
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516133115258.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134210481.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134210481.png"
new file mode 100644
index 0000000..d3944a8
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134210481.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134357670.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134357670.png"
new file mode 100644
index 0000000..efafb96
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516134357670.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141419430.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141419430.png"
new file mode 100644
index 0000000..00f7804
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141419430.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141747292.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141747292.png"
new file mode 100644
index 0000000..0183cc8
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516141747292.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516142817295.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516142817295.png"
new file mode 100644
index 0000000..ebfb08e
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516142817295.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516143012950.png" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516143012950.png"
new file mode 100644
index 0000000..ef38a21
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/image-20240516143012950.png"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\210\206\346\224\257\351\200\211\346\213\251.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\210\206\346\224\257\351\200\211\346\213\251.PNG"
new file mode 100644
index 0000000..a58a9e1
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\210\206\346\224\257\351\200\211\346\213\251.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\256\211\350\243\205\351\251\261\345\212\250.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\256\211\350\243\205\351\251\261\345\212\250.PNG"
new file mode 100644
index 0000000..2716119
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\256\211\350\243\205\351\251\261\345\212\250.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\274\200\345\217\221\346\235\277ip.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\274\200\345\217\221\346\235\277ip.PNG"
new file mode 100644
index 0000000..ab17751
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\345\274\200\345\217\221\346\235\277ip.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264ip.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264ip.PNG"
new file mode 100644
index 0000000..c2b0ae2
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264ip.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264\350\277\236\346\216\245.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264\350\277\236\346\216\245.PNG"
new file mode 100644
index 0000000..4a00826
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\346\221\204\345\203\217\345\244\264\350\277\236\346\216\245.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\347\203\247\345\275\225\351\200\211\346\213\251.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\347\203\247\345\275\225\351\200\211\346\213\251.PNG"
new file mode 100644
index 0000000..f22de31
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\347\203\247\345\275\225\351\200\211\346\213\251.PNG"
Binary files differ
diff --git "a/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\350\247\206\351\242\221\346\222\255\346\224\276.PNG" "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\350\247\206\351\242\221\346\222\255\346\224\276.PNG"
new file mode 100644
index 0000000..2d8e8c1
--- /dev/null
+++ "b/documents/docs/RV1106_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/images/\350\247\206\351\242\221\346\222\255\346\224\276.PNG"
Binary files differ

--
Gitblit v1.9.1