20230521给coolpi4b开发板刷Android12和串口的使用

news2024/11/28 20:43:01

20230521给coolpi4b开发板刷Android12和串口的使用
2023/5/21 9:31


所需要的配件:
1、2.0mm转2.54mm的杜邦线母头2条(2位一起的一条)
2、串口板:CH340(WIN7下使用)
3、USB的公头-公头线


首先,欢迎您入坑CoolPi 4B这一款开发板。
不用怀疑,您被坑了!绝对是天坑!
本文是入门,希望您没有被坑的那么惨。
大陆人不习惯写STEP-BY-STEP的文档, Coolpi 4b的技术支持sz_jack也不例外!


https://www.cool-pi.com/topic/127/coolpi-4b-%E9%95%9C%E5%83%8F%E5%9B%BA%E4%BB%B6%E5%9C%A8%E7%BA%BF%E5%88%B7%E6%9C%BA%E6%96%B9%E6%B3%95
Coolpi 4b 镜像固件在线刷机方法

Windows主机环境
必备条件:完成上述硬件刷机环境搭建
如果电脑运行Windows7及以上环境,请使用RKDevTool工具导入img固件进行升级

操作步骤如下:
a) 安装USB驱动
Windows 刷机工具及USB驱动
在线刷机专用镜像百度网盘


https://pan.baidu.com/s/1DVmWH4uvewYDJOK7mPu10Q?pwd=mqez#list/path=%2F
https://pan.baidu.com/s/1DVmWH4uvewYDJOK7mPu10Q

H:\BaiduNetdiskDownload\20230317[在线刷机]-RKDevTool专用镜像
总计13.3GB。
里面的coolpi-4b-android12-20230329.zip不能通过DP输出显示。coolpi-4b-android12-20230329.img【2GB出头的大小】

coolpi-4b-buildroot-for-rkdevtool.zip  可以通过DP输出显示。
coolpi-4b-ubuntu20.04.zip  可以通过DP输出显示。
coolpi-4b-ubuntu22-20230201.zip  可以通过DP输出显示。

 

 

 

 

 

 

 

 

 


下载Boot开始
下载Boot成功
等待Maskrom开始
等待Maskrom成功
测试设备开始
测试设备成功
校验芯片开始
校验芯片成功
获取FlashInfo开始
获取FlashInfo成功
准备IDB开始
准备IDB成功
下载IDB开始
下载IDB成功
下载固件开始
正在下载固件(100%)...
下载固件成功

 

 

https://www.cool-pi.com/topic/26/coolpi-4b-debug-console%E4%B8%B2%E5%8F%A3%E6%8E%A5%E7%BA%BF%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
Coolpi 4b debug console串口接线配置说明

 

 


参考资料:
https://wiki.cool-pi.com/en/home/android_application_notes
Cool Pi 4B & CM5 Android Application Note
Android Application Note


https://wiki.cool-pi.com/en/home
Welcom to Cool Pi wiki
rockchip rk3588(s)


https://www.cool-pi.com/topic/126/coolpi-4b-%E9%95%9C%E5%83%8F%E5%9B%BA%E4%BB%B6%E7%A6%BB%E7%BA%BF%E5%88%B7%E6%9C%BA%E6%96%B9%E6%B3%95
Coolpi 4b 镜像固件离线刷机方法


https://wiki.cool-pi.com/en/home/quick_start
Cool Pi 4B Linux Quick Start Guide
Quick Start Guide

刷机的LOG:

[BEGIN] 2023/5/21 9:53:12
DDR V1.09 a930779e06 typ 22/11/21-17:50:56
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x6
CH0 RX Vref:29.7%, TX Vref:23.8%,0.0%
CH1 RX Vref:29.7%, TX Vref:24.8%,0.0%
CH2 RX Vref:30.7%, TX Vref:22.8%,0.0%
CH3 RX Vref:28.7%, TX Vref:23.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
Boot1 Release Time: Nov 22 2022 14:37:46, version: 1.10
Emmc IO init.
Emmc IO init.
mmc_set_bus_width: 1
SetEmmcClk: 375000, 2, 64
SetEmmcClk: 375000, 2, 64
mmc_set_bus_width: 8
SetEmmcClk: 200000000, 0, 3
Enable PHY CLK: 200000000, timing: 9
SdmmcInit=2 0
BootCapSize=100000
UserCapSize=59640MB
FwPartOffset=2000 , 100000
UsbBoot ...61071
powerOn 63353
SoftReset, 29062014 us

[END] 2023/5/21 9:55:16
 


重新商店的LOG:

