20250727讓飛凌OK3576-C開發板在Rockchip的原廠Android14下通過耳機播音

20250727讓飛凌OK3576-C開發板在Rockchip的原廠Android14下通過耳機播音
2025/7/27 23:28


緣起:很容易知道 飛凌OK3576-C開發板 使用的聲卡芯片是 NAU88C22YG
新唐科技(NUVOTON) NAU8822LYG NAU88C22YG 新唐立體聲音頻編解碼芯片

原理圖:OK3576-C V1.2_20240830.pdf
搜索:HP,耳機,很容易找到第16頁/總共21頁,

NAU88C22YG
IIC ADDRESS:0011010R/W
0x1A


1、使用【最接近】Rockchip的原廠Android14,KickPi 7的SDK。
DTS適應EVB1編譯,沒有聲音。


2、直接使用 飛凌OK3576-C開發板 的DTS。
Y:\OK3576-android-source\kernel-6.1\arch\arm64\boot\dts\rockchip\OK3576-C-android.dts
還是沒有聲音。

1|console:/sdcard #?
1|console:/sdcard # cat /proc/asound/cards
0 [rockchipnau8822]: rockchip-nau882 - rockchip-nau8822
rockchip-nau8822

1 [rockchipdp0 ? ?]: rockchip-dp0 - rockchip-dp0
rockchip-dp0
2 [rockchiphdmi ? ]: rockchip-hdmi - rockchip-hdmi
rockchip-hdmi
console:/sdcard #?
console:/sdcard # ls -l /dev/snd/
total 0
crw-rw---- 1 system audio 116, ? 4 2025-07-27 15:17 controlC0
crw-rw---- 1 system audio 116, ? 6 2025-07-27 15:17 controlC1
crw-rw---- 1 system audio 116, ? 9 2025-07-27 15:17 controlC2
crw-rw---- 1 system audio 116, ? 3 2025-07-27 15:17 pcmC0D0c
crw-rw---- 1 system audio 116, ? 2 2025-07-27 15:17 pcmC0D0p
crw-rw---- 1 system audio 116, ? 5 2025-07-27 15:17 pcmC1D0p
crw-rw---- 1 system audio 116, ? 8 2025-07-27 15:17 pcmC2D0c
crw-rw---- 1 system audio 116, ? 7 2025-07-27 15:17 pcmC2D0p
crw-rw---- 1 system audio 116, ?33 2025-07-27 15:17 timer
console:/sdcard #?
console:/sdcard # ll
total 52115
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Alarms
drwxrws--x 5 media_rw media_rw ? ? 3452 2025-07-27 15:17 Android
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Audiobooks
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 DCIM
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Documents
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Download
drwxrws--- 3 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Movies
drwxrws--- 3 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Music
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Notifications
drwxrws--- 3 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Pictures
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Podcasts
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Recordings
drwxrws--- 2 u0_a74 ? media_rw ? ? 3452 2025-07-27 15:17 Ringtones
-rw-rw---- 1 u0_a74 ? media_rw 53268598 2025-07-27 12:45 kiss8.wav
console:/sdcard # tin
tinycap ? ? ?tinymix ? ? ?tinypcminfo ?tinyplay
console:/sdcard # tinyp ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
tinypcminfo ?tinyplay
console:/sdcard # tinyplay ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
Usage: tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]?

1|console:/sdcard #?
1|console:/sdcard # tin
tinycap ? ? ?tinymix ? ? ?tinypcminfo ?tinyplay
1|console:/sdcard # tinyplay kiss8.wav -D 0 -d 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
Playing sample: 2 ch, 44100 hz, 16 bit 53268480 bytes


3、那就分析/比對內核/driver。
直接查找nau88c22*.c,找不到!
很容易/根據經驗/艱難得知驅動名是:nau8822.c

rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217$?
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217$ cd kernel-6.1/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$?
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$?
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$ find . -name nau88c22*.c
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$?
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$ find . -name nau8822*.c
./sound/soc/codecs/nau8822 - 副本.c
./sound/soc/codecs/nau8822.c
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$?
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/rk3576-android14.0-20250217/kernel-6.1$?


https://blog.csdn.net/qq_39104123/article/details/115752708?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-2-115752708-blog-143410504.235%5Ev43%5Epc_blog_bottom_relevance_base8&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-2-115752708-blog-143410504.235%5Ev43%5Epc_blog_bottom_relevance_base8&utm_relevant_index=4
基于imx8mq的NAU8822音頻驅動開發
https://blog.csdn.net/qq_39104123/article/details/115752708

