【STM32】STM介绍

news2024/12/23 2:58:30

一、嵌入式与STM32

1.嵌入式

除了桌面PC之外,所有的控制类设备,都称之嵌入式。

在这里插入图片描述

1 ARM概述

1.1 历史

1978年,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn公司。1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6MHz的处理器,用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来。

  • 经典指令集
    • CISC
      复杂指令集计算机(Complex Instruction Set Computer)
      在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指令却不经常使用,在程序设计中只占20%,目前,桌面计算机流行的x86体系结构即使用CISC。
    • RISC
      精简指令集计算机(reduced instruction set computer)
      支持的指令比较简单,所以功耗小、价格便宜,特别适合移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA。

特点区别各方面如下:

  1. 指令系统
      CISC:计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
      RISC:设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。

  2. 存储器操作
      CISC:机器的存储器操作指令多,操作直接。
      RISC:对存储器操作有限制,使控制简单化。

  3. 程序
      CISC:汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。
      RISC:汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计。

  4. 中断
      CISC:机器是在一条指令执行结束后响应中断。
      RISC:机器在一条指令执行的适当地方可以响应中断。

  5. CPU
      CISC:CPU包含有丰富的电路单元,因而功能强、面积大、功耗大。
      RISC:CPU包含有较少的单元电路,因而面积小、功耗低。

  6. 设计周期
      CISC:微处理器结构复杂,设计周期长。
      RISC:微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术。

  7. 用户使用
      CISC:微处理器结构复杂,功能强大,实现特殊功能容易。
      RISC:微处理器结构简单,指令规整,性能容易把握,易学易用。

  8. 应用范围
      CISC:机器则更适合于通用机。
      RISC:由于RISC指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机。

1.2 ARM的应用

20世纪90年代开始,ARM 32位嵌入式RISC处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

搭载ARM芯片架构的设备数量是英特尔的25倍。全世界99%的智能手机和平板电脑都采用ARM架构。约有43亿人每天都会触摸一台搭载ARM芯片的设备,占全球总人口的60%。

在这里插入图片描述

2 ARM处理器

2.1 ARM的处理器类型

目前ARM架构常见类型:

在这里插入图片描述

  • Cortex-A:针对高性能计算。如我们目前手机SoC中常出现的Cortex-A76等。
  • Cortex-R:针对实时操作处理。主要是面向嵌入式实时处理器。在汽车的电子制动系统,工业控制领域等领域比较常见。
  • Cortex-M:专为低功耗、低成本系统设计。目前火热的IoT领域常常见到采用Cortex-M架构的处理器。

在这里插入图片描述

ARM:经典系列、Cortex-M系列、Cortex-R系列、Cortex-A系列。

经典系列(ARM7、ARM9、ARM11)

在这里插入图片描述

Cortex-A系列

在这里插入图片描述

Application Processors(应用处理器)–面向移动计算、智能手机、服务器等市场的的高端处理器。这类处理器运行在很高的时钟频率(超过1GHz),支持像Linux,Android,MS Windows和移动操作系统等完整操作系统需要的内存管理单元(MMU)。

如果规划开发的产品需要运行上述其中的一个操作系统,你需要选择ARM应用处理器(Cortex-A53、Cortex-A73、Cortex-A76、Cortex-A77)。

Cortex-R系列

在这里插入图片描述

Real-time Processors(实时处理器)–面向实时应用的高性能处理器系列,例如硬盘控制器,汽车传动系统和无线通讯的基带控制。

多数实时处理器不支持MMU,不过通常具有MPU、Cache和其他针对工业应用设计的存储器功能。实时处理器运行在比较高的时钟频率(例如200MHz 到 >1GHz ),响应延迟非常低。

然实时处理器不能运行完整版本的Linux和Windows操作系统,但是支持大量的实时操作系统(RTOS)。

其相比Cortex-A系列,少了对页表的支持,也就是说软件看到的地址都是物理地址,相对来说软件运行时间和中断响应速度都更加快速稳定,容易预测。

Cortex-M系列

在这里插入图片描述

Microcontroller Processors(微控制器处理器)–微控制器处理器通常设计成面积很小和能效比很高。