[BEGIN] 2023/5/21 9:55:41
DDR V1.09 a930779e06 typ 22/11/21-17:50:56
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x6
CH0 RX Vref:29.7%, TX Vref:23.8%,0.0%
CH1 RX Vref:28.7%, TX Vref:23.8%,0.0%
CH2 RX Vref:29.7%, TX Vref:21.8%,0.0%
CH3 RX Vref:28.7%, TX Vref:23.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-481-g17b41886e:derrick.huang
NOTICE:  BL31: Built : 16:20:07, Dec  7 2022
INFO:    spec: 0x13
INFO:    ext 32k is valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
INFO:    hdmirx_handler: dma not on, ret
I/TC: 
I/TC: OP-TEE version: 3.13.0-652-g4542e1efd #derrick.huang (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #5 2022年 09月 20日 星期二 09:41:09 CST aarch64
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


COOLPI LOADER BY YANYI(Jan 04 2023)

DRAM:  4 GiB
Using default environment

0 2 1 3 6 8 7 9 trsv ln0 mon rx cdr lock timeout
dw-dp: Base DPCD:        ebdabbe8
dw-dp: DPCD:        ebdabbe8
dp@fde50000:  detailed mode clock 148500 kHz, flags[5]
    H: 1920 2008 2052 2200
    V: 1080 1084 1089 1125
bus_format: 1018
VOP update mode to: 1920x1080p0, type: DP0 for VP2
rockchip_vop2_init: hdmi0_phy_pll may not define
rockchip_vop2_init: hdmi1_phy_pll may not define
VP2 set crtc_clock to 148500KHz
VOP VP2 enable Esmart2[356x124->356x124@782x478] fmt[1] addr[0xedf21000]
training link: 2 lanes at 5400 MHz
clock recovery succeeded
channel equalization succeeded
hdmi@fde80000 disconnected
Autoboot in 1 seconds
VOP VP2 enable Esmart2[356x124->356x124@782x478] fmt[1] addr[0xedf21000]
hdmi@fde80000 disconnected
starting USB...
Bus usb@fc880000: USB EHCI 1.00
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
MMC: no card present
mmc_init: -123, time 2
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Loading order: usb - tf - emmc
bank id invalid
request for 141 failed:-22
bank id invalid
request for 141 failed:-22
resetting USB...
Bus usb@fc880000: USB EHCI 1.00
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
MMC: no card present
mmc_init: -123, time 2
MMC: no card present
mmc_init: -123, time 2
** Bad device mmc 1 **
MMC: no card present
mmc_init: -123, time 2
** Bad device mmc 1 **
switch to partitions #0, OK
mmc0(part 0) is current device
reading cmdline.txt
switch to partitions #0, OK
mmc0(part 0) is current device
reading config.txt
reading /vmlinuz
17029361 bytes read in 97 ms (167.4 MiB/s)
reading /initrd.img
10290583 bytes read in 60 ms (163.6 MiB/s)
reading /rk3588s-cp4.dtb
225093 bytes read in 5 ms (42.9 MiB/s)
Uncompressed size: 37402632 = 0x23AB808
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
  'reserved-memory' ramoops@110000: addr=110000 size=e0000
   Loading Ramdisk to eb006000, end eb9d6597 ... OK
   Loading Device Tree to 00000000eafcc000, end 00000000eb005f44 ... OK
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
I/TC: Secondary CPU 4 initializing
I/TC: Secondary CPU 4 switching to normal world boot
I/TC: Secondary CPU 5 initializing
I/TC: Secondary CPU 5 switching to normal world boot
I/TC: Secondary CPU 6 initializing
I/TC: Secondary CPU 6 switching to normal world boot
I/TC: Secondary CPU 7 initializing
I/TC: Secondary CPU 7 switching to normal world boot
DDR V1.09 a930779e06 typ 22/11/21-17:50:56
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x6
CH0 RX Vref:29.7%, TX Vref:23.8%,0.0%
CH1 RX Vref:28.7%, TX Vref:23.8%,0.0%
CH2 RX Vref:30.7%, TX Vref:22.8%,0.0%
CH3 RX Vref:28.7%, TX Vref:23.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-481-g17b41886e:derrick.huang
NOTICE:  BL31: Built : 16:20:07, Dec  7 2022
INFO:    spec: 0x13
INFO:    ext 32k is valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
INFO:    hdmirx_handler: dma not on, ret
I/TC: 
I/TC: OP-TEE version: 3.13.0-652-g4542e1efd #derrick.huang (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #5 2022年 09月 20日 星期二 09:41:09 CST aarch64
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