CSDN:NAU88C22YG 驅動名:nau8822.c


4、和 飛凌OK3576-C開發板 原廠的 內核/driver 進行比對,很容易知道 飛凌對 Rockchip的原廠Android14的SDK進行過魔改了!
修改之后,可以在命令行讓 tinyplay播放器通過耳機發生了。
但是在Android界面還是不能播音。還需要修正!

Y:\rk3576-android14.0-20250217\kernel-6.1\sound\soc\codecs\nau8822.h
Y:\OK3576-android-source\kernel-6.1\sound\soc\codecs\nau8822.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
* nau8822.h ?-- ?NAU8822 ALSA SoC Audio driver
*
* Copyright 2017 Nuvoton Technology Crop.
*
* Author: David Lin <ctlin0@nuvoton.com>
* Co-author: John Hsu <kchsu0@nuvoton.com>
* Co-author: Seven Li <wtli@nuvoton.com>
*/

#ifndef __NAU8822_H__
#define __NAU8822_H__
#include <linux/clk.h>


/* Codec Private Data */
struct nau8822 {
struct device *dev;
struct regmap *regmap;
int mclk_idx;
struct nau8822_pll pll;
int sysclk;
int div_id;
?? ?struct clk *clk;
};

Y:\rk3576-android14.0-20250217\kernel-6.1\sound\soc\codecs\nau8822.c
Y:\OK3576-android-source\kernel-6.1\sound\soc\codecs\nau8822.c

static int nau8822_i2c_probe(struct i2c_client *i2c)
{
struct device *dev = &i2c->dev;
struct nau8822 *nau8822 = dev_get_platdata(dev);
int ret;

?? ?if (!nau8822) {
nau8822 = devm_kzalloc(dev, sizeof(*nau8822), GFP_KERNEL);
if (nau8822 == NULL)
return -ENOMEM;
}
i2c_set_clientdata(i2c, nau8822);

?? ?/* Setup clocks */
nau8822->clk = devm_clk_get(&i2c->dev, NULL);
if (IS_ERR(nau8822->clk)) {
dev_err(&i2c->dev, "codec clock missing or invalid\n");
ret = PTR_ERR(nau8822->clk);
}

? ? ? ?ret = clk_prepare_enable(nau8822->clk);
if (ret) {
dev_err(&i2c->dev, "unable to prepare codec clk\n");
}

?? ?nau8822->regmap = devm_regmap_init_i2c(i2c, &nau8822_regmap_config);
if (IS_ERR(nau8822->regmap)) {
ret = PTR_ERR(nau8822->regmap);
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
return ret;
}
nau8822->dev = dev;

?? ?/* Reset the codec */
ret = regmap_write(nau8822->regmap, NAU8822_REG_RESET, 0x00);
if (ret != 0) {
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
return ret;
}

?? ?ret = devm_snd_soc_register_component(dev, &soc_component_dev_nau8822,
&nau8822_dai, 1);
if (ret != 0) {
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
return ret;
}

?? ?return 0;
}


【這里還需要進一步修正!】
Y:\OK3576-android-source\hardware\rockchip\audio\tinyalsa_hal\codec_config\config_list.h


參考資料:
聲卡

百度:RK3576 默認聲卡
Error: 'kiss8.mp3' is not a riff/wave file
tinyplay 制定聲卡
rk3588 nau8822
RK3588 nau8822
RK3576 NAU88C22YG
NAU88C22YG

BING:rk平臺怎么調試nau8822
rk3576 nau8822

CSDN:nau8822

https://www.nuvoton.com/resource-files/NAU8822DataSheetRev3.3.pdf

https://www.eeworld.com.cn/qrs/eic698427.html
基于RK3576開發板的聲卡資源介紹
aplay -l


https://blog.csdn.net/weixin_68294039/article/details/124248608?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-2-124248608-blog-148433086.235%5Ev43%5Epc_blog_bottom_relevance_base8&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-2-124248608-blog-148433086.235%5Ev43%5Epc_blog_bottom_relevance_base8&utm_relevant_index=5
RK3566,ES7202聲卡驅動添加
https://blog.csdn.net/weixin_68294039/article/details/124248608

4.修改安卓hal層
在hardware/rockchip/audio/tinyalsa_hal/下的audio_hw.c,修改內容:


https://blog.csdn.net/lingzhou0909/article/details/148433086
RK3576 Android14 DMIC調制

使用tinycap工具來錄音,如下
tinycap /sdcard/rec.wav -D 1 -d 0 -c 2 -r 44100 -b 16 -p 1024 -n 3