通常这些处理器的流水线很短,最高时钟频率很低(虽然市场上有此类的处理器可以运行在200Mhz之上)。 并且,新的Cortex-M处理器家族设计的非常容易使用。因此,ARM微控制器处理器在单片机和深度嵌入式系统市场非常成功和受欢迎。

其相比Cortex-R就更加精简了,更短的流水线,更简单的指令集,更少的运算单元,调试单元,总线性能要求不高,以低功耗为主。

2.2 ARM RISC的特点

ARM处理器则是ARM架构下的RISC(精简指令集)处理器。ARM处理器广泛的使用在许多嵌入式系统。ARM处理器的特点有指令长度固定,执行效率高,低成本等,主要特点如下:

  • 指令集——RISC减少了指令集的种类,通常一个周期一条指令,采用固定长度的指令格式,编译器或程序员通过几条指令完成一个复杂的操作。而CISC指令集的指令长度通常不固定;
  • 流水线——RISC采用单周期指令,且指令长度固定,便于流水线操作执行;
  • 寄存器——RISC的处理器拥有更多的通用寄存器,寄存器操作较多。例如ARM处理器具有37个寄存器;
  • Load/Store结构——使用加载/存储指令批量从内存中读写数据,提高数据的传输效率;
  • 寻址方式简化,指令长度固定,指令格式和寻址方式种类减少。

「课堂练习1」

​ ARM(Advanced RISC Machine)是一种广泛应用于嵌入式系统和移动设备的低功耗处理器架构。 它以其高效的能耗管理和出色的性能闻名,并成为了智能手机、平板电脑和物联网设备等市场的主导力量。 ARM架构可以分为三个主要的分类:ARMv6、ARMv7和ARMv8

2.3 ARM指令架构

Thumb是16位指令;Thumb-2是16和32位混合指令集。ARM指令集则起始32位,在ARMv8开始,支持64位。

指令架构特性说明
Thumb16位最早的指令集
Thumb-216位和32位混合在Cortex系列中引入
A32ARM 32 位指令集即以前称之为ARM的指令集
A64ARM 64 位指令集在ARMv8-A中引入的,支持64位

Thumb与Thumb-2

ARM32指令集:代码全部是 32位的,每条指令能承载更多的信息,因此使用最少的指令完成功能, 所以在相同频率下运行速度也是最快的, 但也因为每条指令是32位的而占用了最多的程序空间。

Thumb指令集:代码全部是16位的,每条指令所能承载的信息少,因此它需要使用更多的指令才能完成功能, 因此运行速度慢, 但它也占用了最少的程序空间

Thumb-2指令集:在前面两者之间取了一个平衡,兼有二者的优势,当一个操作可以使用一条32位指令完成时就使用32位的指令,加快运行速度,而当一次操作只需要一条16位指令完成时就使用位的指令,节约存储空间。

在这里插入图片描述

MCU使用什么指令集主要由内核决定的,比如Cortex-M4使用的是Thumb-2指令集。

「课堂练习2」

简述ARM、Thumb、Thumb-2指令集。

ARM指令集: 编代码全部是 32bits 的,每条指令能承载更多的信息,因此使用最少的指令完成功能, 所以在相同频率下运行速度也是最快的, 但也因为每条指令是32bits 的而占用了最多的程序空间。

Thumb指令集: 编代码全部是 16bits 的,每条指令所能承载的信息少,因此它需要使用更多的指令才能完成功能, 因此运行速度慢, 但它也占用了最少的程序空间

Thumb-2指令集: 在前面两者之间取了一个平衡, 兼有二者的优势, 当一个 操作可以使用一条 32bits指令完成时就使用 32bits 的指令, 加快运行速度, 而当一次操作只需要一条16bits 指令完成时就使用16bits 的指令,节约存储空间。

2.4 ARM CPU 的架构