COOLPI LOADER BY YANYI(Jan 04 2023)

DRAM:  4 GiB
Using default environment

0 2 1 3 6 8 7 9 trsv ln0 mon rx cdr lock timeout
dw-dp: Base DPCD:        ebdabbe8
dw-dp: DPCD:        ebdabbe8
dp@fde50000:  detailed mode clock 148500 kHz, flags[5]
    H: 1920 2008 2052 2200
    V: 1080 1084 1089 1125
bus_format: 1018
VOP update mode to: 1920x1080p0, type: DP0 for VP2
rockchip_vop2_init: hdmi0_phy_pll may not define
rockchip_vop2_init: hdmi1_phy_pll may not define
VP2 set crtc_clock to 148500KHz
VOP VP2 enable Esmart2[356x124->356x124@782x478] fmt[1] addr[0xedf21000]
training link: 2 lanes at 5400 MHz
clock recovery succeeded
channel equalization succeeded
hdmi@fde80000 disconnected
Autoboot in 1 seconds
VOP VP2 enable Esmart2[356x124->356x124@782x478] fmt[1] addr[0xedf21000]
hdmi@fde80000 disconnected
starting USB...
Bus usb@fc880000: USB EHCI 1.00
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
MMC: no card present
mmc_init: -123, time 2
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Loading order: usb - tf - emmc
bank id invalid
request for 141 failed:-22
bank id invalid
request for 141 failed:-22
resetting USB...
Bus usb@fc880000: USB EHCI 1.00
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
MMC: no card present
mmc_init: -123, time 2
MMC: no card present
mmc_init: -123, time 2
** Bad device mmc 1 **
MMC: no card present
mmc_init: -123, time 2
** Bad device mmc 1 **
switch to partitions #0, OK
mmc0(part 0) is current device
reading cmdline.txt
switch to partitions #0, OK
mmc0(part 0) is current device
reading config.txt
reading /vmlinuz
17029361 bytes read in 97 ms (167.4 MiB/s)
reading /initrd.img
1351179 bytes read in 12 ms (107.4 MiB/s)
reading /rk3588s-cp4.dtb
225093 bytes read in 5 ms (42.9 MiB/s)
Uncompressed size: 37402632 = 0x23AB808
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
  'reserved-memory' ramoops@110000: addr=110000 size=e0000
   Loading Ramdisk to eb88c000, end eb9d5e0b ... OK
   Loading Device Tree to 00000000eb852000, end 00000000eb88bf44 ... OK
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
I/TC: Secondary CPU 4 initializing
I/TC: Secondary CPU 4 switching to normal world boot
I/TC: Secondary CPU 5 initializing
I/TC: Secondary CPU 5 switching to normal world boot
I/TC: Secondary CPU 6 initializing
I/TC: Secondary CPU 6 switching to normal world boot
I/TC: Secondary CPU 7 initializing
I/TC: Secondary CPU 7 switching to normal world boot

[END] 2023/5/21 9:57:02
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微星MSI GE66 10SF-416RU电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件配置 硬件型号驱动情况 主板Intel HM470 处理器Intel Core i7-10875H 2.30GHz up to 5.10GHz已驱动 内存Kingston Fury Impact DDR4 2x16Gb 3200mhz已驱动 硬盘NT…

Redis介绍及Linux单机安装

1.Redis介绍 1.1.什么是Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是完全开源的&#…

OpenCV人脸识别QT上位机(含源码)

OpenCV Releases:4.6.0 开发平台:QT 6.4.0 编译环境:MSVC 2019 64bit 主要功能:1、预处理图片 2、生成CSV文件 3、生成识别器文件等功能。主要用于学习opencv的整个流程和实现一些简单的功能,比如识别指定的人脸并显…

安卓与串口通信-实践篇

前言 在上一篇文章中我们讲解了关于串口的基础知识,没有看过的同学推荐先看一下,否则你可能会不太理解这篇文章所述的某些内容。 这篇文章我们将讲解安卓端的串口通信实践,即如何使用串口通信实现安卓设备与其他设备例如PLC主板之间数据交互…

【计算机网络复习】第五章 数据链路层 1

数据链路层的作用 两台主机(端到端)之间的通信是依靠相邻的主机/路由器之间的逐步数据传送来实现 数据链路层实现相邻主机/路由器间的可靠的数据传输 网络层:主机-主机通信 数据链路层:点到点通信 数据链路层的主要功能 u 链路…

3R幸福法