https://blog.csdn.net/qq_38312843/article/details/124868449
RK聲卡調試

cat /proc/asound/cards
ls -l /dev/snd/
tinyplay /sdcard/test44.wav -D 0 -d 0 -p 1024 -n 3
hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h

【付費】
https://blog.csdn.net/radianceblau/article/details/64125411
linux驅動由淺入深系列:tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)音頻子系統之一

https://blog.csdn.net/lf12345678910/article/details/102497454
tinyplay 聲卡播放

https://blog.csdn.net/wenjin359/article/details/83006820
tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)

/dev/snd/pcmC*

vendor/brand/kernel/linaro/sound/core/init.c
snd_card_create
vendor/brand/kernel/linaro/sound/usb/card.c
snd_usb_audio_probe


root@:/ # cat proc/asound/cards ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
0 [No00 ? ? ? ? ? ]: brand ALSA Drv - brand MAD No.00
brand MPEG Audio Decoder No.00

root@:/ # tinypcminfo -D /proc/asound/cards
Info for card 0, device 0:
PCM out:

root@:/ # tinyplay mnt/usb/17EC-1152/file.wav -D 0 -d 2 -n 2
//tinyplay mnt/usb/17EC-1152/file.wav -D 0 -d 3 -n 2 ? ? ? ? ? ? ? ? ? ? ? ? ?


root@:/ # ls -al dev/snd/pcm* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
crw-rw---- system ? audio ? ?116, ?24 2007-01-01 20:00 pcmC0D0c
crw-rw---- system ? audio ? ?116, ?16 2007-01-01 20:00 pcmC0D0p
crw-rw---- system ? audio ? ?116, ?25 2007-01-01 20:00 pcmC0D1c
crw-rw---- system ? audio ? ?116, ?17 2007-01-01 20:00 pcmC0D1p
crw-rw---- system ? audio ? ?116, ?18 2007-01-01 20:00 pcmC0D2p
crw-rw---- system ? audio ? ?116, ?19 2007-01-01 20:00 pcmC0D3p?


【付費】
https://wenku.csdn.net/answer/407dbnsft2
rk平臺怎么調試nau8822 - CSDN文庫.mhtml


https://blog.csdn.net/weixin_43245753/article/details/123915015
Rockchip RK3588 kernel dts解析之音頻模塊


https://bbs.16rd.com/thread-584429-1-1.html
[瑞芯微RK資料] 瑞芯微RK3328/RK3366/RK3368/RK3399平臺Audio開發指南

2.2.4 聲卡調試
1. 通過如下命令確認聲卡是否注冊成功
root@rk3366:/ # cat /proc/asound/cards
0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codec
rockchip,rt5640-codec
root@rk3366:/ # ls -l /dev/snd/
crw-rw---- system audio 116, 2 2013-01-18 08:51 controlC0
crw-rw---- system audio 116, 4 2013-01-18 08:51 pcmC0D0c
crw-rw---- system audio 116, 3 2013-01-18 08:51 pcmC0D0p
2. 通過命令行播放錄制調試聲卡:
播放:一般播放 1khz 0db 正弦波,然后在 codec 輸出端示波器簡單測量是否失真,雜音,然后再使用音頻分析儀測試指標。
root@rk3366:/ # tinyplay
Usage: tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]
|root@rk3366:/ # tinyplay /sdcard/test44.wav -D 0 -d 0 -p 1024 -n 3
Playing sample: 2 ch, 44100 hz, 32 bit
......


https://blog.csdn.net/2301_76587520/article/details/145768380?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-8-145768380-blog-106573423.235^v43^pc_blog_bottom_relevance_base8&spm=1001.2101.3001.4242.5&utm_relevant_index=11
開發板適配之SAI i.MX6ULL NAU88C22【驅動driver + DTS】

SAI音頻接口只是傳輸音頻數據的數字接口,所以這些音頻編解碼的工作需要一個專有的編解碼芯片來完成,ELF 1使用的是NAU88C22芯片,NAU88C22可連接mic和揚聲器或耳機用于錄音和播放聲音。i.MX6ULL使用I2S總線與NAU88C22進行音頻數據的傳輸,I2S(Inter—IC Sound)總線,又稱集成電路內置音頻總線,是Philips公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,該總線專門用于音頻設備之間的數據傳輸,廣泛應用于各種多媒體系統。


https://www.elecfans.com/d/6382666.html
RK3588核心板多媒體功能一覽