架构版本说明chipsets
ARMv1原型原型
ARMv2原型,增强v1,添加乘法指令和协处理器原型
ARMv3添加了MMU、Cache、WriteCache第一个处理器
ARMv432位,3级整数流水线; 商业化大量的Arm7处理器ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T
ARMv532位,5-6级整数流水线。包括ARMv5TE、ARMv5EJ;[E:增强型DSP指令集。包括全部算法和16位乘法操作。J:支持新的Java]ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。
ARMv632位 ARMv6 包括了( SIMD、Thumb、Jazelle、DBX、(VFP)、MMU), ARMv6T2包括了(SIMD、Thumb-2、(VFP)、MPU), ARMv6KZ包括了(ARMv6基础上增加MMU、TrustZone),ARMv6K包括了(1-4 核SMP、MMU)ARM1176JZ、ARM1136EJ
ARMv7-A/R32位,Cortex-A系列芯片的指令集。其加入的特性都引入到v8-ACortex-A5,A7,A8,A9,A15,A17
ARMv8-A引入64位支持Cortex-A32,A35,A53,A55,A57;A73,A75,A76,A76AE

新的ARMv7,ARMv8指令集

在这里插入图片描述
截止目前ARM处理器的最新系列
在这里插入图片描述

Cortex-M 选型

Cortex-M家族兄弟众多,且性能各异,满足了不同客户的需求,使得ARM公司拥有 40 个以上的 合作伙伴,包括 NXP Semiconductors、STMicroelectronics、Texas Instruments 和 Toshiba 等领先供应商。

  • 选择Cortex –M0
    能耗最低的最小ARM处理器,在不到 12 K 门的面积内能耗仅有 85 µW/MHz(0.085 毫瓦),同时保留与功能丰富的 Cortex-M3 处理器的工具和二进制向上兼容性。
    M0指令只有 56 个,这样便可以快速掌握整个 Cortex-M0 指令集(如果需要);M0优化的连接性,设计为支持低能耗连接,如 Bluetooth Low Energy (BLE)、IEEE 802.15 和 Z-wave。

  • 选择Cortex-M3
    在 90nmG基础上为12.5DMIPS/mW。将集成的睡眠模式与可选的状态保留功能相结合,全功能性让M3处理器执行Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。

  • 选择Cortex-M4
    在M3的基础上强化了运算能力,新加了浮点、DSP、并行计算等,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。满足面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。

主流的Cortex-M3与Cortex-M4差异

  • 架构

在这里插入图片描述

  • 性能

在这里插入图片描述

以上是M4与M3的性能对比,官方提供的测试数据如图。

对于图表,Y轴代表执行给出的计算用的相对的周期数。 因此,循环数越小,性能越好。以Cortex-M3作为参考,Cortex-M4的性能计算,性能比大概为其周期计数的倒数。举例说明,PID功能,Cortex-M4的周期数是与Cortex-M3的约0.7倍,因此相对性能是1/0.7,即1.4倍。

Cortex-M4体系结构

在这里插入图片描述

  1. Cortex-M4架构

ARM Cortex采用的是哈佛架构,为系统提供了三套总线。

  • ICode总线
  • DCode总线
  • System总线

(1) Cortex-M4的工作状态

  • ARM指令集

  • Thumb指令集

(2) Cortex-M4工作模式

  • Thread Mode:线程模式即正常模式
  • Hander Mode:处理模式即异常(中断)模式
  1. Cortex-M4寄存器

寄存器:在cpu内部暂存数据内容的,但是所有的指令的运算数,最终需要放到寄存器中才能运算。

寄存器分为:通用寄存器和专用寄存器:

  • 通用寄存器: R0~R7 thumb-2所有的指令都可以访问它,R8 ~ R12 只有少量的thumb指令可以访问,thumb - 2都可以访问它。
  • 专用寄存器 :R13、R14、R15、xPSR

R13(SP):Stack Pointer 堆栈指针,保存堆栈的栈顶地址的一个寄存器
R14(LR):Linked Register 链接寄存器。在执行指令的过程的时候,需要保存该指令的下一条指令的地址(返回地址)
R15(PC):Program Counter 程序计数器。PC保存的是下一条指令的地址
xPSR:Program Status Register 程序状态寄存器。保存程序运行过程中的一些状态标记,这些要保存的状态分为:
应用状态寄存器:APSR N Z C V Q
中断状态寄存器:IPSR Interrupt
执行状态寄存器:EPSR Excute

2.STM32

ST,就是一间公司,意法半导体。 M,微电子/微控制器 32,单片机是32位

0

产品系列

为智能驾驶和物联网提供半导体解决方案

今天,意法半导体的产品无处不在,致力于与客户共同努力实现智能驾驶、智能工厂、智能城市和智能家居,以及下一代移动和物联网产品。

