MIPI_DPU 综合(DPU+MIPI+Demosaic+VDMA 通路)
目录
1. 简介
2. 创建 Platform
2.1 Block Design
2.1.1 DPU PFM Lite
2.1.2 DPU prj
2.1.3 DPU + MIPI Platform
2.2 pin 约束
2.2.1 GPIO 约束
2.2.2 IIC 约束
2.1.3 DPHY 约束
3. 报错总结
3.1 AXI_M 必须顺序引用
3.2 DPU 地址分配错误
4. Design Example
4.1 MIPI Core 示例
4.1.1 新建任意工程
4.1.2 video_out 位宽变化
4.1.3 video_aclk 时钟连接
5. 总结
1. 简介
- 构建一个极简的 DPU Platform
- 添加 MIPI+Demosaic+VDMA 通路
2. 创建 Platform
2.1 Block Design
2.1.1 DPU PFM Lite
2.1.2 DPU prj
在执行完毕 v++ 链接命令后,可以在如下路径中打开:
<PYNQ>/boards/kv260_v1/binary_container_1/link/vivado/vpl/prj/prj.xpr
直接使用 DPU prj 导出的 xsa 平台文件,用以下命令,也可以直接得到 xclbin 文件:
v++ --link --target hw \--save-temps \--package.no_image \--platform *.xsa
2.1.3 DPU + MIPI Platform
1)时钟域说明:摄像头数据链路全部使用 200MHz 时钟。
2)修改 Zynq MPSoC 的 S_AXI_HP3_FPD 位宽为64位,可以直接连接 VDMA。
2.2 pin 约束
2.2.1 GPIO 约束
set_property PACKAGE_PIN F11 [get_ports {rpi_cam_en_tri_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_cam_en_tri_io[0]}]set_property PACKAGE_PIN A12 [get_ports {fan_en_b[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {fan_en_b[0]}]
2.2.2 IIC 约束
在 Block Design 中,选择 axi_iic 属性:
选择 Board Interface 中,选择 som240_1_connector_hda_iic_switch:
2.1.3 DPHY 约束
在 Block Design 中,选择 axi_iic 属性:
3. 报错总结
3.1 AXI_M 必须顺序引用
1)在 Block Design 设计中,可以看到此 AXI Interconnet 使用了两个 M_AXI:
2)在 Platform Setup 中, 跳过 M02 至 M06,选择 M07 至 M09 对外显现:
3)在导出 Platform 时不会出错,但在 v++ 进行链接时,将会报错如下:
INFO: [VPL 60-839] Read in kernel information from file '/home/dd/Documents/DPU-PYNQ-2.5.0/boards/kv260_v2/binary_container_1/link/int/kernel_info.dat'.
INFO: [VPL 60-423] Target device: dd_kv260_preset_v2_1_0
INFO: [VPL 60-1032] Extracting hardware platform to /home/dd/Documents/DPU-PYNQ-2.5.0/boards/kv260_v2/binary_container_1/link/vivado/vpl/.local/hw_platform
[23:54:02] Run vpl: Step create_project: Started
Creating Vivado project.
[23:54:06] Run vpl: Step create_project: Completed
[23:54:06] Run vpl: Step create_bd: Started
[23:54:09] Run vpl: Step create_bd: Failed
[23:54:10] Run vpl: FINISHED. Run Status: create_bd ERROR===>The following messages were generated while creating FPGA bitstream. Log file: /home/dd/Documents/DPU-PYNQ-2.5.0/boards/kv260_v2/binary_container_1/link/vivado/vpl/runme.log :
ERROR: [VPL 5-106] Arguments to the connect_bd_intf_net command cannot be empty.
ERROR: [VPL 60-773] In '/home/dd/Documents/DPU-PYNQ-2.5.0/boards/kv260_v2/binary_container_1/link/vivado/vpl/runme.log', caught Tcl error: ERROR: [Common 17-39] 'connect_bd_intf_net' failed due to earlier errors.
ERROR: [VPL 60-704] Integration error, Failed to update block diagram in project required for hardware synthesis.The project is 'prj'. The block diagram update script is '.local/dr.bd.tcl'. The block diagram update script was generated by system linker. An error stack with function names and arguments may be available in the 'vivado.log'.
ERROR: [VPL 60-1328] Vpl run 'vpl' failed
WARNING: [VPL 60-1142] Unable to read data from '/home/dd/Documents/DPU-PYNQ-2.5.0/boards/kv260_v2/binary_container_1/link/vivado/vpl/output/generated_reports.log', generated reports will not be copied.
ERROR: [VPL 60-806] Failed to finish platform linker
INFO: [v++ 60-1442] [23:54:10] Run run_link: Step vpl: Failed
Time (s): cpu = 00:00:03 ; elapsed = 00:00:12 . Memory (MB): peak = 2188.492 ; gain = 0.000 ; free physical = 16738 ; free virtual = 22387
ERROR: [v++ 60-661] v++ link run 'run_link' failed
ERROR: [v++ 60-626] Kernel link failed to complete
ERROR: [v++ 60-703] Failed to finish linking
INFO: [v++ 60-1653] Closing dispatch client.
make: *** [Makefile:47: dpu.xclbin] Error 1
4)结论:AXI_M 必须顺序引用。
3.2 DPU 地址分配错误
1)在 Block Design 中包含 DPU IP:
2) 自动设置地址后,点击 Validate Design,将会得到如下错误提示:
[Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.[BD 41-1273] Error running post_propagate TCL procedure: ERROR: [Common 17-55] 'get_property' expects at least one object.bip_set_base_addr Line 4
3)原因分析:dpuczdx8g_0/S_AXI 这一列被排除,即 DPU 的 S_AXI 接口没有被分配地址
4)手动分配 dpuczdx8g_0/S_AXI 地址
5)重新 Validate Design,错误消失。
4. Design Example
4.1 MIPI Core 示例
4.1.1 新建任意工程
1)新建任意工程,并添加 MIPI CSI-2 Rx Subsystem IP Core,右键选择 Open IP Example Design 即可:
2)该示例以 ZCU102 板为目标板卡,据悉信息如下:
- 目标板:ZCU102
- FMC 型号:LI-IMX274MIPI-FMC V1.0 Single Sensor
- 设计拓扑:MIPI Video Pipe Camera to Display
3)示例功能
基于 MIPI CSI-2 Rx(摄像头)和 MIPI DSI Tx(显示)的参考设计:
- 来自IMX274传感器的图像数据通过 MIPI CSI-2 接收子系统处理。
- 进一步由视频 IP 处理,如去马赛克、伽马 LUT 等。
- 然后将图像显示在 HDMI 显示器或 MIPI DSI 显示面板上。
4)IP 配置
- MIPI CSI-2 Rx:通道=4,线速率=1440Mbps,数据类型=RAW10,像素模式=Dual
- MIPI DSI Tx:通道=4,线速率=1000Mbps,数据类型=RGB888,像素模式=Dual
4.1.2 video_out 位宽变化
切换 Diagram 中的 Interfaces View,观察 MIPI 输出之后的位宽变化:
- MIPI CSI-2 Rx Subsystem 的格式是 RAW10, Pixels_Per_Clock=2,实际输出为 24 bit
- Sensor Demosaic 的格式是 Data_Width=8, Samples_Per_Clock=2,实际输入为 16 bit
其中 AXI4-Stream Subset Converter 的设置中,TDATA 做了重映射:
Extra Settings
---
TDATA Remap String: tdata[19:12],tdata[9:2]
MIPI CSI-2 Rx 输出数据排列是:
mipi_video_out [------------------signle pixel-----------------] [------------signle pixel-------------]
[23],[22],[21],[20],[19],[18],[17],[16],[15],[14],[13],[12],[11],[10],[9],[8],[7],[6],[5],[4],[3],[2],[1],[0]
demosaic_in [-------------signle pixel------------] [--------signle pixel---------]
4.1.3 video_aclk 时钟连接
1)video_aclk 时钟域解释
2)示例工程中的连接
3)MIPI CSI-2 数据链路全都使用了该时钟
从左到右,依次为:
- MIPI CSI-2 Subsystem
- AXI4-Stream Subset Converter
- Sensor Demosaic
- Gamma LUT
- Video Processing Subsystem
- Video Frame Buffer Write
- AXI Interconnection
- Zynq UltraScale+ MPSoC
5. 总结
相关文章:
MIPI_DPU 综合(DPU+MIPI+Demosaic+VDMA 通路)
目录 1. 简介 2. 创建 Platform 2.1 Block Design 2.1.1 DPU PFM Lite 2.1.2 DPU prj 2.1.3 DPU MIPI Platform 2.2 pin 约束 2.2.1 GPIO 约束 2.2.2 IIC 约束 2.1.3 DPHY 约束 3. 报错总结 3.1 AXI_M 必须顺序引用 3.2 DPU 地址分配错误 4. Design Example 4.…...
开源模型应用落地-qwen2-7b-instruct-LoRA微调-Axolotl-单机多卡-RTX 4090双卡(七)
一、前言 本篇文章将使用Axolotl去高效微调QWen2系列模型,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。 二、术语介绍 2.1. LoRA微调 LoRA (Low-Rank Adaptation) 用于微调大型语言模型 (LLM)。 是一种有效的自适应策略,…...
电商项目-基于ElasticSearch实现商品搜索功能(一)
一、根据关键字查询商品 (1) shangcheng_service_search项目创建SearchService接口 public interface SearchService { /*** 全文检索* param paramMap 查询参数* return*/public Map search(Map<String, String> paramMap) throws Exception; }(2) shangcheng_serv…...
Kafka集群部署与安装
一、什么是Kafka Kafka是一个Pub-Sub的消息系统,无论是发布还是订阅,都须指定Topic。 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者大规模的网站中的所有动作流数据 二、JMS:Java Message Service Java消息服…...
基于深度学习的视觉检测小项目(二) 环境和框架搭建
一、环境和框架要求 SAM的环境要求: Python>3.7 PyTorch>1.7 torchvision>0.8 YOLO V8的环境要求:YOLO集成在ultralytics库中,ultralytics库的环境要求: Python>3.7 PyTorch>1.10.0 1、确定pytorch版本…...
JS (node) 的 ACM 模式 + debug方法 (01背包为例)
文章目录 JS 的 ACM 模式输入处理 JS dubug (01背包为例)动态输入在本地通过 Node.js 运行和调试 硬编码 Hard CodingVS Code JS 的 ACM 模式 在 JavaScript 中,ACM 模式一般通过 Node.js 的 readline 模块实现。 输入处理 使用 readline 模块监听输入。 将每行输…...
USB射频微波功率计的功能与优势-盛铂科技
USB射频功率计是一种用于测量射频信号(RF)功率的仪器,它通过USB接口与计算机或其他设备连接,以便于进行数据采集、处理和显示。 主要功能 功率测量:能够测量射频信号的功率,通常以毫瓦(mW&…...
基于单片机的公交车报站系统设计
引言:单片机应用实践是电类相关专业一门必修的专业技术基础课,其教学目的就是为了使学生能深入了解模拟电路、数字电路、EDA 技术、传感器、单片机原理及其相关接口的综合应用技术,为此我们选了一个典型的实践题目- 公交车报站系统设计&#…...
软考教材重点内容 信息安全工程师 第 12 章网络安全审计技术原理与应用
12.1.1 网络安全审计概念 网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在于建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便…...
Spring IOC
什么是spring 以前没有spring的时候,我们需要得到一个对象,都是自己主动去new一个对象,然后通过set方法给对象注入属性,但是这种动作其实是一个重复的动作,所以spring提供ioc的容器解决方案,在容器启动的时…...
Jmeter进阶篇(31)解决java.net.BindException: Address already in use: connect报错
📚前言 近期雪雪妹妹在使用Jmeter执行压测的时候,发现了一个非常让她头疼的问题,她使用20并发跑,正确率可以达到100%,但是一旦使用200并发,就会出现大量的报错,报错内容如下: java.net.BindException: Address already in use: connectat java.net.DualStackPlainSo…...
组会 | DenseNet
目录 1 研究背景1.1 提出的动机1.2 同期的模型 2 网络模型2.1 模型架构2.2 模块与参数2.3 瓶颈层和压缩率2.4 小结 3 实验结果4 优点与缺点4.1 DenseNet 的优点4.2 DenseNet 的缺点 前言:本博客仅为组会总结,如有谬误,请不吝指出…...
深入解析-正则表达式
学习正则,我们到底要学什么? 正则表达式(RegEx)是一种强大的文本匹配工具,广泛应用于数据验证、文本搜索、替换和解析等领域。学习正则表达式,我们不仅要掌握其语法规则,还需要学会如何高效地利…...
12306分流抢票软件 bypass v1.16.43 绿色版(春节自动抢票工具)
软件介绍 12306Bypass分流抢票软件,易操作强大的12306抢票软件,全程自动抢票,云识别验证码打码,多线程秒单、稳定捡漏,支持抢候补票、抢到票自动付款,支持多天、多车次、多席别、多乘客、短信提醒等功能。…...
Arduino UNO 驱动1.8 TFT屏幕显示中文
背景 最近入手了一块1.8寸的tft屏幕,通过学习文档,已经掌握了接线,显示英文、数字、矩形区域、划线、画点等操作, 但是想显示中文的时候操作比较复杂。 问题 1、arduino uno 驱动这款屏幕目前使的是自带的<TFT.h> 库操作…...
vue路由模式面试题
vue路由模式 1.路由的模式有哪些?有什么区别? history和hash模式 区别: 1.表现的形态不同: 在地址栏url中:hash模式中带有**#**号,history没有 2.请求错误时表现不同: 在hash模式中,对于404地址请求时,不会进行请求 但是在history模式中,对于404请求时,仍然会进行请求…...
计算机的错误计算(二百零一)
摘要 用两个大模型计算 ,结果保留 10位有效数字。实验表明,两个大模型的输出均只有1位正确数字;并它们几乎相同:仅最后1位数字不同。 例1. 计算 , 结果保留 10位有效数字。 下面是与一个数学解题器的对话。 以上为与一个数学解…...
WandB使用笔记
最近看代码,发现代码中有wandb有关的内容,搜索了一下发现是一个模型训练工具,然后学习了一下,这里记录一下使用过程,方便以后查阅。 WandB使用笔记 登录WandB 并 创建团队安装 WandB 并 登录模型训练过程跟踪模型版本管…...
TTL 传输中过期问题定位
问题: 工作环境中有一个acap的环境,ac的wan口ip是192.168.186.195/24,ac上lan上有vlan205,其ip子接口地址192.168.205.1/24,ac采用非nat模式,而是路由模式,在上级路由器上有192.168.205.0/24指向…...
spring mvc源码学习笔记之五
pom.xml 内容如下 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…...
Java 数据库连接 - Sqlite
Java 数据库连接 - Sqlite PS: 1. 连接依赖库:[sqlite-jdbc-xxx.jar](https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc)(根据连接的数据库版本选择) 2. 支持一次连接执行多次sql语句; 3. 仅本地连接;使用说明: publ…...
【Rust自学】10.2. 泛型
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 题外话:泛型的概念非常非常非常重要!!!整个第10章全都是Rust的重难点!…...
鸿蒙MPChart图表自定义(六)在图表中绘制游标
在鸿蒙开发中,MPChart 是一个非常强大的图表库,它可以帮助我们创建各种精美的图表。今天,我们将继续探索鸿蒙MPChart的自定义功能,重点介绍如何在图表中绘制游标。 OpenHarmony三方库中心仓 一、效果演示 以下是效果演示图&…...
PHP在做api开发中,RSA加密签名算法如何使用 ?
RSA 加密是什么 RSA(Rivest-Shamir-Adleman)是最早的公钥密码系统之一,广泛用于安全数据传输。3 位数学家 Rivest、Shamir 和 Adleman 的名字来命名的。 是非对称加密的一种 这种算法非常可靠,密钥越长,它就越难破解。…...
PHP+Redis的基本操作方法
一、Redis连接与认证 二、String操作 三、Hash操作 四、List操作 五、Set操作 六、Zset操作 一、Redis连接与认证 $redis new Redis(); //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false $ret $redis->connec…...
非docker方式部署openwebui过程记录
之前一直用docker方式部署openwebui,结果这东西三天两头升级,我这一升级拉取docker镜像硬盘空间嗖嗖的占用,受不了,今天改成了直接部署,以下是部署过程记录。 一、停止及删除没用的docker镜像占用的硬盘空间 docker s…...
豆包ai 生成动态tree 增、删、改以及上移下移 html+jquery
[豆包ai 生成动态tree 增、删、改以及上移下移 htmljquery) 人工Ai 编程 推荐一Kimi https://kimi.moonshot.cn/ 推荐二 豆包https://www.doubao.com/ 实现效果图 html 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF…...
基于STM32环境温湿度监测系统设计(附项目代码zip)
一.介绍 本文详细介绍了一种基于STM32F103C8T6微控制器DS18B20温度传感器DHT11温湿度传感器的环境监测系统。该系统旨在实时监测周围环境的温度与湿度,通过OLED实时显示温湿度值,通过USART串口实时打印温湿度值,并在温湿度超过预设阈值时&am…...
Kafka配置公网或NLB访问(TCP代理)
这套配置适用于TCP代理和公网访问,kafka版本2.8,版本如果不同配置参数会有一些差异,原理一致 分几种场景,正常来说我们直接使用kafka IP地址访问就行,考虑到网络架构和环境安全,需要使用公网或代理访问kaf…...
30分钟学会css
CSS 基本语法 CSS(Cascading Style Sheets)是一种样式表语言,用于描述 HTML(或 XML)文档的呈现。它可以控制网页元素的颜色、字体、布局等外观样式,实现内容与表现的分离,让网页设计更加灵活和…...
若依修改超级管理员admin的密码
通过接口方式或者页面 /system/user/resetPwd 需改其他用户的密码 修改其他用户的加密的密码,然后通过数据库将admin更新为这个密码就修改好了...
《柴油遗产-无耻时代》V98375官方版
靠近你所在赛道上的另一名玩家进行攻击或防守,跳到另一条赛道上进行恢复,或闪到对手背后打他个措手不及。与队友合作,充分利用每个角色的独特玩法来控制战斗走向! 《柴油遗产-无耻时代》官方版 https://pan.xunlei.com/s/VODW7xDX…...
加固服务器有什么用?
为什么越来越多的企业和个人都在加固他们的服务器?加固服务器不仅可以保护数据安全,还能提升整体系统的稳定性和可靠性。下面是聚名网的一些介绍。 加固服务器的首要目的就是提高安全性。随着网络攻击手段的不断演变,黑客和恶意软件的威胁也…...
Json字符串解析失败
通过第三方服务,拿到响应体的data对象(拿到的时候对象是有值的) 通过JSON.parseObject方法,拿到的对象,值为null 通过查看对应的json字符串,发现命名不一样... JSONField SeriealizedName注解是用来解析j…...
比较 FreeSWITCH 的 asr 事件和回调函数
用 lua 来描述,是这样的 第一种做法: session:setVariable("fire_asr_events", "true") session:execute("detect_speech", "start-input-timers") 识别到结果之后可以收到 DETECTED_SPEECH 事件 另外一个做法…...
Pytorch 三小时极限入门教程
一、引言 在当今的人工智能领域,深度学习占据了举足轻重的地位。而 Pytorch 作为一款广受欢迎的深度学习框架,以其简洁、灵活的特性,吸引了大量开发者投身其中。无论是科研人员探索前沿的神经网络架构,还是工程师将深度学习技术落…...
125个Docker的常用命令
基本命令命令描述示例docker run创建并启动一个容器docker run -it ubuntu bashdocker ps列出当前运行的容器docker psdocker ps -a列出所有容器,包括未运行的docker ps -adocker stop停止一个运行中的容器docker stop [CONTAINER_ID]docker start启动一个已停止的容…...
C# 设计模式(结构型模式):组合模式
C# 设计模式(结构型模式):组合模式 在软件设计中,有时我们需要处理的是一组对象,而这些对象既可以是单独的元素,也可以是由多个子元素组成的复合体。这时,组合模式(Composite Patte…...
【HarmonyOS】:DevEco Studio安装与应用工程创建指南
前言 本文旨在为初涉 HarmonyOS 开发的开发者提供一份详尽的入门指南,涵盖从安装最新版 DevEco Studio 到使用该 IDE 创建首个应用工程的具体步骤。通过遵循本指南,您将能够顺利搭建起自己的开发环境,并迈出构建HarmonyOS应用的第一步。 一、…...
【C/C++】手搓项目中常用小工具:日志、sqlit数据库、Split切割、UUID唯一标识
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章将写到一些手搓常用工具,方便在项目中的使用,并且在手搓的过程中一些函数如:日志 宏中的__VA_ARGS__接收可变参…...
【论文阅读】Anchor-based fast spectral ensemble clustering
论文地址:Anchor-based fast spectral ensemble clustering - ScienceDirect 代码地址: 摘要 集成聚类通过融合多个基础聚类方法,可以获得更好且更稳健的结果,因此受到广泛关注。尽管近年来已经出现了许多代表性的算法ÿ…...
asp.net core 发布到iis后,一直500.19,IIS设置没问题,安装了sdk,文件夹权限都有,还是报错
原因就是没有安装ASP.NET Core 9.0 Runtime (v9.0.0) - Windows Hosting Bundle,我是只安装了.net core的sdk,下面介绍下sdk和hosting bundle的关系 在 .NET Core 和 ASP.NET Core 的开发中,SDK(Software Development Kit&#x…...
牛客月赛108
目录 A. 小S按按钮 C. 小T数星星 E. 小M种树 A. 小S按按钮 (1) 二分答案的右边界一定要开大。若 x 等于 0,最多 2 * y 次 (2)根据是要最小还是最多,调整 if ( check ( mid ) ) 里的是 l 还是 r #include&l…...
QML自定义进度条和单选按钮的样式
1.自定义进度条的样式 1.1代码展示 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.1Window {visible: truewidth: 640height: 480title: qsTr("Hello World")ProgressBar {id: myProgressvalue: 0.5padding: 2anchors.centerIn: parent…...
jetbrain 安装 copilot
问题一:Sign in failed. Reason: Request signInInitiate failed with message: Request to /github.com/login/device/code> timed out after 30000ms, request id: 11, error code: -32603 解决方案: 参考资料:https://github.com/orgs/…...
FPGA 4x4矩阵键盘 实现
1原理 FPGA(现场可编程门阵列)4x4矩阵键盘的实现原理主要基于行列扫描法,通过FPGA对键盘的扫描和识别,实现对键盘输入信号的采集和处理。以下是对FPGA 4x4矩阵键盘实现原理的详细解释: 一、矩阵键盘的基本原理 结构:4x4矩阵键盘由4行和4列组成,共16个按键。每个按键位…...
探索 JMeter While Controller:循环测试的奇妙世界
嘿,宝子们!今天咱们就来聊聊 JMeter 里超级厉害的 While 控制器,它就像是一把神奇的钥匙,能帮我们打开循环测试的大门,模拟出各种各样复杂又有趣的场景哦! 一、While 控制器初印象 想象一下,你…...
Facebook元宇宙项目中的智能合约应用:提升虚拟空间的自治能力
近年来,Facebook在元宇宙领域的探索引起了广泛关注。元宇宙是一个融合虚拟现实(VR)、增强现实(AR)和互联网的沉浸式数字空间。在这个过程中,智能合约技术被认为是提升虚拟空间自治能力的关键工具。通过自动…...
前后端规约
文章目录 引言I 【强制】前后端交互的 API请求内容响应体响应码II 【推荐】MVC响应体III【参考】IV 其他引言 服务器内部重定向必须使用 forward;外部重定向地址必须使用 URL 统一代理模块生成,否则会因线上采用 HTTPS 协议而导致浏览器提示“不安全”,并且还会带来 URL 维护…...
获取 Astro Bot AI 语音来增强您的游戏体验!
有很多用户尝试过Astro Bot,却被Astro Bot可爱的声音所吸引。您是否想知道如何使用 Astro Bot 语音来拨打恶作剧电话或用他的声音说话?如果您有,那么这篇文章适合您。我们将向您展示如何为 Astro Bot 提供逼真的 AI 声音并在在线对话中使用它…...