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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32-学习笔记-4-】PWM、输入捕获(PWMI)

文章目录 1、PWMPWM配置 2、输入捕获配置3、编码器 1、PWM PWM配置 配置时基单元配置输出比较单元配置输出PWM波的端口 #include "stm32f10x.h" // Device headervoid PWM_Init(void) { //**配置输出PWM波的端口**********************************…

RocketMQ源码之消息刷盘分析

前言 刷盘是将内存中的消息写入磁盘,分为同步刷盘和异步刷盘。同步刷盘指一条消息写入磁盘才返回成功,异步刷盘指写入内存就返回成功,稍后异步线程刷盘。 在创建CommitLog对象的时候,会初始化刷盘服务: //代码位置:org.apache.rocketmq.store.CommitLog public CommitL…

navicat 折线图或面积图

折线图或面积图将信息显示为以直线段连接的一系列数据点。 折线图 面积图 堆积面积图 图表属性 选择图表类型后&#xff0c;可以更改其属性来自定义图表&#xff1a; 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框…

【数模学习笔记】插值算法和拟合算法

声明&#xff1a;以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料&#xff0c;仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…

机器学习皮马印第安人糖尿病数据集预测报告

目录 1.项目选题与设计方案 1.1项目选题 1.2设计方案 2.功能实现 2.1 主要功能介绍 2.2 开发环境及平台介绍 2.3 实现过程 2.3.1数据分析 2.3.2算法设计 2.3.3 python代码 3.个人心得体会 1.项目选题与设计方案 1.1项目选题 我国的糖尿病患者初诊时约&#xff18;&a…

STM32 FreeRTOS任务通知

目录 任务通知的简介 任务通知相关API函数介绍 任务通知的简介 任务通知是 FreeRTOS 中一种用于任务间通信的机制&#xff0c;它允许一个任务向其他任务发送简单的通知或信号&#xff0c;以实现任务间的同步和协作。任务通知通常用于替代二值信号量或事件标志组&#xff0c;提…

提示词的艺术----AI Prompt撰写指南(个人用)

提示词的艺术 写在前面 制定提示词就像是和朋友聊天一样&#xff0c;要求我们能够清楚地表达问题。通过这个过程&#xff0c;一方面要不断练习提高自己地表达能力&#xff0c;另一方面还要锻炼自己使用更准确精炼的语言提出问题的能力。 什么样的提示词有用&#xff1f; 有…

微服务网关,如何选择?

什么是API网关 API网关&#xff08;API Gateway&#xff09;是微服务架构中的一个关键组件&#xff0c;它充当了客户端与后端服务之间的中间层。其主要功能包括请求路由、协议转换、负载均衡、安全认证、限流熔断等。通过API网关&#xff0c;客户端无需直接与多个微服务交互&a…

PortSwigger靶场练习---第二关-查找和利用未使用的 API 端点

第二关&#xff1a;Finding and exploiting an unused API endpoint 实验&#xff1a;查找和利用未使用的 API 端点 PortSwigger靶场地址&#xff1a; Dashboard | Web Security Academy - PortSwigger 题目&#xff1a; 官方提示&#xff1a; 在 Burp 的浏览器中&#xff0c…

深度学习中的张量 - 使用PyTorch进行广播和元素级操作

深度学习中的张量 - 使用PyTorch进行广播和元素级操作 元素级是什么意思&#xff1f; 元素级操作在神经网络编程中与张量的使用非常常见。让我们从一个元素级操作的定义开始这次讨论。 一个_元素级_操作是在两个张量之间进行的操作&#xff0c;它作用于各自张量中的相应元素…

使用C语言实现栈的插入、删除和排序操作

栈是一种后进先出(LIFO, Last In First Out)的数据结构,这意味着最后插入的元素最先被删除。在C语言中,我们可以通过数组或链表来实现栈。本文将使用数组来实现一个简单的栈,并提供插入(push)、删除(pop)以及排序(这里采用一种简单的排序方法,例如冒泡排序)的操作示…

【逆境中绽放:万字回顾2024我在挑战中突破自我】

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、引言二、个人成长与盘点情感与心理成长学习与技能提升其它荣誉 三、年度创作历程回顾创作内容概…

Spring Boot + Apache POI 实现 Excel 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并)

目录 引言 Apache POI操作Excel的实用技巧 1.合并单元格操作 2.设置单元格样式 1. 创建样式对象 2. 设置边框 3. 设置底色 4. 设置对齐方式 5. 设置字体样式 6.设置自动换行 7. 应用样式到单元格 3. 定位和操作指定单元格 4.实现标签-值的形式 5.列宽设置 1. 设…

C语言进阶习题【1】指针和数组(2)——字符数组

3. 字符数组练习 sizeof 只关注占用内存空间的大小&#xff0c;单位是字节&#xff0c;不关心内存中存放的是什么 sizeof 是操作符 strlen是求字符串长度的&#xff0c;统计的是\0之前出现的字符个数&#xff0c;一定要找到\0才算结束&#xff0c;所以可能存在越界访问的 strle…

嵌入式工程师必学(67):SWD仿真接口(for ARM)的使用方法

概述: JTAG JTAG代表联合测试行动小组(定义JTAG标准的小组),旨在作为测试板的一种方式。JTAG允许用户与微控制器的各个部分进行对话。在许多情况下,这涉及一组指令或对电路板进行编程。JTAG标准定义了5个引脚: TCK: Test Clock TMS: Test Mode Select TDI: Test Data-…

代理模式实现

一、概念&#xff1a;代理模式属于结构型设计模式。客户端不能直接访问一个对象&#xff0c;可以通过代理的第三者来间接访问该对象&#xff0c;代理对象控制着对于原对象的访问&#xff0c;并允许在客户端访问对象的前后进行一些扩展和处理&#xff1b;这种设置模式称为代理模…

华为HuaweiCloudStack(一)介绍与架构

本文简单介绍了华为HCS私有云解决方案&#xff0c;并从下至上介绍HCS的整体架构&#xff0c;部署架构、部署方式等内容。 目录 HCS简介 HCS架构 纵向结构 ?管理平台类型 HCS节点类型 FusionSphere OpenStack CPS ServiceOM SC 运营面 OC 运维面 HCS部署架构 regi…

【视觉惯性SLAM:十七、ORB-SLAM3 中的跟踪流程】

17.1 跟踪流程流程图 ORB-SLAM3 的跟踪模块是整个系统的重要组成部分&#xff0c;负责实时确定相机在三维空间中的姿态位置&#xff0c;并保持关键帧之间的连续性。其基本目标是将输入的视频流与已有地图数据进行对齐&#xff0c;完成位姿估计和地图更新。 流程图概述 一个…

【机器学习实战入门项目】MNIST数字分类机器学习项目

Python 深度学习项目&#xff1a;手写数字识别 为了使机器更加智能&#xff0c;开发者们正在深入研究机器学习和深度学习技术。人类通过不断练习和重复来学习执行某项任务&#xff0c;从而记住如何完成这些任务。然后&#xff0c;大脑中的神经元会自动触发&#xff0c;他们能够…

Python Pyside6 加Sqlite3 写一个 通用 进销存 系统 初型

图: 说明: 进销存管理系统说明文档 功能模块 1. 首页 显示关键业务数据商品总数供应商总数本月采购金额本月销售金额显示预警信息库存不足预警待付款采购单待收款销售单2. 商品管理 商品信息维护商品编码(唯一标识)商品名称规格型号单位分类进货价销售价库存数量预警…