3R幸福法 3R幸福法可以帮助我们《建立和谐亲密关系》 模型介绍 3R幸福法体现的是一个人被关注的完整逻辑: Reson-理由,关注缘起。不会让你想表达的感情看起来显得唐突,不会让对方和自己不好意思。Respond-反应,是关注影响。更多…

ROS 工作空间与功能包的创建(三)

执行命令: mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src/catkin_init_workspace echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 效果: 输入命令查看添加成功了没有 tail ~/.bashrc 编译工程:执行命令 cd ~…

csdn文章markdown格式下载

前言 网上下载CSDN文章的方式多种多样,有的直接下载为pdf格式,有的利用python/java代码将文章下载为md格式,也有的用JavaScript下载文章,但下载的文章仅限于自己写的(会介绍),这里也提供一种简单…

关于接口中的一些常用实例以及比较方法的区别

文章目录 💐文章导读🌴Object 类toString() 获取对象信息equals 对象比较方法hashCode 获得对象的具体位置 🌴接口使用实例Comparable 接口Comparator 接口 💐文章导读 在本篇文章中,详解了什么是Object类,…

MyBatis中三级缓存的理解

文章目录 前言1. 环境搭建1.1 依赖引入1.2 mybatis-config.xml配置配置db.properties在mybatis-config.xml引入db.properties 1.3 实体类1.4 mappermapper接口mapper映射文件 1.5 测试 2.缓存2.1 一级缓存mybatis-config.xml 配置日志开启日志配置日志文件logback.xml测试相同m…

深度学习之搭建LSTM模型预测股价

大家好,我是带我去滑雪! 本期利用Google股价数据集,该数据集中GOOG_Stock_Price_Train.csv为训练集,GOOG_Stock_Price_Test.csv为测试集,里面有开盘价、最高股价、最低股价、收盘价、调整后的收盘价、成交量&#xff0…

Flutter项目webview加载没有HTTPS证书的网页在Android和iOS设备上无法显示的解决方案

一、问题描述 Flutter项目使用谷歌官方webview库 webview_flutter,加载自签名证书、证书失效、无证书等HTTPS网页地址时,在Android或pc浏览器中提示证书失效,在iOS设备上为空白页,为了加载自签名证书的网页,需要饶过i…

AVR单片机ATemga328P中断原理的介绍

1、一AVR单片机中断原理的介绍 ATmega328P微控制器具有两个外部中断引脚,分别是INT0和INT1。 外部中断0(INT0):它对应的引脚是PD2(数字引脚2)。INT0可以用于响应外部信号的边沿触发(上升沿、下…

【服务器】使用Nodejs搭建HTTP web服务器

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 前言 1.安装Node.js环境 2.创建node.js服务 3. 访问node.js 服务 4.内网穿透 4.1 安装配置cpolar内网穿透 4.2 创建隧道映射本地端口 5.固定公网地址 [TOC] 转载自内网穿透…

Unity Addressables学习笔记(1)---创建远程服务器加载资源

例子1:加载一个图片 1.首先创建一个UI Image,空白图片,资源打包方式选择真是部署的 2.修改远程发布和加载配置 Bulid Path选择RemoteBuildPath Load Path我选择了custom,地址是http://localhost:8080/WebGL/ 遇坑1 :最开始我选择的Build Path 是 Loca…

windows安装mysql 5.7.41

前言 要学mysql,肯定得本地装上一个玩一玩啦,下面一起来安装mysql吧 一、下载 https://downloads.mysql.com/archives/community/ 顺便说一下,下载按钮下方有个md5,可以验证下文件是否被篡改,理论上官网下载的应该问…

初识结构体

目录 结构体的声明 结构体的基础知识 结构体的声明 结构体成员的类型 结构体变量的定义和初始化 定义 初始化 结构体成员的访问 结构体变量访问成员 结构体指针访问指向变量的成员 结构体传参 传地址 传结构体 结论 结构体的声明 结构体的基础知识 数组&#xff…

【ChatGPT】IOS如何下载注册使用ChatGPT的APP(教学)

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、…

iptables 防火墙

iptables概述 Linux系统的防火墙:ip信息过滤系统,它实际上由两个组件netfilter和iptables组成。 主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上 netfilter / iptables关系: netfilter:属于…

Electron中如何创建模态窗口?

目录 前言一、模态窗口1.Web页面模态框2.Electron中的模态窗口3.区分父子窗口与模态窗口 二、实际案例使用总结 前言 模态框是一种常用的交互元素,无论是在 Web 网站、桌面应用还是移动 APP 中,都有其应用场景。模态框指的是一种弹出窗口,它…