20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识

20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识
2025/1/18 15:12


缘起:做飞凌OK3588-C开发板/核心板【Linux R4】的时候,测试/生产要求没有开机LOGO【飞凌/Rockchip】
要求:黑屏或者中性界面。
这次决定也这样干。结果Vysor可以进Android的UI界面,LCD屏进不了。
于是将Rockchip给的BMP文件在WIN10自带的画图中给直接涂黑了!
【可能的原因:荣品不让拿掉LOGO文件 或者是 Android13系统要求的】使用ACD See 5.0很容易知道logo.bmp和logo_kernel.bmp都是256色的BMP文件。【654x270x256色】
如果使用WIN10自带的画图工具编辑之后保存成为24bit的BMP文件也是可以正常使用的。


https://doc.rpdzkj.cn/#/zh_cn/%E7%91%9E%E8%8A%AF%E5%BE%AE%E7%B3%BB%E5%88%97/%E7%91%9E%E8%8A%AF%E5%BE%AE%E9%80%9A%E7%94%A8%E6%96%87%E6%A1%A3/%E5%BC%80%E6%9C%BALogo%E4%B8%8E%E5%8A%A8%E7%94%BB
我们这边是建议修改中性的或者黑屏logo 
板子首先跑 uboot 接着跑kernel 再跑到系统,最后加载对应的应用,这个开机log 是在板子跑进系统前展示的画面,去不去掉并不影响开机时间,建议不要改显示的部分.直接去掉反而会对稳定性有影响


Xshell 8 (Build 0065)
Copyright (c) 2024 NetSarang Computer, Inc. All rights reserved.