智能驾驶:更安全、更环保、联网能力更强

据业内估计,当今80%的汽车工业创新应用都是由电子技术直接或间接实现的,这意味整车半导体占比在逐年稳定增长。通过整合多项技术,意法半导体的智能驾驶产品和解决方案让汽车变得更安全、更环保、联网能力更强。

从视觉、雷达、影像、传感器、GNSS卫星定位技术,到随动转向照明系统和用户显示技术,我们的先进驾驶辅助系统(ADAS)产品技术让汽车驾驶变得更安全;我们的能源管理处理器(EMU, ECU),被所有汽车子系统用作核心部件的功率管理芯片、电动汽车宽能带隙技术(SiC和GaN)、传感器等等,让汽车驾驶变得更环保;我们的车间通信和车路通信(V2X)解决方案、信息娱乐系统和车载信息服务处理器、收音机调谐器、功率放大器、传感器,让汽车联网通信能力更强。

物联网: 智能个人设备、智能家居、智能城市和智能工厂

由于物联网市场高度分散,我们的目标市场横跨整个客户群,从最大的客户,到超过十万家同样重要的中小客户,我们通过经销商网络和大众市场营销计划为客户提供服务。

意法半导体通过提供工业自动化和机器人技术,让制造业和其它工业领域提高能效、灵活性和安全性。我们称这些技术为智能工业技术,其在工业领域引发的变化经常被人称为第四次工业革命。工业智能综合应用各种产品,包括微控制器、传感器、致动器、电机控制、信号调理、工业通信解决方案、电源、保护器件、无线模块、显示器和LED控制器,使工业系统变更加智能。

ST通过其核心:能源消耗和管理系统来解决智能家居、建筑和城市的问题。这些解决方案解决了一些关键功能:智能电表内部的安全、多功能芯片,帮助消费者和公用事业公司跟踪和平衡电力、水和天然气的消耗和计费;更智能的街道照明,感知周围环境,调暗或关闭,以适应照明条件和市政需求;测量交通流量的传感器,可以在障碍物周围改变车辆和行人的路线;以及允许这些环境连接到物联网(IoT)的连接性解决方案。

我们个人日常生活受益于我们每天携带的经常使用的“智能产品”。意法半导体是一家全球领先的半导体厂商,拥有下一代消费设备所需的全部关键技术:低功耗和超低功耗微控制器、安全解决方案、传感器和制动器、连通性、调节和保护、电机控制、功率和电源管理。

意法半导体用一系列可兼容性的开发生态环境,使开发原型便捷而实惠,包括硬件和软件开发工具,评估组件和为垂直应用和云兼容性配备的带有预嵌入软件的模块,并有ST伙伴计划提供机会去扩展可信的设计和工程公司,帮助客户加快产品上市时间。意法半导体通过提供能源管理的核心技术产品,满足高速发展的智能家居和智能城市系统的市场需求。从双片智能表计解决方案,到智能水平更高的路灯系统,意法半导体解决方案瞄准智能城市的关键功能。智能表计帮助消费者和公用事业记录水电燃气的使用情况和费用;智能路灯可以监测环境,根据环境光线条件和市政需求开关灯或调节亮度,监测交通流量,提供潜在拥堵路况信息。

3.STM32应用领域

在这里插入图片描述

工业与控制、低功耗领域

可穿戴设备:智能手环、智能手表

智能家居:智能指纹锁、智能灯泡、智能电饭锅…

玩具:四轴飞行器、二轴平行车…

三、如何学习

1.开发硬件,M4的开发板

在这里插入图片描述

2.熟悉阅读原理图。

在这里插入图片描述

3.熟悉开发工具Keil 5

在这里插入图片描述

4.熟悉库函数,使用标准库函数,当做就是一个Linux系统编程。

  1. ST公司有三种库版本:标准库、HAL库、LL库
  • 标准库:成熟稳定的版本,现在很多企业一直沿用该版本。

  • HAL库:尽可能屏蔽硬件底层,目标实现跨平台,可以通过界面来进行编程,但产生效率不高,可阅读性较弱。

https://www.cnblogs.com/Cmoadne/p/6709473.html