先在EVM-RK3588底板接好MIC設備,再執行下面指令;采集聲音 10 秒,并且保存為 wav 格式。
$ arecord -D default:CARD=rockchipnau8822 -d 10 -f cd -t wav test1.wav


https://bbs.elecfans.com/jishu_2477148_1_1.html
[活動] 【ELF 2學習板試用】05 ASoC中的machine class


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93241.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93241.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93241.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

正向代理和反向代理的理解

**正向代理&#xff08;Forward Proxy&#xff09;和反向代理&#xff08;Reverse Proxy&#xff09;**是兩種不同類型的代理服務器&#xff0c;它們在數據傳輸過程中扮演的角色、使用場景以及工作方式都有所不同。 正向代理&#xff08;Forward Proxy&#xff09; 定義與作用&…

Java 后端 Cookie Session Token會話跟蹤技術

概述 會話從字面理解就是"兩方交流"&#xff0c;那問題就來了&#xff0c;HTTP&#xff08;超文本傳輸協議&#xff09;里面的"傳輸"不就包含了"兩方交流"的意思嗎&#xff1f;為什么要多此一舉提出會話技術呢&#xff1f; 談到這個&#xff0c;…

智譜AI GLM大模型 GLM-4-Plus的快速使用 ChatOpenAI類來調用GLM-4模型

智譜AIGLM-4&#xff0c;2024年1月16日發布的第四代基座大模型&#xff0c;其整體性能相較前代提升近60%&#xff0c;多維度指標逼近OpenAI的GPT-4水平。該模型支持128K上下文窗口&#xff08;約300頁文本處理能力&#xff09;&#xff0c;在長文本信息處理中實現100%精度召回。…

AsyncLocal淺復制的問題解決方案

針對C#中AsyncLocal<T>淺復制問題&#xff0c;以下是幾種主要的解決方案&#xff1a; 1. 使用不可變對象&#xff08;推薦&#xff09; 將存儲在AsyncLocal<T>中的對象設計為不可變的&#xff0c;避免修改共享狀態&#xff1a; public class ImmutableUserContext …

IIS發布.NET9 API 常見報錯匯總

記錄工作過程中發現的IIS常見錯誤。 1. HTTP Error 500.19 - Internal Server Error .NET 9 API --》vs打包方式如下&#xff1a; 發布到IIS后報錯HTTP Error 500.19 - Internal Server Error。 解決方案&#xff1a; 下載ASP.NET Core Hosting Bundle&#xff08;ASP.NET Co…

Google Chrome V8< 13.7.120 沙箱繞過漏洞

【嚴重】Google Chrome V8< 13.7.120 沙箱繞過漏洞 漏洞描述 V8 是 Google 開發的一款開源高性能 JavaScript 和 WebAssembly 引擎&#xff0c;廣泛用于 Chrome 瀏覽器和 Node.js 等項目中。 受影響版本中&#xff0c;JsonParser::MakeString 函數在處理長度為 1 的轉義字…

基于Spring Boot和Vue電腦維修平臺整合系統的設計與實現

用戶&#xff1a;注冊&#xff0c;登錄&#xff0c;在線報修&#xff0c;維修接單&#xff0c;維修報告&#xff0c;維修評價&#xff0c;個人資料維修工&#xff1a;登錄&#xff0c;在線報修&#xff0c;維修接單&#xff0c;維修報告&#xff0c;維修評價&#xff0c;通知公…

InsightFace(RetinaFace + ArcFace)人臉識別項目(預訓練模型,魯棒性很好)

背景介紹 這是一個 簡單的人臉識別項目&#xff0c;用 FastApi 在本地實現&#xff0c;使用預訓練模型&#xff0c;直接可用。 新方案比之前的FaceNet強太多了&#xff0c;甚至不用數據增強等操作&#xff0c;就可以識別戴眼鏡、不戴眼鏡、歪著的人臉等。 充分證明了選型的重要…

App Inventor 2 使用 MaterialIcons 圖標字體,快捷展示專業圖標

平時布局的話&#xff0c;如果要使用圖標&#xff0c;一般需要去找 png 圖片&#xff0c;且透明背景的。如果需要根據不同常見圖標進行變色的話&#xff0c;就需要準備多張不同樣式的圖標&#xff0c;還要考慮圖片的分辨率等等因素&#xff0c;非常的麻煩。 這時&#xff0c;如…

C語言——關于指針(逐漸清晰版)

為了更好地理解本篇文章的知識內容&#xff0c;讀者可以將以下文章作為補充知識進行閱讀 &#xff1a; C語言————原碼 補碼 反碼 &#xff08;超絕詳細解釋&#xff09;-CSDN博客 C語言————二、八、十、十六進制的相互轉換-CSDN博客 C語言————斐波那契數列的理解…

