当前位置: 首页 > news >正文

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>;
            };
        };
    };

相关文章:

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

20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识 2025/1/18 15:12 缘起&#xff1a;做飞凌OK3588-C开发板/核心板【Linux R4】的时候&#xff0c;测试/生产要求没有开机LOGO【飞凌/Rockchip】 要求&#xff1a;黑屏或者中性界面。…...

《Hands_On_LLM》8.3: 检索增强生成-RAG技术概论

3.检索增强生成 (Retrieval-Augmented Generation (RAG)) LLM 的大规模应用很快导致人们向它们提问&#xff0c;并期望得到符合实际的答案。虽然这些模型可以正确回答一些问题&#xff0c;但它们也自信地回答了许多错误的问题。为了纠正这种行为&#xff0c;业界转而采用的主要…...

CSS中样式继承+优先级

继承属性和非继承属性 一、定义及分类 1、继承属性是指在父元素上设置了这些属性后&#xff0c;子元素会自动继承这些属性的值&#xff0c;除非子元素显式地设置了不同的值。 常见的继承属性: 字体 font 系列文本text-align text-ident line-height letter-spacing颜色 col…...

Vue进阶之旅:核心技术与页面应用实战(路由进阶)

文章目录 一、路由模块封装二、声明式导航&#xff08;一&#xff09;导航链接与高亮&#xff08;二&#xff09;声明式导航传参1. 查询参数传参2. 动态路由传参 三、路由重定向、404 与模式设置&#xff08;一&#xff09;路由重定向&#xff08;二&#xff09;路由 404&#…...

单片机存储器和C程序编译过程

1、 单片机存储器 只读存储器不是并列关系&#xff0c;是从ROM发展到FLASH的过程 RAM ROM 随机存储器 只读存储器 CPU直接存储和访问 只读可访问不可写 临时存数据&#xff0c;存的是CPU正在使用的数据 永久存数据&#xff0c;存的是操作系统启动程序或指令 断电易失 …...

Vue.js 动态设置表格最大高度的实现

概述 在现代 Web 开发中&#xff0c;响应式设计至关重要&#xff0c;尤其是在处理复杂的布局和数据表格时。表格通常会受到多种因素的影响&#xff0c;如分页、合计行或动态内容&#xff0c;这可能导致表格高度的变化。本文将介绍一个基于 Vue.js 的方法 setMaxHeight&#xf…...

Java测试开发平台搭建(九)前端

1. 搭建前端vue环境 Vue3 安装 | 菜鸟教程 2. 创建项目 1.进入ui vue ui 2. create项目 3. 成功之后添加插件&#xff1a; cli-plugin-router vue-cli-plugin-vuetify 4. 添加依赖 axios 5. 点击任务开始运行 如果报错&#xff1a; 修改vue.config.jsconst { defineConfig }…...

MySQL多表查询练习

1.找出销售部门中年纪最大的员工的姓名 mysql> select name,age from dept a ,emp_new b where a.dept1b.dept2 and dept_name销售order by age desc limit 1; ------------ | name | age | ------------ | 荣七 | 64 | ------------ 1 row in set (0.00 sec) 2.求财务…...

低代码运维与管理服务

文章目录 前言一、服务内容二、服务范围三、服务流程四、服务交付件五、责任矩阵六、验收标准 前言 随着云计算技术的发展&#xff0c;数字化转型是企业的必然选择&#xff0c;企业需要实现广泛的连接并走向开放&#xff0c;传统集成工具无法满足当前企业面临的数字化转型诉求…...

【机器学习:三十二、强化学习:理论与应用】

1. 强化学习概述 **强化学习&#xff08;Reinforcement Learning, RL&#xff09;**是一种机器学习方法&#xff0c;旨在通过试验与反馈的交互&#xff0c;使智能体&#xff08;Agent&#xff09;在动态环境中学习决策策略&#xff0c;以最大化累积奖励&#xff08;Cumulative…...

解决wordpress媒体文件无法被搜索的问题

最近,我在wordpress上遇到了一个令人困扰的问题:我再也无法在 WordPress 的媒体库中搜索媒体文件了。之前,搜索媒体非常方便,但现在无论是图片还是其他文件,似乎都无法通过名称搜索到。对于我这样需要频繁使用图片的博主来说,这简直是个大麻烦。 问题源头 一开始,我怀…...

【2024年华为OD机试】(B卷,100分)- 增强的strstr (Java JS PythonC/C++)

一、问题描述 题目描述 C 语言有一个库函数 char *strstr(const char *haystack, const char *needle)&#xff0c;用于在字符串 haystack 中查找第一次出现字符串 needle 的位置&#xff0c;如果未找到则返回 null。 现要求实现一个 strstr 的增强函数&#xff0c;可以使用…...

【前端】CSS学习笔记

目录 CSS的简介CSS的概念语法 CSS的引入方式内联样式&#xff08;行内样式&#xff09;内部样式外部样式&#xff08;推荐&#xff09; 选择器全局选择器元素选择器类选择器ID选择器合并选择器后代选择器子选择器相邻兄弟选择器通用兄弟选择器伪类选择器:link:visited:hover:ac…...

项目架构调整,新增sunrays-combinations模块

文章目录 1.介绍2.环境搭建1.sunrays-framework下新建sunrays-combinations模块2.删除src3.pom.xml4.查看是否交给sunrays-framework管理5.删除sunrays-common中module引用的common-core-starter6.sunrays-combinations统一管理子模块7.common-all-starter的父模块修改为sunray…...

linux网络编程11——线程池

1. 线程池 1.1 池化技术原理 池化技术 当一个资源或对象的创建或者销毁的开销较大时&#xff0c;可以使用池化技术来保持一定数量的创建好的对象以供随时取用&#xff0c;于是就有了池式结构。常见的池式结构包括线程池、内存池和连接池。 池化技术应用的前提条件主要包括三…...

MySQL - 主从同步

​​​​​​1.主从同步原理&#xff1a; MySQL 主从同步是一种数据库复制技术&#xff0c;它通过将主服务器上的数据更改复制到一个或多个从服务器&#xff0c;实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器&#xff0c;并在从服务器上执…...

基于微信小程序的安心陪诊管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

深入剖析iOS网络优化策略,提升App性能

一、引言 在当今移动互联网时代&#xff0c;iOS 应用的网络性能直接关系到用户体验。无论是加载速度缓慢、频繁的网络错误&#xff0c;还是高额的流量消耗&#xff0c;都可能导致用户流失。因此&#xff0c;iOS 网络优化成为开发者提升应用质量、增强用户满意度的关键环节。本文…...

游戏开发中常用的设计模式

目录 前言一、工厂模式二、单例模式三、观察者模式观察者模式的优势 四、状态模式状态模式的优势 五、策略模式策略模式的优势 六、组合模式七、命令模式八、装饰器模式 前言 本文介绍了游戏开发中常用的设计模式&#xff0c;如工厂模式用于创建对象&#xff0c;单例模式确保全…...

【PyCharm】远程连接Linux服务器

【PyCharm】相关链接 【PyCharm】连接Jupyter Notebook【PyCharm】快捷键使用【PyCharm】远程连接Linux服务器【PyCharm】设置为中文界面 【PyCharm】远程连接Linux服务器 PyCharm 提供了远程开发的功能&#xff0c;使得开发者可以在本地编辑代码或使用服务器资源。 下面将详…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...