https://bbs.21ic.com/icview-1722022-1-1.html?ordertype=1&_dsign=33bcaf16

  • LL库:更加接近底层的库,常结合HAL库一起使用,弥补HAL库性能不足。

阅读函数的描述、参数传递、返回值。

推荐一个帮助文档,提高编程人员开发效率,就等同于Linux man命令。

在这里插入图片描述

该文档有各种硬件的使用库函数的例程,详细如下:

在这里插入图片描述

#注意

外面企业开发不一定全使用STM32的芯片,例如GD32、海思、飞思卡尔、恩智浦(NXP)、Amtel、德州仪器(TI)、台湾新唐公司的。

(二)关于内部硬件的控制,按照以下步骤进行库函数的使用

  • 打开硬件电源时钟
  • 配置硬件
  • 使能硬件工作

(三)使用C语言编程,标准C

四、产品案例分析

1.智能手环

在这里插入图片描述

2.智能指纹锁

https://item.mi.com/product/10025.html?cfrom=search&selected=1192400006&pClass=c

在这里插入图片描述

3.四轴飞行器

https://detail.tmall.com/item.htm?spm=a230r.1.14.1.1bbc66e76IbD8Y&id=592317986510&ns=1&abbucket=19

在这里插入图片描述

目前无人机图传主流的技术

OFDM技术

在技术上,目前无人机上使用最广的传输技术是为OFDM,是多载波调制的一种,该技术更适合于高速数据的传输,OFDM有很多优势,比如:在窄带带宽下也能够发出大量的数据、能够对抗频率选择性衰落或窄带干扰等等。但是,OFDM也有缺点:(1)载波频率偏移;(2)对相位噪声和载波频偏十分敏感;(3)峰均比比较高。所以把这三个缺陷瓶颈解决掉才是完美的技术。

WIFI技术

WiFi传输是具有高性价比的无人机图传使用最广泛的技术,但是因为WiFi在技术上有很多限定,且不可修改的,并且很多厂家都是拿来方案直接搭建,所以其缺点也十分突出:比如芯片设计成什么格式就是什么格式的,无法修改,技术比较固化;干扰管理策略实时性不强;信道利用率比较低等等。

COFDM技术

COFDM即编码的OFDM,在进行OFDM调制之前增加一些信道编码(主要是增加纠错和交织),来提高系统的可靠性。COFDM与OFDM的区别就是:在做正交调制前增加纠错编码和保护间隔,使信号更有效的传输。OFDM主要应用在LTE(4G)、WIFI等应用系统上。

Lightbridge高清远距离数字图传技术

Lightbridge技术使用单向图像数据传输,类似位于高处的电视广播塔的数据传输形式。而 Wi-Fi图传的数据传输需要发送端与接收端首先建立起通讯握手机制,再传输每个大小为512字节的数据包。确认完整接收一个数据包之后,才开始传输下一个数据包,而这正是导致图传延时的根本原因。

模拟图传技术

一些不带云台相机的无人机,速度可高达80公里/小时以上,使用模拟信号传输技术。模拟图传几乎没有延时,而且模拟图传的另外一个特点是,当达到极限距离时,不会突然出现卡屏或者完全丢失整个画面的情况。模拟图传也是单向信号传播技术,有点类似于在数字电视信号还没出现前的模拟电视广播信号的传输,当信号变弱时,会出现雪花屏,警示飞手应该调整飞行方向或者往回飞,离返航点近一些。

可以说,OFDM技术和WIFI技术这两种图传方式,是目前无人机图传的主流,更高级的是COFDM技术。其实总体来说,无人机远距离传输其实就是距离和功耗之间的平衡,其中还涉及了很多调制技术,如用扩频来提高抗干扰能力、信道信源技术的优化等等。

4.智能水杯、防丢器…

五、创新

别人吐槽的地方就是你创新的地方,解决痛点!

每个大小为512字节的数据包。确认完整接收一个数据包之后,才开始传输下一个数据包,而这正是导致图传延时的根本原因。

模拟图传技术

一些不带云台相机的无人机,速度可高达80公里/小时以上,使用模拟信号传输技术。模拟图传几乎没有延时,而且模拟图传的另外一个特点是,当达到极限距离时,不会突然出现卡屏或者完全丢失整个画面的情况。模拟图传也是单向信号传播技术,有点类似于在数字电视信号还没出现前的模拟电视广播信号的传输,当信号变弱时,会出现雪花屏,警示飞手应该调整飞行方向或者往回飞,离返航点近一些。