SVG 在線編輯器

SVG 在線編輯器 引言 隨著互聯網技術的發展&#xff0c;矢量圖形在網頁設計和數據可視化中扮演著越來越重要的角色。SVG&#xff08;可縮放矢量圖形&#xff09;因其文件小、無限縮放不模糊的特性&#xff0c;成為了網頁設計中常用的圖形格式。SVG 在線編輯器的出現&#xff0c…

libpostproc 已經從 ffmpeg 中移除,導致編譯 ffmpeg 時沒有 libpostproc

今天編譯 ffmpeg 時突然發現 libpostproc 不見了&#xff0c;-enable-postproc 也變成了非法的選項。用搜索引擎搜索相關信息找不到一點&#xff0c;于是去 github 看。 從提交記錄可以看到 libpostproc 已經被移除了 鏈接 主線中已經看不到了 libpostproc 這個目錄了

基于 Dell PowerEdge T440 搭建的 Proxmox VE 配置 RTX 3060 顯卡直通虛擬機、切換直通

基于 Dell PowerEdge T440 搭建的 Proxmox VE 配置 RTX 3060 顯卡直通虛擬機、切換直通 文章目錄 基于 Dell PowerEdge T440 搭建的 Proxmox VE 配置 RTX 3060 顯卡直通虛擬機、切換直通 1. 前言 2. 前提條件 3. 配置步驟 3.1. 啟用 VT-d 3.2. 激活 IOMMU 3.3. 添加 VFIO 模塊 …

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘voila’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘voila’問題 摘要 在開發過程中&#xff0c;我們常常會遇到pip安裝包時出現各種錯誤&#xff0c;特別是在使用PyCharm進行開發時。本文將詳細介紹如何解決安裝…

[spring6: @EnableWebMvc]-源碼分析

源碼 EnableWebMvc EnableWebMvc 是用于啟用 Spring MVC 的注解&#xff0c;它通過導入 DelegatingWebMvcConfiguration 來加載默認的 MVC 配置&#xff0c;同時允許開發者通過實現 WebMvcConfigurer 接口來自定義部分配置&#xff1b;若需更高階的控制&#xff0c;則可直接繼承…

Jmeter的元件使用介紹:(四)前置處理器詳解

Jmeter的前置處理器可以用來在取樣器執行前做一些數據準備操作&#xff0c;也需要注意使用的作用域問題。常用的前置處理器有&#xff1a;用戶參數、BeanShell預處理器、JDBC預處理器。一、用戶參數 【用戶參數】與前面介紹過的【用戶定義的變量】有相似之處&#xff0c;先來介…

十七、K8s 可觀測性:全鏈路追蹤

十七、K8s 可觀測性&#xff1a;全鏈路追蹤 文章目錄十七、K8s 可觀測性&#xff1a;全鏈路追蹤1、Skywalking 初識1.1 為什么需要全鏈路追蹤平臺1.2 全鏈路追蹤核心組件及工作原理1.2.1 全鏈路追蹤核心概念1.2.2 全鏈路追蹤工作原理1.3 什么是Skywalking&#xff1f;1.4 Skywa…

2025 Gitee vs. GitLab:全面對比與選擇指南

在軟件研發持續加速、合規要求日益嚴格的背景下&#xff0c;選擇合適的代碼托管平臺成為團隊數字化能力建設的關鍵環節。尤其在中國本土市場&#xff0c;Gitee正憑借其深度本地化能力、全面生態整合和開源社區支撐&#xff0c;成為國內團隊首選的開發協作平臺。 一、Gitee&…

期貨反向跟單忌諱問題(一): 不斷調整盤手交易規則

在期貨反向跟單領域&#xff0c;不少運營者在摸著石頭過河的過程中&#xff0c;容易陷入一個致命誤區——對盤手交易規則的頻繁調整。這種看似“優化策略”的舉動&#xff0c;往往會讓整個跟單體系陷入惡性循環&#xff0c;最終偏離盈利初衷。期貨反向跟單的核心邏輯是&#xf…

Effective C++ 條款07:為多態基類聲明virtual析構函數

Effective C 條款07&#xff1a;為多態基類聲明virtual析構函數核心思想&#xff1a;當通過基類指針刪除派生類對象時&#xff0c;如果基類沒有虛析構函數&#xff0c;會導致派生類資源泄漏。因為此時只會調用基類的析構函數&#xff0c;而不會調用派生類的析構函數。 ?? 1. …