Type `help' to learn how to use Xshell prompt.
[C:\~]$ 

Connecting to 192.168.3.250:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-130-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Introducing Expanded Security Maintenance for Applications.
   Receive updates to over 25,000 software packages with your
   Ubuntu Pro subscription. Free for personal use.

     https://ubuntu.com/pro

Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '22.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Jan 18 11:03:55 2025 from 192.168.3.199
rootroot@rootroot-X99-Turbo:~$ cd Android13.0/
rootroot@rootroot-X99-Turbo:~/Android13.0$ ll
total 1160488
drwxrwxrwx  37 rootroot rootroot       4096 12月 10 16:32 ./
drwxr-xr-x  32 rootroot rootroot       4096 1月  18 14:47 ../
lrwxrwxrwx   1 rootroot rootroot         19 12月 10 10:06 Android.bp -> build/soong/root.bp
drwxrwxr-x  37 rootroot rootroot       4096 12月 10 10:06 art/
drwxrwxr-x  14 rootroot rootroot       4096 12月 10 10:06 bionic/
drwxrwxr-x   4 rootroot rootroot       4096 12月 10 10:06 bootable/
lrwxrwxrwx   1 rootroot rootroot         26 12月 10 10:06 bootstrap.bash -> build/soong/bootstrap.bash*
drwxrwxr-x   8 rootroot rootroot       4096 12月 10 10:06 build/
lrwxrwxrwx   1 rootroot rootroot         23 12月 10 10:06 BUILD -> build/bazel/bazel.BUILD
-rwxrwxr-x   1 rootroot rootroot      27397 12月 10 10:06 build.sh*
-rwxrwxr-x   1 rootroot rootroot      14109 12月 10 10:06 .classpath*
drwxrwxr-x  13 rootroot rootroot       4096 12月 10 10:06 cts/
drwxrwxr-x   7 rootroot rootroot       4096 12月 10 10:06 dalvik/
drwxrwxr-x   5 rootroot rootroot       4096 12月 10 10:06 developers/
drwxrwxr-x  20 rootroot rootroot       4096 12月 10 10:06 development/
drwxrwxr-x  11 rootroot rootroot       4096 12月 10 10:06 device/
drwxrwxr-x 385 rootroot rootroot      12288 1月  16 09:42 external/
drwxrwxr-x  16 rootroot rootroot       4096 12月 10 10:07 frameworks/
drwxrwxr-x   8 rootroot rootroot       4096 12月 10 10:12 .git/
-rw-rw-r--   1 rootroot rootroot         14 12月 10 10:06 .gitignore
drwxrwxr-x  19 rootroot rootroot       4096 12月 10 10:07 hardware/
-rw-rw-r--   1 rootroot rootroot        162 12月 10 10:07 javaenv.sh
drwxrwxr-x   5 rootroot rootroot       4096 12月 10 10:07 kernel/
drwxrwxr-x  26 rootroot rootroot       4096 1月  14 18:07 kernel-5.10/
-rw-rw-r--   1 rootroot rootroot 1128659893 12月 10 13:49 kernel-5.10b.tgz
drwxrwxr-x  19 rootroot rootroot       4096 12月 10 10:07 libcore/
drwxrwxr-x   9 rootroot rootroot       4096 12月 10 10:07 libnativehelper/
drwxrwxr-x  10 rootroot rootroot       4096 12月 10 10:07 mkcombinedroot/
-rwxrwxr-x   1 rootroot rootroot      10437 12月 10 10:07 mkimage_ab.sh*
-rwxrwxr-x   1 rootroot rootroot       8581 12月 10 10:07 mkimage.sh*
drwxrwxr-x  13 rootroot rootroot       4096 1月  18 11:07 out/
drwxrwxr-x   9 rootroot rootroot       4096 12月 10 10:08 packages/
drwxrwxr-x   5 rootroot rootroot       4096 12月 10 10:08 pdk/
drwxrwxr-x  10 rootroot rootroot       4096 12月 10 10:08 platform_testing/
drwxrwxr-x  32 rootroot rootroot       4096 12月 10 10:12 prebuilts/
-rwxrwxr-x   1 rootroot rootroot        519 12月 10 10:12 restore_patches.sh*
-rwxrwxr-x   1 rootroot rootroot      11096 12月 10 16:28 rk3566_android_serial*
-rwxrwxr-x   1 rootroot rootroot      11096 12月 10 13:59 rk3566_android_serial1*
-rwxrwxr-x   1 rootroot rootroot      11096 12月 10 14:09 rk3566_android_serial2*
-rwxrwxr-x   1 rootroot rootroot      11096 12月 10 15:31 rk3566_android_serial3*
drwxrwxr-x   9 rootroot rootroot       4096 1月  14 18:03 rkbin/
drwxrwxr-x   4 rootroot rootroot       4096 12月 10 10:06 RKDocs/
drwxrwxr-x   4 rootroot rootroot       4096 12月 10 10:12 rkst/
drwxrwxr-x   5 rootroot rootroot       4096 12月 10 10:06 RKTools/
drwxrwxr-x  13 rootroot rootroot       4096 1月  14 18:14 rockdev/
drwxrwxr-x  20 rootroot rootroot       4096 12月 10 10:12 sdk/
drwxrwxr-x  45 rootroot rootroot       4096 12月 10 10:12 system/
drwxrwxr-x  10 rootroot rootroot       4096 12月 10 10:12 test/
drwxrwxr-x   4 rootroot rootroot       4096 12月 10 10:12 toolchain/
drwxrwxr-x  23 rootroot rootroot       4096 12月 10 10:12 tools/
drwxrwxr-x  27 rootroot rootroot       4096 1月  14 18:08 u-boot/
-rw-rw-r--   1 rootroot rootroot   59383681 12月 10 13:48 u-boot1.tgz
drwxrwxr-x   4 rootroot rootroot       4096 12月 10 10:12 vendor/
lrwxrwxrwx   1 rootroot rootroot         27 12月 10 10:06 WORKSPACE -> build/bazel/bazel.WORKSPACE
rootroot@rootroot-X99-Turbo:~/Android13.0$ 
rootroot@rootroot-X99-Turbo:~/Android13.0$ 
rootroot@rootroot-X99-Turbo:~/Android13.0$ cd kernel-5.10/arch/arm64/boot/dts/
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts$ ll
total 532
drwxrwxr-x 34 rootroot rootroot   4096 1月  14 09:42 ./
drwxrwxr-x  3 rootroot rootroot   4096 1月  14 18:07 ../
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 actions/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 allwinner/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 altera/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 amazon/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 amd/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 amlogic/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 apm/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 arm/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 bitmain/
drwxrwxr-x  4 rootroot rootroot   4096 12月 10 10:07 broadcom/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 cavium/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 exynos/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 freescale/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 hisilicon/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 intel/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 lg/
-rw-rw-r--  1 rootroot rootroot    630 12月 10 10:07 Makefile
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 marvell/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 mediatek/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 microchip/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 nvidia/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 qcom/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 realtek/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 renesas/
drwxrwxr-x  3 rootroot rootroot   4096 12月  3 17:38 rockchip/
drwxrwxr-x  8 rootroot rootroot  32768 12月 10 10:07 rockchip00/
-rwx------  1 rootroot rootroot 110928 12月  3 17:51 rockchip14zuixiao_rongpin3566.tar.gz*
-rw-rw-r--  1 rootroot rootroot 125211 12月 14 17:13 rockchip15.tar.gz
-rw-rw-r--  1 rootroot rootroot 127495 1月  14 09:42 rockchip16.tar.gz
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 socionext/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 sprd/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 synaptics/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 ti/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 toshiba/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 xilinx/
drwxrwxr-x  2 rootroot rootroot   4096 12月 10 10:07 zte/
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts$ 
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts$ 
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts$ cd rockchip
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts/rockchip$ ll
total 228
drwxrwxr-x  3 rootroot rootroot   4096 12月  3 17:38 ./
drwxrwxr-x 34 rootroot rootroot   4096 1月  14 09:42 ../
-rwx------  1 rootroot rootroot  12808 12月  2 18:43 Makefile*
-rwx------  1 rootroot rootroot   1205 12月  2 18:43 rk3566.dtsi*
-rwx------  1 rootroot rootroot   1902 12月  2 18:43 rk3568-android.dtsi*
-rwx------  1 rootroot rootroot  11079 12月  2 18:43 rk3568-dram-default-timing.dtsi*
-rwx------  1 rootroot rootroot 105152 12月  2 18:43 rk3568.dtsi*
-rwx------  1 rootroot rootroot  62429 12月  2 18:43 rk3568-pinctrl.dtsi*
drwxrwxr-x  2 rootroot rootroot   4096 1月  14 18:03 rk356x/
-rwx------  1 rootroot rootroot   8206 12月  2 18:43 rockchip-pinconf.dtsi*
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts/rockchip$ 
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts/rockchip$ 
rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts/rockchip$ grep bmp . -R
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,uboot = "logo.bmp";
./rk356x/.pro-rk3566.dtb.dts.tmp:    logo,kernel = "logo_kernel.bmp";
Binary file ./rk356x/pro-rk3566.dtb matches
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";
./rk3568.dtsi:                logo,uboot = "logo.bmp";
./rk3568.dtsi:                logo,kernel = "logo_kernel.bmp";

rootroot@rootroot-X99-Turbo:~/Android13.0/kernel-5.10/arch/arm64/boot/dts/rockchip$ 

Z:\Android13.0\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3568.dtsi
Z:\Android13.0\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3568 - 副本.dtsi


    display_subsystem: display-subsystem {
        compatible = "rockchip,display-subsystem";
        memory-region = <&drm_logo>, <&drm_cubic_lut>;
        memory-region-names = "drm-logo", "drm-cubic-lut";
        ports = <&vop_out>;
        devfreq = <&dmc>;

        route {
            route_dsi0: route-dsi0 {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";

                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_dsi0>;
            };
            route_dsi1: route-dsi1 {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_dsi1>;
            };
            route_edp: route-edp {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_edp>;
            };
            route_hdmi: route-hdmi {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp1_out_hdmi>;
            };
            route_lvds: route-lvds {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp1_out_lvds>;
            };
            route_rgb: route-rgb {
                status = "disabled";
                logo,uboot = "logo.bmp";
                logo,kernel = "logo_kernel.bmp";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp2_out_rgb>;
            };
        };
    };

修改成为:

    display_subsystem: display-subsystem {
        compatible = "rockchip,display-subsystem";
        memory-region = <&drm_logo>, <&drm_cubic_lut>;
        memory-region-names = "drm-logo", "drm-cubic-lut";
        ports = <&vop_out>;
        devfreq = <&dmc>;

        route {
            route_dsi0: route-dsi0 {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_dsi0>;
            };
            route_dsi1: route-dsi1 {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_dsi1>;
            };
            route_edp: route-edp {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp0_out_edp>;
            };
            route_hdmi: route-hdmi {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp1_out_hdmi>;
            };
            route_lvds: route-lvds {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp1_out_lvds>;
            };
            route_rgb: route-rgb {
                status = "disabled";
                logo,uboot = "";
                logo,kernel = "";
                logo,mode = "center";
                charge_logo,mode = "center";
                connect = <&vp2_out_rgb>;
            };
        };
    };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3923.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浙江安吉成新照明电器:Acrel-1000DP 分布式光伏监控系统应用探索

安科瑞吕梦怡 18706162527 摘 要&#xff1a;分布式光伏发电站是指将光伏发电组件安装在用户的建筑物屋顶、空地或其他适合的场地上&#xff0c;利用太阳能进行发电的一种可再生能源利用方式&#xff0c;与传统的大型集中式光伏电站相比&#xff0c;分布式光伏发电具有更灵活…

QQ邮箱登录逆向

文章目录 抓包密码p的加密算法1.全局搜索参数2.加密函数 抓包 输入账号和错误的密码,可用看到如下的两个包: check: 里面包含密码加密时需要的参数及发送登录时需要的参数 check的响应: ptui_checkVC(0, !UIO, \x00\x00\x00\x00\x74\xca\x4f\x59, ef787cccd192b4015ef02ef3…

Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程

Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程 Docker常用命令大全Docker 运行命令生成Docker 上安装 PostGreSQL 14.15 的步骤&#xff1a;1、拉取 PostGreSQL 14.15 镜像2、创建并运行容器3、测试连接4、设置所有IP都可以运行连接进入容器内 修改配置文件关闭容器…

常见的两种虚拟化技术比较:KVM与VMware

引言 在当今的数据中心和云计算环境中&#xff0c;虚拟化技术已经成为不可或缺的一部分。它不仅提高了资源利用率&#xff0c;降低了硬件成本&#xff0c;还增强了系统的灵活性和可管理性。KVM&#xff08;基于内核的虚拟机&#xff09;和VMware是两种广泛使用的虚拟化解决方案…

Redis的安装和使用--Windows系统

Redis下载地址&#xff1a; windows版本readis下载&#xff08;GitHub&#xff09;&#xff1a; https://github.com/tporadowski/redis/releases &#xff08;推荐使用&#xff09; https://github.com/MicrosoftArchive/redis/releases 官网下载&#xff08;无Windows版本…

Spring Security(maven项目) 3.0.2.5版本中改

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…

flutter 装饰类【BoxDecoration】

装饰类 BoxDecoration BoxDecoration 是 Flutter 中用于控制 Container 等组件外观的装饰类&#xff0c;它提供了丰富的属性来设置背景、边框、圆角、阴影等样式。 BoxDecoration 的主要属性 1.color 背景颜色。类型&#xff1a;Color?示例&#xff1a; color: Colors.blu…

ScratchLLMStepByStep:训练自己的Tokenizer

1. 引言 分词器是每个大语言模型必不可少的组件&#xff0c;但每个大语言模型的分词器几乎都不相同。如果要训练自己的分词器&#xff0c;可以使用huggingface的tokenizers框架&#xff0c;tokenizers包含以下主要组件&#xff1a; Tokenizer: 分词器的核心组件&#xff0c;定…

抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版

抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版 源码获取 已放在github上&#xff0c;抖音部分已全面更新为a_bogus算法。 除了抖音还包括快手&#xff0c;小红书&#xff0c;哔哩哔哩&#xff0c;微博&#xff0c;京东&#xff0c;淘宝等平台&#xff0c;旨在帮助…

第十一章 图论

#include <iostream> #include <cstdio> #include <vector>using namespace std;const int MAXN 1000;vector<int> graph[MAXN]; //用向量存储邻接表中的每个点及其连接的的其他点int main(){return 0; } #include <iostream> #include &…

[LeetCode] 链表完整版 — 虚拟头结点 | 基本操作 | 双指针法 | 递归

链表 基础知识虚拟头结点203# 移除链表元素&#xff08;可递归&#xff09;24# 两两交换链表中的节点&#xff08;可递归&#xff09; 链表基本操作707# 设计链表单链表双链表 双指针法206# 反转链表&#xff08;可递归&#xff09;19# 删除链表的倒数第N个结点面试题02.07.# 链…

OODA循环在网络安全运营平台建设中的应用

OODA循环最早用于信息战领域&#xff0c;在空对空武装冲突敌对双方互相较量时&#xff0c;看谁能更快更好地完成“观察—调整—决策—行动”的循环程序。 双方都从观察开始&#xff0c;观察自己、观察环境和敌人。基于观察&#xff0c;获取相关的外部信息&#xff0c;根据感知…

【人工智能】:搭建本地AI服务——Ollama、LobeChat和Go语言的全方位实践指南

前言 随着自然语言处理&#xff08;NLP&#xff09;技术的快速发展&#xff0c;越来越多的企业和个人开发者寻求在本地环境中运行大型语言模型&#xff08;LLM&#xff09;&#xff0c;以确保数据隐私和提高响应速度。Ollama 作为一个强大的本地运行框架&#xff0c;支持多种先…

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (四、最近上映电影滚动展示及加载更多的实现)

在HarmonyOS NEXT开发环境中&#xff0c;可以使用多种组件和库来构建丰富且交互友好的应用。本文将展示如何使用HarmonyOS NEXT框架和nutpi/axios库&#xff0c;从零开始实现一个简单的影视APP的首页&#xff0c;主要关注最近上映电影的滚动展示及加载更多功能的实现。 开源项目…

Linux 音视频入门到实战专栏(视频篇)视频编解码 MPP

文章目录 一、MPP 介绍二、获取和编译RKMPP库三、视频解码四、视频编码 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; &#x1f4e2;本篇将介绍如何调用alsa api来进行音频数据的播放和录制。 一、MPP 介绍 瑞芯微提供的媒体处理软件平台…

LabVIEW 蔬菜精密播种监测系统

在当前蔬菜播种工作中&#xff0c;存在着诸多问题。一方面&#xff0c;播种精度难以达到现代农业的高标准要求&#xff0c;导致种子分布不均&#xff0c;影响作物的生长发育和最终产量&#xff1b;另一方面&#xff0c;对于小粒径种子&#xff0c;传统的监测手段难以实现有效监…

飞牛 使用docker部署Watchtower 自动更新 Docker 容器

Watchtower是一款开源的Docker容器管理工具&#xff0c;其主要功能在于自动更新运行中的Docker容器 Watchtower 支持以下功能&#xff1a; 自动拉取镜像并更新容器。 配置邮件通知。 定时执行容器更新任务。 compose搭建Watchtower 1、新建文件夹 先在任意位置创建一个 w…

网络功能虚拟化(NFV):网络设备也能虚拟成产品

随着信息技术的迅猛发展&#xff0c;网络服务的需求也在不断变化。为了应对这一挑战&#xff0c;网络功能虚拟化&#xff08;NFV&#xff09;作为一项创新技术应运而生。它不仅改变了传统网络服务的部署方式&#xff0c;还为电信行业带来了前所未有的灵活性、效率和成本效益。 …

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介&#xff1a; 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中&#xff0c;我将详细介绍如何将本地的 Node.js 服务通过宝塔面板&#xff08;BT 面板&#xff09;上线。宝塔面板是一个强大的服务器管理工具&#xff0c;具有简洁的…

Word2Vec中的CBOW模型训练原理详细解析

Word2Vec中的CBOW模型训练原理详细解析 1. CBOW模型概述 CBOW模型的训练目标是利用一个单词周围的上下文单词来预测该单词本身。具体来说&#xff0c;给定当前单词的上下文单词&#xff0c;通过训练神经网络来最大化当前单词出现在这些上下文单词中的概率。 2. 模型结构 CB…