可以说,OFDM技术和WIFI技术这两种图传方式,是目前无人机图传的主流,更高级的是COFDM技术。其实总体来说,无人机远距离传输其实就是距离和功耗之间的平衡,其中还涉及了很多调制技术,如用扩频来提高抗干扰能力、信道信源技术的优化等等。

4.智能水杯、防丢器…

五、创新

别人吐槽的地方就是你创新的地方,解决痛点!

淘宝众筹:https://izhongchou.taobao.com/index.htm

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

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

相关文章

识别不到开发板串口问题(故事版)

最近电脑重新刷机了,很多东西都没了,很伤心。但也是锻炼自己基本功的能力。 我在用vscode开发ESP32的时候,发现一直识别不到串口,很纳闷,以为笔记本端口坏了? 转念一想觉得是因为没有加驱动 当时下面有一…

大模型学习应用 3: AutoDL 平台 transformers 环境搭建及模型部署使用(持续更新中)

之前我们学习了在和鲸的预配置好的平台上进行学习,在工作中并不现实,本期我们的目标是将已有模型部署到云端进行运行 配置环境:RTX 4090D(24GB) python 3.12(ubuntu22.04) 参考文章:AutoDL平台transformers环境搭建 目录 注册及选择算力新建…

E6000物联网主机:打造智慧楼宇的未来

智慧楼宇,作为现代建筑领域的璀璨明星,正以其独特的魅力和强大的功能改变着我们的生活和工作方式。它并非简单的建筑与技术的叠加,而是通过先进的信息技术和智能化系统的深度融合,实现对建筑内各项设施和服务的高效管理与优化。 智…

Mac怎么安装谷歌浏览器

谷歌浏览器凭借其强大的功能,成为广大用户的首选浏览器。其中Mac用户在进行下载和安装时,可能会出现一些困难。为了帮助大家顺利的在Mac系统中成功安装,下面就给大家详细分享Mac安装谷歌浏览器指南,希望对你有所帮助。 Mac安装谷歌…

xss-labs通关攻略 16-20关

第16关 ?keyword<img%0asrc"1.jpg"%0aοnerrοralert(1)> 第17关 查看源代码 输入 ?arg01a&arg02 οnmοuseοveralert("aini") 第18关 直接输入 ?arg01a&arg02 οnmοuseοveralert("aini") 第19关 需要下载一个flash 输…

国内纵向科研项目梳理

文章目录 1. 2023 年以后2. 2023 年以前2.1 国家重点研发计划2.1.1 重点专项 2.2 国家科技重大专项 3. 附&#xff1a;国家级和省部级科研项目列表 1. 2023 年以后 2023 年&#xff0c;根据新的国务院机构改革方案&#xff0c;科技部现有的多项管理职责和多个下属机构都将被分…

6款自动生成文章的软件,生成文章好用、操作简单

作为一名专业创作者&#xff0c;我深知内容生产的压力和挑战。在追求效率的同时&#xff0c;保持文章的质量和原创性是至关重要的。最近&#xff0c;我亲测了6款自动生成文章的软件&#xff0c;发现它们不仅操作简便&#xff0c;而且生成的文章质量令人满意。以下是我对这6款软…

ctfhub-web-SSRF(FastCGI协议-DNS重绑定 Bypass)

less-6 FastCGI协议 步骤一&#xff1a;开启环境&#xff0c;查看提示 步骤二&#xff1a;对一句话木马进行base64编码&#xff1a;<?php eval($_POST[cmd]);?> echo "PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8" | base64 -d > 1.php 步骤三&#xff1a;利…

#C++ 笔记一

重点&#xff1a;面试考试大概率会涉及&#xff0c;需要不借助任何资料掌握。 掌握&#xff1a;面试考试可能涉及&#xff0c;需要不借助任何资料掌握 熟悉&#xff1a;面试考试可能涉及&#xff0c;可以稍微参考资料掌握 了解&#xff1a;面试考试小概率涉及&#xff0c;能吹吹…

获取文件属性/库Lib

