Files
NaviGlassClient/docs/AvaotaF1.md
2025-12-31 15:13:39 +08:00

1366 lines
92 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 百问网 AvaotaF1 核心板
百问网的 **AvaotaF1 V821 开发套件** 采用 Pico 尺寸设计,紧凑且功能强大,支持标准 2.54 排针接口,方便与面包板连接,进行 DIY 实验。其超薄双面设计令其尺寸仅与 1 元硬币相当,集成了 V821 所有核心功能,极大地提升了开发灵活性与可扩展性。
这款开发套件具备多种强大特性:
- **板载 MIPI CSI 摄像头接口**,支持高清图像采集。
- **MIC 拾音功能**,便于音频采集。
- **SPI NOR FLASH32MB**,提供充足的存储空间。
- **WiFi 陶瓷天线**,支持无线连接,拓展网络功能。
- **TF 卡卡座**,方便数据存储和扩展。
- **烧录按键**,简化固件烧录操作。
- 丰富的 **GPIO 资源**,可灵活配置和控制外部硬件设备。
- 硬件**没有使用PMC**功能
该开发套件支持最新的 **Tina Linux 5.0 系统**,可直接在 V821 AvaotaF1 上进行开发。除此之外,还支持多种配件:
- **MIPI 摄像头 GC2083**,提供高质量图像采集。
- **SPI 屏幕**:包括 3.5 寸 320x480 分辨率显示屏和 1.54 寸 240x240 分辨率显示屏,适应多样的显示需求。
AvaotaF1 V821 开发套件集成了丰富的功能,操作简便且便于拓展,是进行嵌入式开发与实验的理想选择。
![image-20250424093755858](https://docs.aw-ol.com/assets/images/image-20250424093755858-281a5b7a60fac210009c0a40e352776e.png)
## 核心板参数
| 项目 | 参数 |
| -------- | -------------------------------------------------- |
| 主控 | 全志V821L2-WXX |
| PMU | 集成电源芯片EA3036 |
| DDR | Internal 64MB DDR2 |
| Memory | Nor Flash 32MBPY25Q256 |
| 无线网络 | SIP 2.4GHz WIFI |
| 摄像头 | 单目 1920x1080@30fps |
| 屏幕 | 3.5寸320*480SPI 屏 |
| 麦克风 | 模拟麦克风*1 |
| 按键 | FEL烧录 |
| 灯 | LED * 1 |
| Debug | 支持uart串口调试支持ADB USB调试 |
| USB | Type-C USB * 1, 同时支持供电和数据传输以及串口输出 |
| GPIO | 引出双盘排针30Pin 支持多达28个GPIO信号 |
| 板身尺寸 | 长35mm*宽22mm |
| 板层 | 6层板 |
## 核心板接口功能示意
![image-20250424100013313](https://docs.aw-ol.com/assets/images/image-20250424100013313-f549f27f1da1cf80ca34db274b4e9760.png)
## 核心板接口功能
![image-20250421132702741](https://docs.aw-ol.com/assets/images/image-20250421132702741-db92937e87cebb5f50a48b8aa4934d1b.png)
![image-20250421132722612](https://docs.aw-ol.com/assets/images/image-20250421132722612-06a5b19112b0ac7b7c7eecfeb0e9fefd.png)
| Signal Name | Description | Type |
| --------------------- | ------------------------------------------------------------ | ------- |
| FEL | Boot Process Select Jump to the Try Media Boot process when FEL is high level, or else enter into the mandatory upgrade process. | I |
| **Clock Fanout** | | |
| CLK-FANOUT0 | Internal Clock Fanout Optional Frequency: 32 kHz, 12 MHz, 16 MHz, 24 MHz, 25 MHz, 27 MHz | O |
| **RF** | | |
| FEM-CTRL0 | Front End Module Control, TX-EN | I/O |
| FEM-CTRL1 | Front End Module Control, RX-EN | I/O |
| **SD Card/SDIO/eMMC** | | |
| SDC1-CMD | SDIO Command Output/Response Input | I/O, OD |
| SDC1-CLK | SDIO Clock Output | O |
| SDC1-D0 | SDIO Data Input/ Output 0 | I/O |
| SDC1-D1 | SDIO Data Input/ Output 1 | I/O |
| SDC1-D2 | SDIO Data Input/ Output 2 | I/O |
| SDC1-D3 | SDIO Data Input/ Output 3 | I/O |
| **I2S/PCM** | | |
| I2S0-MCLK | I2S0 Master Clock | O |
| I2S0-LRCK | I2S0/PCM0 Sample Rate Clock/Sync | I/O |
| I2S0-BCLK | I2S0/PCM0 Bit Rate Clock | I/O |
| I2S0-DIN0 | I2S0/PCM0 Serial Data Input 0 | I |
| I2S0-DIN1 | I2S0/PCM0 Serial Data Input 1 | I |
| I2S0-DIN2 | I2S0/PCM0 Serial Data Input 2 | I |
| I2S0-DIN3 | I2S0/PCM0 Serial Data Input 3 | I |
| I2S0-DOUT0 | I2S0/PCM0 Serial Data Output 0 | O |
| I2S0-DOUT1 | I2S0/PCM0 Serial Data Output 1 | O |
| I2S0-DOUT2 | I2S0/PCM0 Serial Data Output 2 | O |
| I2S0-DOUT3 | I2S0/PCM0 Serial Data Output 3 | O |
| GPADC | | |
| GPADC0-0 | General Purpose ADC0 Input 0 | AI |
| GPADC0-2 | General Purpose ADC0 Input 2 | AI |
| GPADC0-3 | General Purpose ADC0 Input 3 | AI |
| **MIPI CSI** | | |
| CSI-SM-HS | CSI Horizontal SYNC | O |
| CSI-SM-VS | CSI Vertical SYNC/Frame SYNC | O |
| **Parallel CSI** | | |
| NCSI-PCLK | Parallel CSI Pixel Clock Input | I |
| NCSI-MCLK | Parallel CSI Master Clock Output | O |
| NCSI-HSYNC | Parallel CSI Horizontal Synchronous Input | I |
| NCSI-VSYNC | Parallel CSI Vertical Synchronous Input | I |
| NCSI-D0 | Parallel CSI Pixel Data 0 | I |
| NCSI-D1 | Parallel CSI Pixel Data 1 | I |
| NCSI-D2 | Parallel CSI Pixel Data 2 | I |
| NCSI-D3 | Parallel CSI Pixel Data 3 | I |
| NCSI-D4 | Parallel CSI Pixel Data 4 | I |
| NCSI-D5 | Parallel CSI Pixel Data 5 | I |
| NCSI-D6 | Parallel CSI Pixel Data 6 | I |
| NCSI-D7 | Parallel CSI Pixel Data 7 | I |
| NCSI-D8 | Parallel CSI Pixel Data 8 | I |
| NCSI-D9 | Parallel CSI Pixel Data 9 | I |
| NCSI-D10 | Parallel CSI Pixel Data 10 | I |
| NCSI-D11 | Parallel CSI Pixel Data 11 | I |
| **LCD** | | |
| LCD-CLK | LCD Clock | O |
| LCD-VSYNC | LCD Vertical Synchronization | O |
| LCD-HSYNC | LCD Horizontal Synchronization | O |
| LCD-DE | LCD Data Enable | O |
| TCON-FSYNC | Frame Synchronization Signal for TCON and Sensor | O |
| TCON-TRIG | Screen Trigger Signal | I |
| LCD-D3 | LCD Data Input/Output 3 | I/O |
| LCD-D4 | LCD Data Input/Output 4 | I/O |
| LCD-D5 | LCD Data Input/Output 5 | I/O |
| LCD-D6 | LCD Data Input/Output 6 | I/O |
| LCD-D7 | LCD Data Input/Output 7 | I/O |
| LCD-D10 | LCD Data Input/Output 10 | I/O |
| LCD-D11 | LCD Data Input/Output 11 | I/O |
| LCD-D12 | LCD Data Input/Output 12 | I/O |
| **Ethernet MAC** | | |
| RMII-TXCK | RMII Transmit Clock | I |
| RMII-RXER | RMII Receive Error | I |
| RMII-CRS-DV | RMII Carrier Sense Receive Data Valid | I |
| RMII-TXEN | RMII Transmit Enable | O |
| RMII-EPHY-25M | EMAC PHY 25 MHz Clock Output | O |
| RMII-MDC | RMII Management Data Clock | O |
| RMII-MDIO | RMII Management Data Input/ Output | I/O |
| RMII-RXD0 | RMII Receive Data 0 | I |
| RMII-RXD1 | RMII Receive Data 1 | I |
| RMII-TXD0 | RMII Transmit Data 0 | O |
| RMII-TXD1 | RMII Transmit Data 1 | O |
| **SPI&SPI DBI** | | |
| SPI1-CS0 | SPI1 Chip Select 0 (Active Low) | I/O |
| SPI1-CS1 | SPI1 Chip Select 1 (Active Low) | I/O |
| SPI1-CLK | SPI1 Clock | I/O |
| SPI1-MOSI | SPI1 Master Data Out, Slave Data In | I/O |
| SPI1-MISO | SPI1 Master Data In, Slave Data Out | I/O |
| SPI1-WP | SPI1 Write Protection (Active Low)/ Serial Data Input and Output for Quad Input or Quad Output | I/O |
| SPI1-HOLD | SPI1 Hold Signal/ Serial Data Input and Output for Quad Input or Quad Output | I/O |
| SPI2-CS0 | SPI2 Chip Select 0 (Active Low) | I/O |
| SPI2-CLK | SPI2 Clock | I/O |
| SPI2-MOSI | SPI2 Master Data Out, Slave Data In | I/O |
| SPI2-MISO | SPI2 Master Data In, Slave Data Out | I/O |
| SPI2-WP | SPI2 Write Protection (Active Low)/ Serial Data Input and Output for Quad Input or Quad Output | I/O |
| SPI2-HOLD | SPI2 Hold Signal/ Serial Data Input and Output for Quad Input or Quad Output | I/O |
| DBI-CSX | Chip Select Signal (Active Low) | I/O |
| DBI-SCLK | Serial Clock Signal | I/O |
| DBI-SDO | Data Output Signal | I/O |
| DBI-SDI | Data Input Signal The data is sampled on the rising edge and the falling edge. | I/O |
| DBI-TE | Tearing Effect Input It is used to capture the external TE signal edge. The rising and falling edge is configurable. | I/O |
| DBI-DCX | DCX pin is the select output signal of data and command. DCX = 0: register command; DCX = 1: data or parameter. | I/O |
| DBI-WRX | When DBI operates in dual data lane format, the RGB666 format 2 can use WRX to transfer data | I/O |
| **UART** | | |
| UART0-RX | UART0 Data Receiver | I |
| UART0-TX | UART0 Data Transmitter | O |
| UART1-CTS | UART1 Clear to Send | I |
| UART1-RTS | UART1 Request to Send | O |
| UART1-RX | UART1 Data Receiver | I |
| UART1-TX | UART1 Data Transmitter | O |
| UART2-CTS | UART2 Clear to Send | I |
| UART2-RTS | UART2 Request to Send | O |
| UART2-RX | UART2 Data Receiver | I |
| UART2-TX | UART2 Data Transmitter | O |
| UART3-RX | UART3 Data Receiver | I |
| UART3-TX | UART3 Data Transmitter | O |
| **PWM** | | |
| PWM0-0 | PWM0 Wave Output /Capture Wave Input 0 | I/O |
| PWM0-1 | PWM0 Wave Output /Capture Wave Input 1 | I/O |
| PWM0-2 | PWM0 Wave Output /Capture Wave Input 2 | I/O |
| PWM0-3 | PWM0 Wave Output /Capture Wave Input 3 | I/O |
| PWM0-4 | PWM0 Wave Output /Capture Wave Input 4 | I/O |
| PWM0-5 | PWM0 Wave Output /Capture Wave Input 5 | I/O |
| PWM0-6 | PWM0 Wave Output /Capture Wave Input 6 | I/O |
| PWM0-7 | PWM0 Wave Output /Capture Wave Input 7 | I/O |
| PWM0-8 | PWM0 Wave Output /Capture Wave Input 8 | I/O |
| PWM0-9 | PWM0 Wave Output /Capture Wave Input 9 | I/O |
| PWM0-10 | PWM0 Wave Output /Capture Wave Input 10 | I/O |
| PWM0-11 | PWM0 Wave Output /Capture Wave Input 11 | I/O |
| **TWI** | | |
| TWI0-SCK | TWI0 Serial Clock Signal | I/O |
| TWI0-SDA | TWI0 Serial Data Signal | I/O |
| TWI1-SCK | TWI1 Serial Clock Signal | I/O |
| TWI1-SDA | TWI1 Serial Data Signal | I/O |
| TWI2-SCK | TWI2 Serial Clock Signal | I/O |
| TWI2-SDA | TWI2 Serial Data Signal | I/O |
| **JTAG** | | |
| R-JTAG0-TMS | CPU0 JTAG Mode Select | I/O |
| R-JTAG0-TCK | CPU0 JTAG Clock Signal | I |
| R-JTAG1-TMS | CPU1 JTAG Mode Select | I/O |
| R-JTAG1-TCK | CPU1 JTAG Clock Signal | I |
| **Interrupt** | | |
| PD-EINT1 | Port D Interrupt | I |
| PD-EINT2 | Port D Interrupt | I |
| PD-EINT3 | Port D Interrupt | I |
| PD-EINT4 | Port D Interrupt | I |
| PD-EINT5 | Port D Interrupt | I |
| PD-EINT6 | Port D Interrupt | I |
| PD-EINT7 | Port D Interrupt | I |
| PD-EINT8 | Port D Interrupt | I |
| PD-EINT9 | Port D Interrupt | I |
| PD-EINT10 | Port D Interrupt | I |
| PD-EINT11 | Port D Interrupt | I |
| PD-EINT12 | Port D Interrupt | I |
| PD-EINT13 | Port D Interrupt | I |
| PD-EINT14 | Port D Interrupt | I |
| PD-EINT15 | Port D Interrupt | I |
| PD-EINT16 | Port D Interrupt | I |
| PD-EINT17 | Port D Interrupt | I |
| PD-EINT18 | Port D Interrupt | I |
| PD-EINT19 | Port D Interrupt | I |
| PD-EINT22 | Port D Interrupt | I |
| PD-EINT23 | Port D Interrupt | I |
| PL-EINT2 | Port L Interrupt | I |
| PL-EINT3 | Port L Interrupt | I |
| PL-EINT4 | Port L Interrupt | I |
| PL-EINT5 | Port L Interrupt | I |
| PL-EINT6 | Port L Interrupt | I |
| PL-EINT7 | Port L Interrupt | I |
## 核心板使用入门
### 串口调试
核心板支持接出两路调试串口,分别为 RISC-V CPU Linux 核心串口 UART0RISC-V MCU RTOS 核心串口 UART3波特率均为 115200
危险
SDK 1.2 默认波特率修改为 `1500000`,请使用波特率 `1500000`
提示
SDK 1.3 支持切换波特率,在 `lunch` 的时候可以选择 `115200` 或者 `1500000`
核心板调试串口有两种接入方式:
- 使用 USB 拆分器接入串口:仅接出常用的 CPU 核心串口 UART0
- 使用 GPIO 接入串口:支持接出 CPU 核心串口 UART0 和 MCU 核心串口 UART3
**使用 USB 拆分器接入串口**
核心板设计之时复用了 TypeC 中的 SBU 信号线用于传输串口信号,这个串口是 UART0与 PL4PL5 并联。接入方法如下:
![image-20250424091735539](https://docs.aw-ol.com/assets/images/image-20250424091735539-5205349f7060993af0ea44c34fb32b56.png)
**使用 GPIO 接入串口**
核心板串口位于 PL 口,如下图所示,需要焊接或者排针接出。其中绿色的是 RISC-V MCU 核心串口,蓝色的是 RISC-V CPU 串口。
![image-20250423232024357](https://docs.aw-ol.com/assets/images/image-20250423232024357-061a79019f59a1052d9ebcf13db225d0.png)
串口线打开电脑的设备管理器,确认串口号,例如这里是 COM5
![下载](data:image/png;base64,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)
硬件连接完成后,使用串口终端访问,波特率 `115200` 。例如这里使用的 `PuTTY`
危险
SDK 1.2 默认波特率修改为 `1500000`,请使用波特率 `1500000`
提示
SDK 1.3 支持切换波特率,在 `lunch` 的时候可以选择 `115200` 或者 `1500000`
![image-20241119154137938](https://docs.aw-ol.com/assets/images/image-20241119154137938-17415738627349-7f2d2a9d50c474e8872d77f0d9d4f7e2-7f2d2a9d50c474e8872d77f0d9d4f7e2.png)
如果是刷入固件的核心板,上电后即可看到启动日志与控制台
![image-20241119154325232](https://docs.aw-ol.com/assets/images/image-20241119154325232-17415738627348-321630832a633e86294eab953bb542a6-321630832a633e86294eab953bb542a6.png)
### ADB 调试
备注
如果烧录的是 UVC 固件UVC 会自动切换 USB 枚举为 UVC 设备,此时无法使用 ADB 调试。
在电脑上安装 ADB打开 CMD 使用 `adb shell` 进入终端。
1 在 [全志开发者社区-资料下载 专区 ](https://www.aw-ol.com/downloads?cat=5)下载 ADB 工具 `ADB(tab自动补全版)` 2下载后解压放到本地磁盘下例如D盘的adb文件夹里
![adb_ins_1](https://docs.aw-ol.com/assets/images/adb_ins_1-17415738627347-57ada7e769a9aaade7376a09459bb9cf-57ada7e769a9aaade7376a09459bb9cf.png)
3 右键 ”此电脑“属性找到高级系统设置点击环境变量xxx用户的环境变量Path新增一个环境变量。
![adb_ins_2](https://docs.aw-ol.com/assets/images/adb_ins_2-174157386273410-df9204a20d62347f8950c36e964fcbc1-df9204a20d62347f8950c36e964fcbc1.png)
4 打开命令提示符,输入 `adb shell`
![image-20241119154459505](https://docs.aw-ol.com/assets/images/image-20241119154459505-174157386273411-de1e746e8096e7634408c01423f9df38-de1e746e8096e7634408c01423f9df38.png)
ADB 也可以作为文件传输使用,例如:
- 将 sample.mp4 上传到核心板 /mnt/UDISK 目录内
```text
C:\System> adb push sample.mp4 /mnt/UDISK
```
- 将 /mnt/UDISK/sample.mp4 下拉到当前目录内
```text
C:\System> adb pull /mnt/UDISK/sample.mp4
```
### 重启
在核心板终端 Linux 命令行中输入 `reboot` 即可重启
![image-20241119154725553](https://docs.aw-ol.com/assets/images/image-20241119154725553-174157386273413-ef4977152178b27e2713e46ceeac2e5f-ef4977152178b27e2713e46ceeac2e5f.png)
在核心板终端 U-Boot 命令行中输入 `reset` 即可重启
![image-20241119154815320](https://docs.aw-ol.com/assets/images/image-20241119154815320-174157386273412-871cb7353e5f9bde2d4fbabce67aa86d-871cb7353e5f9bde2d4fbabce67aa86d.png)
### 进入烧录模式
有多种方式可以让核心板进入烧录模式。
**按键进入烧录模式**
在核心板找到按键 `FEL`断开USB电源
1按住 `FEL` 按键
2插入 USB 线
3等待电脑连接成功松开 `FEL` 按键即可进入烧录模式
![image-20250423232255073](https://docs.aw-ol.com/assets/images/image-20250423232255073-8681aaab953c4865dc250624e4bd77e9.png)
**命令行进入烧录模式**
在 Linux 命令行中输入 `reboot efex` 即可重启进入烧录模式
```text
reboot efex
```
在 U-Boot 命令行中输入 `efex` 即可重启进入烧录模式
```text
=> efex
```
**破坏启动介质进入烧录模式SPI NOR**
在 Linux 命令行中输入 `echo 000000 > /dev/mtd0`,破坏启动引导介质,重启后即可进入烧录模式
### WI-FI
**Wi-Fi 连接网络**
这里首先介绍如何使用 `wifi` 扫描网络:
1设置 `Wi-Fi``STATION` 模式
```text
wifi -o sta
```
2扫描当前网络环境的 Wi-Fi 站点
```text
wifi -s
```
3连接Wi-FiSSIDawol密码 1234567890
```text
wifi -c awol 1234567890
```
4连接网络后输入 `ifconfig` 即可查看当前 ip 地址
![image-20241119161156996](https://docs.aw-ol.com/assets/images/image-20241119161156996-174157386273518-33b4484eedea2862098d9faf9e4b6699-33b4484eedea2862098d9faf9e4b6699.png)
可以使用 `ping` 命令测试 网络连接
```text
ping www.baidu.com
```
它会输出以下内容
```text
PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms
```
5断开Wi-Fi
```text
wifi -d
```
**Wi-Fi 建立 AP**
1创建热点 SSIDv821密码 12345678
```text
wifi -o ap v821 12345678
```
![image-20241119161500112](https://docs.aw-ol.com/assets/images/image-20241119161500112-174157386273519-aa6535be950b73342a394f15c349ea77-aa6535be950b73342a394f15c349ea77.png)
2然后就可以扫描到 Wi-Fi 了,输入密码 12345678 进行连接
![image-20241119161644816](https://docs.aw-ol.com/assets/images/image-20241119161644816-174157386273520-cf83500b0ddb243e22941c1f2e28f28c-cf83500b0ddb243e22941c1f2e28f28c.png)
### 音频 MIC
**查看音频设备**
使用命令 `amixer` 可以列出全部音频设备
```text
amixer
Simple mixer control 'ADC',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 255
Mono: 160 [63%] [0.75dB]
Simple mixer control 'ADC DRC0 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC DRC1 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC HPF0 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC HPF1 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADDA Loop Mode',0
Capabilities: enum
Items: 'Off' 'DAC-to-ADC'
Item0: 'Off'
Simple mixer control 'DAC',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 63
Mono: 63 [100%] [-1.16dB]
Simple mixer control 'DAC DRC Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'DAC HPF Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'DACL',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 255
Mono: 160 [63%] [0.75dB]
Simple mixer control 'LINEOUT',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'LINEOUT Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 31
Mono: 31 [100%]
Simple mixer control 'LINEOUT Output Select',0
Capabilities: enum
Items: 'DIFFER' 'SINGLE'
Item0: 'SINGLE'
Simple mixer control 'MIC',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'MIC Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 31
Mono: 31 [100%]
Simple mixer control 'SPK',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'rx sync mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'tx hub mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
```
**查看录音设备**
可以使用 `arecord -l` 命令查看核心板提供的录音设备。
```text
arecord -l
```
![image-20241119162200635](https://docs.aw-ol.com/assets/images/image-20241119162200635-174157386274222-eaa478f0eaf5e1350fae8dc67c140a8c-eaa478f0eaf5e1350fae8dc67c140a8c.png)
**麦克风录音**
V821 核心板板载一个麦克风,在录音之前,首先需要打开音频通路,配置内部 MIC0录制音频需要 SDK 配置 `alsa-utils` 软件包才能直线 `amixer` 等命令)。
提示
配置软件包方法:`make menuconfig`,勾选以下软件包
```text
Allwinner --->
Audio --->
<*> AudioSystem.......................................... AudioSystem library
<*> aactd............................ Allwinner Audio Calibration Tool Daemon
-*- aactd-lib....................... Allwinner Audio Calibration Tool Library
<*> alsa-plugins-aw.............................. ALSA plugins from Allwinner
Sound --->
<*> alsa-utils............ ALSA (Advanced Linux Sound Architecture) utilities
```
1打开 MIC 通路
```text
amixer -Dhw:audiocodec cset name="MIC Switch" 1
```
输出如下,表示音频通路已开启
```text
numid=16,iface=MIXER,name='MIC Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
```
2设置 MIC 音量
```text
amixer -Dhw:audiocodec cset name="MIC Gain" 10
```
输出如下,表示设置成功
```text
numid=15,iface=MIXER,name='MIC Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=30
| dBscale-min=0.00dB,step=1.00dB,mute=0
```
使用 `arecord -D hw:audiocodec -f S16_LE -t wav -r 16000 -d 3 t.wav` 命令,使用板载的麦克风进行录音。
```text
arecord -D hw:audiocodec -f S16_LE -t wav -r 16000 -d 3 t.wav
```
可以看到输出的 `t.wav` 文件
## 配套模块
### 摄像头模块
核心板套件配备了摄像头模块与配套的排线,请注意排线需要同向排线。
![image-20250423232434784](https://docs.aw-ol.com/assets/images/image-20250423232434784-a70c7e13e60b1a580ac2d8ebf1748eef.png)
摄像头模组排线的 1 脚如图所示,蓝色塑料面朝上插入排线
![image-20250423232520890](https://docs.aw-ol.com/assets/images/image-20250423232520890-5b18ab14574eeb2e9ca25692deecc130.png)
核心板摄像头接口的 1 脚
![image-20250423232559172](https://docs.aw-ol.com/assets/images/image-20250423232559172-36eee0bb40375875ba7d0f84eb2aded7.png)
在接入时请确保 1 脚与 1 脚对应,否则会出现摄像头烧毁的风险。
- 金属触点这一面面向 Avaota F1 文字
![image-20250423232634803](https://docs.aw-ol.com/assets/images/image-20250423232634803-91194f07a93fcf3be593b263cc92b8f6.png)
- 蓝色塑料这一面面向核心板内部
![image-20250423232654361](https://docs.aw-ol.com/assets/images/image-20250423232654361-f33d6b3a299ccf43fde6338b50547e91.png)
摄像头具体使用可以参考 【[SDK 功能演示体验](https://docs.aw-ol.com/docs/soc/v821/software/demo)】,具体演示如何编译运行一个 RTSP 测试 DEMO
# SDK 功能演示体验
本文将以 V821 PERF2 板为示例,演示搭建 Smart IPC 场景功能,包括:
- RTSP H264 1280*720@20fps 预览
- 1280*720@20fps H264 编码视频分段滚动录像
- 定时拍照
需要准备如下物品:
- V821 PERF2 开发板
- 单目GC1084模组
- 串口线(用于调试)
- USB线用于下载烧录传输文件
- SD 卡(用于保存码流)
- WIFI天线用于无线传输
- 路由器(用于数据交换)
- 手机或笔记本电脑(用于播放码流)
## 硬件连接
准备好摄像头排线V821 PERF2 开发板,排线需要同向排线。
![image-20241118170410614](https://docs.aw-ol.com/assets/images/image-20241118170410614-a6165dd5603b19d8c8913b586e9886fe.png)
将排线的蓝面朝上,接入摄像头模块
![image-20241118170507963](https://docs.aw-ol.com/assets/images/image-20241118170507963-e7588158be4bc72d795335e2d67dbc10.png)
排线另外一边,触点面朝向芯片,接入 PERF2 开发板
![image-20241118170645214](https://docs.aw-ol.com/assets/images/image-20241118170645214-db6041f3a7ea7b1e462cb0cf00a4f612.png)
摄像头安装完成
![image-20241118170706269](https://docs.aw-ol.com/assets/images/image-20241118170706269-e05bb44f37c0e2ca9f2c1cb220f71577.png)
安装天线,将天线接入天线插口
![image-20241118170739004](https://docs.aw-ol.com/assets/images/image-20241118170739004-53a00c2aadba1e2711da78779c342361.png)
插入调试串口
![image-20241118171820917](https://docs.aw-ol.com/assets/images/image-20241118171820917-21f5dab91dd2345d218ecfc086696193.png)
## 准备固件
> 如果已有固件,可以跳过本章节,从烧录固件开始看
### 配置方案
首先输入以下命令配置SDK开发环境
```text
source build/envsetup.sh
```
然后输入 `lunch` 命令加载方案
```text
lunch
```
这里选择 v821-perf2-tina 方案,输入 4按回车
![image-20241118171552061](https://docs.aw-ol.com/assets/images/image-20241118171552061-ef0f66f13c01cb3cb0dc7712a0ed19f5.png)
### 配置测试 Sample
```
```
输入以下命令,进入配置界面
```text
make menuconfig
```
![image-20241118163536930](data:image/png;base64,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)
配置页面如下
![image-20241118163553180](https://docs.aw-ol.com/assets/images/image-20241118163553180-9cadc1a9a50e50299556f7c271b6219a.png)
下拉找到 Allwinner 按回车进入
![image-20241118163621775](https://docs.aw-ol.com/assets/images/image-20241118163621775-1a32eed4e8c7dfa7880e40fe40ef90c0.png)
在最下面找到 eyesee-mpp按回车进入
![image-20241118163640800](https://docs.aw-ol.com/assets/images/image-20241118163640800-77674f69b0cca4dff3260bf67feedb43.png)
找到 `select mpp sample`,按空格选中(先选择`eyesee-mpp-middleware-demo config`就出来`select mpp sample`
![image-20241118164505217](https://docs.aw-ol.com/assets/images/image-20241118164505217-edaec93b9e9c1564f112df8b64f7d208.png)
找到 `mpp sample smartIPC_demo`,按空格选中
![image-20241118164525565](https://docs.aw-ol.com/assets/images/image-20241118164525565-56ac759a6aba1be36cc4c539d434289a.png)
提示
如果找不到 `mpp sample smartIPC_demo` 选项,先去检查一下依赖软件包 `rgb_ctrl` 有没有打开,如果没有打开需要开一下
![image-20250526103537915](https://docs.aw-ol.com/assets/images/image-20250526103537915-3adbff6c2fbf968fb4a6b55841b75762.png)
使用方向键选择 `Save`
![image-20241118164558256](https://docs.aw-ol.com/assets/images/image-20241118164558256-de39b191f0dfb30f7d7147d3cd5601f9.png)
选择 `OK`
![image-20241118164611317](https://docs.aw-ol.com/assets/images/image-20241118164611317-a49e248abc247925692ce07d20cad376.png)
选择 EXIT
![image-20241118164617725](data:image/png;base64,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)
使用方向键选择 Exit
![image-20241118164655148](https://docs.aw-ol.com/assets/images/image-20241118164655148-5801275126fa3ee1e7e0873dca1b651a.png)
继续退出
![image-20241118164710249](https://docs.aw-ol.com/assets/images/image-20241118164710249-a9ae787b3a95358e1ff8ade6aa491ae0.png)
继续退出
![image-20241118164732177](https://docs.aw-ol.com/assets/images/image-20241118164732177-e3fe518332cda6f1ea8a271330f06dcf.png)
### 编译 SDK
回到控制台,输入 `mp -j4` 以 4 线程并行方式编译
![image-20241118164823029](data:image/png;base64,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)
等待 SDK 编译完成,会在 `out` 目录下生成固件
![image-20241118171426560](https://docs.aw-ol.com/assets/images/image-20241118171426560-bb7e3e7bd4a11d4e6a524e8d65be6fc3.png)
将固件拷贝出来,准备烧录
![image-20241118171446163](https://docs.aw-ol.com/assets/images/image-20241118171446163-18105af7e30e1f3d9cb04fca6ce0b7e7.png)
## 烧写固件
打开 PhoenixSuit选择一键刷机点击浏览打开刚才生成的固件
![image-20241118165428364](https://docs.aw-ol.com/assets/images/image-20241118165428364-3f46c09c8606d70d0d720523814368b5.png)
选择全盘擦除升级
![image-20241118171506827](https://docs.aw-ol.com/assets/images/image-20241118171506827-75671bafc478a80b4ccad241f044f9d8.png)
按住 PERF2 开发板上的FEL按键插入USB线
![image-20241118165707091](https://docs.aw-ol.com/assets/images/image-20241118165707091-889836e7f6770e610d534a5dce06b91d.png)
烧录工具出现提示,选择是
![image-20241118171028491](https://docs.aw-ol.com/assets/images/image-20241118171028491-227ca42688fbfef63383bbf12d8ebca6.png)
烧录中,请耐心等待
![image-20241118171611288](https://docs.aw-ol.com/assets/images/image-20241118171611288-e7aa37779a26f01641b95622b75e7604.png)
烧写结束,系统自动启动
![image-20241118171845874](https://docs.aw-ol.com/assets/images/image-20241118171845874-cdde96393f93652b16d72ec3eae40ac4.png)
## 配置 Sample
前往 `platform/allwinner/eyesee-mpp/middleware/sun300iw1/sample/bin` 找到刚才编译出来的Sample
![image-20241118172041858](https://docs.aw-ol.com/assets/images/image-20241118172041858-b857ea2878462d08686cb5f604b04818.png)
编辑 `sample_smartIPC_demo.conf` 修改配置文件,需要修改的项目如下(可以在附录获取完整版配置文件):
```text
stream_buf_size = -1 # 使用码流大小推流
main_rtsp_id = 0 # 启用 RTSP
main_src_frame_rate = 20 # 帧率设置 20 帧
main_encode_frame_rate = 20 # 配置编码器20帧
main_2nd_enable = 1 # 开启子码流
main_2nd_src_frame_rate = 20 # 子码流帧率20帧
main_2nd_encode_frame_rate = 20 # 子码流编码帧率20帧
main_2nd_take_picture = 1 # 子码流开启拍照功能
```
将SD卡格式化为 FAT32 格式
![image-20241118172735225](https://docs.aw-ol.com/assets/images/image-20241118172735225-49d35a51ef50d078d4bf44a3ff7ee626.png)
将上面编译出来的 sample 和 配置文件复制到 SD 卡里
![image-20241118172836521](https://docs.aw-ol.com/assets/images/image-20241118172836521-c9e95087bf001cf956c2cac829631225.png)
## 测试运行 Sample
### 配置无线网络
使用命令扫描无线网络
```text
wifi -s
```
![image-20241118173306056](https://docs.aw-ol.com/assets/images/image-20241118173306056-e1f42389a48e72eeabb0d6264d893f2c.png)
使用命令连接无线网络,连接成功后使用 `ifconfig` 命令查看连接情况与 IP 地址
```text
wifi -c <SSID> <密码>
ifconfig wlan0
```
![image-20241118173535716](https://docs.aw-ol.com/assets/images/image-20241118173535716-6162c5421a20b4742ba9457c1acca69c.png)
### 挂载 SD 卡
插入 SD 卡后,可以在日志里看到新生成的卡设备
![image-20241118173626105](https://docs.aw-ol.com/assets/images/image-20241118173626105-80ffc62bdbc50f6b002be8dac236c9ac.png)
使用命令挂载 SD 卡
```text
mount /dev/mmcblk0p1 /mnt/extsd
```
![image-20241118174051714](data:image/png;base64,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)
### 运行 Sample
前往SD卡的挂载目录查看文件是否存在
```text
cd /mnt/extsd
```
![image-20241118174134210](data:image/png;base64,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)
使用命令,运行 sample
```text
./sample_smartIPC_demo -path sample_smartIPC_demo.conf &
```
![image-20241118174552557](https://docs.aw-ol.com/assets/images/image-20241118174552557-fdb86700cff5b3b3e3486d5917a5b801.png)
在平板上打开 VLC 播放器。配置日志显示的地址
```text
rtsp://192.168.51.101:8554/ch0
```
![image-20241118175852117](https://docs.aw-ol.com/assets/images/image-20241118175852117-b66b359880fc1f9f4ce8ca383de062a0.png)
即可打开串流视频
![image-20241118180020486](https://docs.aw-ol.com/assets/images/image-20241118180020486-2b290d118813144de4ad1f178e907aef.png)
SD 卡插上电脑也可以看到拍到的图片和码流
![image-20241118180113645](https://docs.aw-ol.com/assets/images/image-20241118180113645-3c05a58ef43b1c91b42577e4360ef6ce.png)
## 附录Sample 配置
```conf
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
rtsp_net_type = 3 #RTSP Network type, 0: "lo", 1: "eth0", 2: "br0", 3: "wlan0"
ve_rec_ref_buf_reduce_enable = 1 #0:disable buf reduce, 1:enable buf reduce
stream_buf_size = -1
product_mode = 0 #0:static ipc, 1:moving ipc, 2: doorbell, 3:cdr, 4:sdv, 5:projection, 6:UAV(Unmanned Aerial Vehicle)
vbr_opt_en = 1 #0: old vbr bitrate control, 1:new vbr bitrate control
vbr_opt_rc_priority = 0 #only for vbr opt, balance bitrate and quality, 0:quality priority, 1:bitrate priority, 2:avg bitrate first, 3:instantaneous bitrate first
rc_mode = 1 #for H264, 0:CBR 1:VBR 2:FIXQP(only for debug)
init_qp = 37
min_i_qp = 25
max_i_qp = 45
min_p_qp = 25
max_p_qp = 45
moving_th = 20
mb_qp_limit_en = 1
quality = 1
p_bits_coef = 10
i_bits_coef = 10
isp_ve_linkage_enable = 1
region_link_enable = 1
region_link_tex_detect_enable = 1
region_link_motion_detect_enable = 1
camera_adaptive_moving_and_static_enable = 1
ve_lens_moving_max_qp = 40
wb_yuv_enable = 0
wb_yuv_buf_num = 3
wb_yuv_scaler_ratio = 0 #0:no scaler, 1: 1/8, 2: 1/2, 3: 1/4
wb_yuv_start_index = 0
wb_yuv_total_cnt = 100
wb_yuv_stream_channel = 0 #venc channel id
wb_yuv_file_path = "/mnt/extsd/wb_yuv.yuv"
vi_timeout_reset_disable = 0 #0:enable(default), >0:disable vi timeout reset for debug.
test_trigger_vi_timeout = 0 #0:disable, >0:enable and means time interval, unit is ms.
encpp_sharp_debug_disable = 0
tdm_speed_down_enable = 0
ve_2dnr_disable = 0
ve_3dnr_disable = 0
test_duration = 0 #unit:s, 0:Infinite duration.
ir_cut_switch_test_enable = 0
ir_cut_switch_interval = 10 #unit:s
ir_cut_switch_isp = 0
ir_cut_switch_ir_bin_path = "/mnt/extsd/ir"
ir_cut_switch_rbg_bin_path = "/mnt/extsd/rgb"
audio_test_enable = 0
capture_en = 1
capture_sample_rate = 16000
capture_bit_witdh = 16
capture_channel_cnt = 1
capture_ans_en = 1
capture_agc_en = 1
capture_aec_en = 1
capture_save_file = "/mnt/extsd/capture_"
capture_save_file_max_cnt = 10
capture_save_file_duration = 600
playback_en = 1
playback_volume = 80
playback_file = "/mnt/extsd/test.wav"
motionAlarm_on = 0
motionAlarm_result_print_interval = 50 #fps
motionAlarm_sensitivity = 60 #[20,40,60,80,100]
motionAlarm_support_zone = 1
motionAlarm_left_up_x = 0
motionAlarm_left_up_y = 0
motionAlarm_left_bottom_x = 0
motionAlarm_left_bottom_y = 10000
motionAlarm_right_bottom_x = 10000
motionAlarm_right_bottom_y = 10000
motionAlarm_right_up_x = 10000
motionAlarm_right_up_y = 0
motionAlarm_useDefaultCfgEnable = 1
motionAlarm_HorizontalRegionNum = 15
motionAlarm_VerticalRegionNum = 8
motionAlarm_Threshold_High = 2
motionAlarm_Threshold_MediumHigh = 3
motionAlarm_Threshold_Default = 5
motionAlarm_Threshold_MediumLow = 10
motionAlarm_Threshold_Low = 36
main_enable = 1 #0:disable main stream, 1:enable main stream
main_rtsp_id = 0
main_isp = 0
main_isp_d3d_lbc_ratio = 0 #[100,400], 0:not set but use default, 100:lossless, 125:1.25x, 150:1.5x(default), 400:4x
main_vipp = 0
main_src_width = 1280
main_src_height = 720
main_pixel_format = "aw_lbc_2_5x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
main_wdr_enable = 0
main_vi_buf_num = 3
main_src_frame_rate = 20
main_vi_stitch_mode = 0 # 0: DMA_STITCH_NONE, 1: DMA_STITCH_2IN1_LINNER, 2: DMA_STITCH_HORIZONTAL, 3: DMA_STITCH_VERTICAL
main_viChn = 0
main_venc_chn = 0
main_encode_type = "H.264"
main_encode_width = 1280
main_encode_height = 720
main_encode_frame_rate = 20
main_encode_bitrate = 1048576 #5M:5242880, 2.5M:2621440, 2M:2097152, 1.5M:1572864, 1M:1048576, 0.5M:524288, 0.25M:262144
main_online_en = 0
main_online_share_buf_num = 2
main_encpp_enable = 1
main_ve_ref_frame_lbc_mode = 0 #0:default(1.5x), 1:1.5x, 2:2.0x, 3:2.5x, 4:no lossy
main_key_frame_interval = 30
main_file_path = "/mnt/extsd/mainStream" #if no path is specified, it will not be saved.
main_save_one_file_duration = 60 #unit:s, 0:Infinite duration.
main_save_max_file_cnt = 10
main_draw_osd_text = "main stream"
main_isp_test_enable = 0
main_isp_test_interval_ms = 2000
main_detect_mipi_desk_en = 0
main_detect_mipi_interv_ms = 1000
main_detect_mipi_channel = 0 # MIPI0/MIPIA: 0, MIPI1/MIPIB: 1
main_venc_recreate_enable = 0
main_venc_recreate_loop_cnt = -1 # loop count, -1:infinite
main_venc_recreate_interval = 10 #unit:s
main_venc_recreate_encoder = "H.264"
main_venc_recreate_framerate = 15
main_venc_recreate_bitrate = 1048576
main_venc_recreate_dst_width = 1280
main_venc_recreate_dst_height = 720
main_venc_recreate_key_frame_interval = 30
main_isp_tdm_raw_process_type = -1 #-1:disable, 0:dump 8bit, 1:dump 10bit, 2:dump 8bit for tools, 3:dump 10bit for tools, 4:send 8bit, 5:send 10bit
main_isp_tdm_raw_width = 1280
main_isp_tdm_raw_height = 720
main_isp_tdm_raw_rxbuf_num = 5
main_isp_tdm_raw_process_frame_cnt_min = 0
main_isp_tdm_raw_process_frame_cnt_max = 5
main_isp_tdm_raw_file_path = "/mnt/extsd/tdm_raw.bin"
main_offline_raw_simulate_type = -1 #-1:disable, 0:after reaching the end, start over from the beginning, 1: after reaching the end, read backwards.
main_offline_raw_type = 43 #39:BGGR8, 40:GBRG8, 41:GRBG8, 42:RGGB8, 43:BGGR10, 44:GBRG10, 45:GRBG10, 46:RGGB10, 47:BGGR12, 48:GBRG12, 49:GRBG12, 50:RGGB12
main_offline_raw_simulate_cnt_start = 0
main_offline_raw_simulate_cnt_end = 19
main_offline_raw_file_path = "/mnt/extsd/test.bin"
main_2nd_enable = 1
main_2nd_vipp = 4
main_2nd_src_width = 640
main_2nd_src_height = 480
main_2nd_pixel_format = "nv21"
main_2nd_vi_buf_num = 3
main_2nd_src_frame_rate = 20
main_2nd_vi_stitch_mode = 0 # 0: DMA_STITCH_NONE, 1: DMA_STITCH_2IN1_LINNER, 2: DMA_STITCH_HORIZONTAL, 3: DMA_STITCH_VERTICAL
main_2nd_viChn = 0
main_2nd_venc_chn = 2
main_2nd_encode_type = "H.264"
main_2nd_encode_width = 640
main_2nd_encode_height = 480
main_2nd_encode_frame_rate = 20
main_2nd_encode_bitrate = 262144
main_2nd_online_en = 0
main_2nd_online_share_buf_num = 2
main_2nd_encpp_enable = 1
main_2nd_ve_ref_frame_lbc_mode = 0
main_2nd_key_frame_interval = 30
main_2nd_file_path = #"/mnt/extsd/main2ndStream"
main_2nd_save_one_file_duration = 60
main_2nd_save_max_file_cnt = 10
main_2nd_take_picture = 1
main_2nd_take_picture_viChn = 1
main_2nd_take_picture_venc_chn = 8
main_2nd_take_picture_interval = 10 #unit:s
main_2nd_take_picture_file = "/mnt/extsd/main_2nd_pic"
main_2nd_take_picture_file_cnt = 10
main_2nd_take_picture_only_capture_yuv = 0
main_2nd_pdet_enable = 0
main_2nd_pdet_viChn = 2
main_2nd_pdet_input_width = 320
main_2nd_pdet_input_height = 192
main_2nd_pdet_input_channel = 3
main_2nd_pdet_conf_thres = 0.3
main_2nd_pdet_run_interval = 30 #unit:fps, default: framerate*2
sub_enable = 0 #0:disable sub stream, 1:enable sub stream
sub_rtsp_id = -1 #-1:disable sub rtsp
sub_isp = 1
sub_isp_d3d_lbc_ratio = 0 #[100,400], 0:not set but use default, 100:lossless, 125:1.25x, 150:1.5x(default), 400:4x
sub_vipp = 1
sub_src_width = 1280
sub_src_height = 720
sub_pixel_format = "aw_lbc_2_5x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
sub_wdr_enable = 0
sub_vi_buf_num = 3
sub_src_frame_rate = 15 #fps
sub_viChn = 0
sub_venc_chn = 1
sub_encode_type = "H.264"
sub_encode_width = 1280 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
sub_encode_height = 720
sub_encode_frame_rate = 15 #fps
sub_encode_bitrate = 1048576 #5M:5242880, 2.5M:2621440, 2M:2097152, 1.5M:1572864, 1M:1048576, 0.5M:524288, 0.25M:262144
sub_online_en = 0
sub_online_share_buf_num = 2
sub_encpp_enable = 1
sub_ve_ref_frame_lbc_mode = 0 #0:default(1.5x), 1:1.5x, 2:2.0x, 3:2.5x, 4:no lossy
sub_key_frame_interval = 30
sub_file_path = "/mnt/extsd/subStream" #if no path is specified, it will not be saved.
sub_save_one_file_duration = 60 #unit:s, 0:Infinite duration.
sub_save_max_file_cnt = 10
sub_draw_osd_text = "sub stream"
sub_venc_recreate_enable = 0
sub_venc_recreate_loop_cnt = -1 # loop count, -1:infinite
sub_venc_recreate_interval = 10 #unit:s
sub_venc_recreate_encoder = "H.264"
sub_venc_recreate_framerate = 15
sub_venc_recreate_bitrate = 1048576
sub_venc_recreate_dst_width = 1280
sub_venc_recreate_dst_height = 720
sub_venc_recreate_key_frame_interval = 30
sub_isp_tdm_raw_process_type = -1 #-1:disable, 0:dump 8bit, 1:dump 10bit, 2:dump 8bit for tools, 3:dump 10bit for tools, 4:send 8bit, 5:send 10bit
sub_isp_tdm_raw_width = 1280
sub_isp_tdm_raw_height = 720
sub_isp_tdm_raw_rxbuf_num = 5
sub_isp_tdm_raw_process_frame_cnt_min = 0
sub_isp_tdm_raw_process_frame_cnt_max = 5
sub_isp_tdm_raw_file_path = "/mnt/extsd/tdm_raw.bin"
sub_2nd_enable = 0
sub_2nd_vipp = 5
sub_2nd_src_width = 640
sub_2nd_src_height = 480
sub_2nd_pixel_format = "nv21"
sub_2nd_vi_buf_num = 3
sub_2nd_src_frame_rate = 15
sub_2nd_viChn = 0
sub_2nd_venc_chn = 3
sub_2nd_encode_type = "H.264"
sub_2nd_encode_width = 640
sub_2nd_encode_height = 480
sub_2nd_encode_frame_rate = 15
sub_2nd_encode_bitrate = 262144
sub_2nd_online_en = 0
sub_2nd_online_share_buf_num = 2
sub_2nd_encpp_enable = 1
sub_2nd_ve_ref_frame_lbc_mode = 0
sub_2nd_key_frame_interval = 30
sub_2nd_file_path = #"/mnt/extsd/sub2ndStream"
sub_2nd_save_one_file_duration = 60
sub_2nd_save_max_file_cnt = 10
sub_2nd_take_picture = 0
sub_2nd_take_picture_viChn = 1
sub_2nd_take_picture_venc_chn = 9
sub_2nd_take_picture_interval = 10 #unit:s
sub_2nd_take_picture_file = "/mnt/extsd/sub_2nd_pic"
sub_2nd_take_picture_file_cnt = 10
sub_2nd_take_picture_only_capture_yuv = 0
sub_2nd_pdet_enable = 0
sub_2nd_pdet_viChn = 2
sub_2nd_pdet_model_pathname = "/mnt/extsd/model/person_det_v4.0.0"
sub_2nd_pdet_input_width = 288
sub_2nd_pdet_input_height = 160
sub_2nd_pdet_input_channel = 3
sub_2nd_pdet_conf_thres = 0.3
sub_2nd_pdet_run_interval = 30 #unit:fps, default: framerate*2
three_enable = 0 #0:disable sub stream, 1:enable sub stream
three_rtsp_id = -1 #-1:disable sub rtsp
three_isp = 2
three_isp_d3d_lbc_ratio = 0 #[100,400], 0:not set but use default, 100:lossless, 125:1.25x, 150:1.5x(default), 400:4x
three_vipp = 2
three_src_width = 1280
three_src_height = 720
three_pixel_format = "aw_lbc_2_5x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
three_wdr_enable = 0
three_vi_buf_num = 3
three_src_frame_rate = 15 #fps
three_viChn = 0
three_venc_chn = 4
three_encode_type = "H.264"
three_encode_width = 1280 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
three_encode_height = 720
three_encode_frame_rate = 15 #fps
three_encode_bitrate = 1048576 #5M:5242880, 2.5M:2621440, 2M:2097152, 1.5M:1572864, 1M:1048576, 0.5M:524288, 0.25M:262144
three_encpp_enable = 1
three_ve_ref_frame_lbc_mode = 0 #0:default(1.5x), 1:1.5x, 2:2.0x, 3:2.5x, 4:no lossy
three_key_frame_interval = 30
three_file_path = "/mnt/extsd/threeStream" #if no path is specified, it will not be saved.
three_save_one_file_duration = 60 #unit:s, 0:Infinite duration.
three_save_max_file_cnt = 10
three_draw_osd_text = "three stream"
three_venc_recreate_enable = 0
three_venc_recreate_loop_cnt = -1 # loop count, -1:infinite
three_venc_recreate_interval = 10 #unit:s
three_venc_recreate_encoder = "H.264"
three_venc_recreate_framerate = 15
three_venc_recreate_bitrate = 1048576
three_venc_recreate_dst_width = 1280
three_venc_recreate_dst_height = 720
three_venc_recreate_key_frame_interval = 30
three_isp_tdm_raw_process_type = -1 #-1:disable, 0:dump 8bit, 1:dump 10bit, 2:dump 8bit for tools, 3:dump 10bit for tools, 4:send 8bit, 5:send 10bit
three_isp_tdm_raw_width = 1280
three_isp_tdm_raw_height = 720
three_isp_tdm_raw_rxbuf_num = 5
three_isp_tdm_raw_process_frame_cnt_min = 0
three_isp_tdm_raw_process_frame_cnt_max = 5
three_isp_tdm_raw_file_path = "/mnt/extsd/tdm_raw.bin"
three_2nd_enable = 0
three_2nd_vipp = 6
three_2nd_src_width = 640
three_2nd_src_height = 480
three_2nd_pixel_format = "nv21"
three_2nd_vi_buf_num = 3
three_2nd_src_frame_rate = 15
three_2nd_viChn = 0
three_2nd_venc_chn = 6
three_2nd_encode_type = "H.264"
three_2nd_encode_width = 640
three_2nd_encode_height = 480
three_2nd_encode_frame_rate = 15
three_2nd_encode_bitrate = 262144
three_2nd_online_en = 0
three_2nd_online_share_buf_num = 2
three_2nd_encpp_enable = 1
three_2nd_ve_ref_frame_lbc_mode = 0
three_2nd_key_frame_interval = 30
three_2nd_file_path = #"/mnt/extsd/three2ndStream"
three_2nd_save_one_file_duration = 60
three_2nd_save_max_file_cnt = 10
three_2nd_take_picture = 0
three_2nd_take_picture_viChn = 1
three_2nd_take_picture_venc_chn = 10
three_2nd_take_picture_interval = 10 #unit:s
three_2nd_take_picture_file = "/mnt/extsd/three_2nd_pic"
three_2nd_take_picture_file_cnt = 10
three_2nd_take_picture_only_capture_yuv = 0
three_2nd_pdet_enable = 0
three_2nd_pdet_viChn = 2
three_2nd_pdet_model_pathname = "/mnt/extsd/model/person_det_v4.0.0"
three_2nd_pdet_input_width = 288
three_2nd_pdet_input_height = 160
three_2nd_pdet_input_channel = 3
three_2nd_pdet_conf_thres = 0.3
three_2nd_pdet_run_interval = 30 #unit:fps, default: framerate*2
four_enable = 0 #0:disable sub stream, 1:enable sub stream
four_rtsp_id = -1 #-1:disable sub rtsp
four_isp = 3
four_isp_d3d_lbc_ratio = 0 #[100,400], 0:not set but use default, 100:lossless, 125:1.25x, 150:1.5x(default), 400:4x
four_vipp = 3
four_src_width = 1280
four_src_height = 720
four_pixel_format = "aw_lbc_2_5x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
four_wdr_enable = 0
four_vi_buf_num = 3
four_src_frame_rate = 15 #fps
four_viChn = 0
four_venc_chn = 5
four_encode_type = "H.264"
four_encode_width = 1280 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
four_encode_height = 720
four_encode_frame_rate = 15 #fps
four_encode_bitrate = 1048576 #5M:5242880, 2.5M:2621440, 2M:2097152, 1.5M:1572864, 1M:1048576, 0.5M:524288, 0.25M:262144
four_encpp_enable = 1
four_ve_ref_frame_lbc_mode = 0 #0:default(1.5x), 1:1.5x, 2:2.0x, 3:2.5x, 4:no lossy
four_key_frame_interval = 30
four_file_path = "/mnt/extsd/fourStream" #if no path is specified, it will not be saved.
four_save_one_file_duration = 60 #unit:s, 0:Infinite duration.
four_save_max_file_cnt = 10
four_draw_osd_text = "four stream"
four_venc_recreate_enable = 0
four_venc_recreate_loop_cnt = -1 # loop count, -1:infinite
four_venc_recreate_interval = 10 #unit:s
four_venc_recreate_encoder = "H.264"
four_venc_recreate_framerate = 15
four_venc_recreate_bitrate = 1048576
four_venc_recreate_dst_width = 1280
four_venc_recreate_dst_height = 720
four_venc_recreate_key_frame_interval = 30
four_isp_tdm_raw_process_type = -1 #-1:disable, 0:dump 8bit, 1:dump 10bit, 2:dump 8bit for tools, 3:dump 10bit for tools, 4:send 8bit, 5:send 10bit
four_isp_tdm_raw_width = 1280
four_isp_tdm_raw_height = 720
four_isp_tdm_raw_rxbuf_num = 5
four_isp_tdm_raw_process_frame_cnt_min = 0
four_isp_tdm_raw_process_frame_cnt_max = 5
four_isp_tdm_raw_file_path = "/mnt/extsd/tdm_raw.bin"
four_2nd_enable = 0
four_2nd_vipp = 7
four_2nd_src_width = 640
four_2nd_src_height = 480
four_2nd_pixel_format = "nv21"
four_2nd_vi_buf_num = 3
four_2nd_src_frame_rate = 15
four_2nd_viChn = 0
four_2nd_venc_chn = 7
four_2nd_encode_type = "H.264"
four_2nd_encode_width = 640
four_2nd_encode_height = 480
four_2nd_encode_frame_rate = 15
four_2nd_encode_bitrate = 262144
four_2nd_online_en = 0
four_2nd_online_share_buf_num = 2
four_2nd_encpp_enable = 1
four_2nd_ve_ref_frame_lbc_mode = 0
four_2nd_key_frame_interval = 30
four_2nd_file_path = #"/mnt/extsd/four2ndStream"
four_2nd_save_one_file_duration = 60
four_2nd_save_max_file_cnt = 10
four_2nd_take_picture = 0
four_2nd_take_picture_viChn = 1
four_2nd_take_picture_venc_chn = 11
four_2nd_take_picture_interval = 10 #unit:s
four_2nd_take_picture_file = "/mnt/extsd/four_2nd_pic"
four_2nd_take_picture_file_cnt = 10
four_2nd_take_picture_only_capture_yuv = 0
four_2nd_pdet_enable = 0
four_2nd_pdet_viChn = 2
four_2nd_pdet_model_pathname = "/mnt/extsd/model/person_det_v4.0.0"
four_2nd_pdet_input_width = 288
four_2nd_pdet_input_height = 160
four_2nd_pdet_input_channel = 3
four_2nd_pdet_conf_thres = 0.3
four_2nd_pdet_run_interval = 30 #unit:fps, default: framerate*2
```