获取文件属性 stat 函数 man 2 stat #include <sys/types.h> #include <sys/stat.h> #include <unistd.h>int stat(const char *path, struct stat *buf); 功能&#xff1a;获取文件属性 参数&#xff1a; path&#xff1a;文件路径名buf&#xff1a;保存文…

最新黑名单查询录入系统_全开源源码

最新黑名单查询录入系统_全开源源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作&#xff0c;添加&#xff0c;批量删除&#xff0c;分页&#xff0c;单项删除 后台数据修改采用绑定参数的形式来进行修改可以很好的预防数据库注入…

【Python入门】第3节 循环语句

&#x1f4d6;第3节 循环语句 ✅while循环的基础语法✅while循环的嵌套✅while循环的嵌套案例✅for循环的基础语法&#x1f9ca;基础语法&#x1f9ca;range语句&#x1f9ca;变量作用域 ✅for循环的嵌套应用✅循环中断 : break和continue ✅while循环的基础语法 只要条件满足…

Thread的属性和方法及如何中断一个线程

文章目录 一. Thread提供的属性和方法1. Thread常见的构造方法2. 属性及获取方法 二. 中断(终止)一个线程1) 自己来实现控制线程结束的例子2) 使用Thread提供的interrupt和isInterrupted方法来实现控制线程结束 一. Thread提供的属性和方法 1. Thread常见的构造方法 ③ 在创建…

戏曲多多 v1.0.4 — 专为老年人打造的戏曲娱乐软件(含经典评书与广场舞)

戏曲多多 TV 是一款专为老年人量身打造的视频娱乐软件&#xff0c;安装在智能电视、智能机顶盒、投影仪等安卓系统设备上后&#xff0c;老年人可以在电视上轻松观看各种戏曲视频。软件涵盖豫剧、京剧、秦腔、越剧、昆曲、淮剧、川剧、黄梅戏等多种戏曲类型。除了戏曲&#xff0…

Java设计模式之原型模式详细讲解和案例示范

引言 在软件设计中&#xff0c;设计模式为我们提供了可复用的解决方案&#xff0c;以应对常见的设计问题。原型模式&#xff08;Prototype Pattern&#xff09;是创建型设计模式的一种&#xff0c;它允许通过复制现有对象来创建新对象&#xff0c;而不需要了解创建过程的细节。…

【软件】常用软件教程一:码云(Gitee)使用方法

文章目录 一、简介二、创建远程仓库三、配置SSH公钥四、同步 Gitee 仓库内容到本地五、本地新建文件并同步至 Gitee六、删除远程仓库中的指定文件七、常见代码 一、简介 Git 是一种分布式版本控制系统&#xff0c;用于跟踪和管理代码的变更。它是由 Linus Torvalds 创建的&…

ctfhub-web-SSRF(内网访问-上传文件)

www.ctfhub.com less-1 内网访问 步骤一&#xff1a;开启环境&#xff0c;查看提示 步骤二&#xff1a;输入urlhttp://127.0.0.1/flag.php 得出结果 显示提交成功 less-2 伪协议读取文件 步骤一&#xff1a;开启环境&#xff0c;查看提示 步骤二&#xff1a;输入urlfile://…

英伟达财报引爆AI投资狂潮?华尔街众说纷纭

英伟达&#xff0c;这个名字最近可是火爆了整个科技圈。作为全球最大的GPU供应商&#xff0c;英伟达的每一次动作都牵动着无数投资者的神经。尤其是即将到来的财报发布&#xff0c;更是让市场充满了期待和忐忑。 华尔街聚焦&#xff1a;AI巨头能否持续高增长&#xff1f; 整个…

背完这些软件测试核心面试题,offer轻松拿捏了!

你赞同过 软件测试和开发 相关内容 01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分法&#xff0c;边界分析法&#xff0c;因果图法…

NVDA财报公布在即,港股围观情绪明显

港股上午盘三大指数低开低走&#xff0c;恒生科技指数一度大跌1.59%&#xff0c;恒指再度失守17800点。盘面上&#xff0c;大型科技股全线下跌令大市承压&#xff0c;百度跌超3%&#xff0c;网易、美团跌超2%&#xff0c;腾讯、快手、阿里巴巴跌超1%&#xff1b;多家房企宣布营…