违法网站做网站的人会受罚嘛/网络营销中的四种方法
前言:
本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
引用:
正点原子IMX6U仓库 (GuangzhouXingyi) - Gitee.com
《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf》
正点原子资料下载中心 — 正点原子资料下载中心 1.0.0 文档
正文:
本文是 “正点原子[第二期]Linux之ARM(MX6U)裸机篇--第14.1, 14.2, 14.3 讲” 的读书笔记。第14讲主要是介绍I.MX6U处理器的主频和系统时钟配置。本节将参考正点原子的视频教程第14讲和配套的正点原子开发指南文档进行学习。
0. I.MX6U系统时钟总体介绍
在前几章的时延中我们都没有涉及到I.MX6U的时钟和主频的配置操作,全部使用默认的配置,默认配置I.MX6U上电启动芯片内部 boot ROM 会把处理器工作频率设置为 396MHz。但是 I.MX6U 系列标准的工作频率为 528MHz,有些型号甚至可以工作到696MHz。本章我们就学习I.MX6U的系统时钟,学习如何配置I.MX6U的系统时钟和其他的外设时钟,使其工作在 528MHz,其它的外设时钟都工作在NXP推荐的频率。
1. I.MX6U时钟系统详解
I.MX6U的系统主频为528MHz,有些型号伸着可以跑到696MHz,但是默认情况下内部 boot rom 会讲 I.MX6U 的主频设置为 396MHz,这个我们在 9.2 小节已经讲过了。我们在使用 I.MX6U 的时候肯定要发挥它的最大性能,那么主频肯定要设置到528MHz(其它型号可以设置的更高,比如696MHz),其它的外设时钟也要设置到NXP推荐的值。I.MX6U的系统时钟在I.MX6ULL/I.MX6UL 参考手册》的第 10 章“Chapter 10 Clock and Power Management”和第18 章“Chapter 18 Clock Controller Module (CCM)”这两章有详细的讲解。
1.1 系统时钟的来源
打开I.MX6U ALPHA/Mini 核心开发板原理图,开发板时钟如图 16.1.1.1 所示
从图 16.1.1.1 可以看出 I.MX6U ALPHA/Mini 开发板的系统时钟来源于两部分:32.768KHz和24MHz的晶振,其中 32.768KHz是I.MX6U的RTC时钟源,24MHz晶振是I.MX6U内核和其他外设的时钟源,也是我们重点要分析的。
1.2 7路PLL时钟源
I.MX6U的外设有很多,不同的外设时钟源不同,NXP将这些外设的时钟源做了分组,一共有7组,这7组时钟源都是从 24MHz 晶振 PLL 而来的,因此也叫做7组PLL,这7组PLL结构图如 图 16.1.1.2 所示:
图 16.1.1.2 展示了7个PLL的关系,我们依次来看一下这7个PLL的都是什么做什么用的?
- 1. ARM PLL (PLL1) ,此路PLL是同ARM内核使用的,ARM内核时钟就是由此PLL生成的,此PLL通过编程的方式最高可倍频到1.3GHz。
- 2. 528_PLL(PLL2),此路PLL也叫做 System_PLL,此路PLL是固定的22倍频,不可编程修改。因此,此路PLL时钟=24MHz*22=528MHz,这也是为什么此PLL叫做 528_PLL 的原因。此PLL分出4路PFD(相位分数分频器),分别为 PLL2_PFD0~PLL2_PFD3,这4路PFD和528_PLL共同作为其它很多外设的根时钟源。通常528_PLL和这4路PFD是 I.MX6U 内部系统总线的时钟源,比如内部处理器逻辑单元,DDR接口,NAND/NOR接口等等。
- 3. USB1_PLL(PLL3),此路PLL主要用于USBPHY,此PLL也有四路PFD,为 PLL3_PFD0~PLL3_PFD3,USB1_PHY 是固定的20倍频,因此USB1_PLL=24MHz*20=480MHz。USB1_PLL虽然主要用于USB1PHY,但是和其他四路PFD同样也可以用作其他外设的时钟源。
- 4. USB2_PLL(PLL7),看名字就知道此路PLL是给 USB2PHY使用的。同样的,此路PLL固定位20倍频,因此也是480MHz。
- 5.ENET_PLL(PLL6),此路PLL固定位20+5/6倍频,因此 ENET_PLL=24MHz*(20+5/6)=500MHz。此路PLL用于生成网络所需的时钟,可以在此PLL的基础上生成25/50/100/125MHz网络时钟。
- 6. VIDEO_PLL(PLL5),此路PLL用于显示相关外设,比如LCD,此路PLL的倍频可以调整,PLL的输出范围在 650MHz~1300MHz。此路PLL在最终输出的时候还可以进行分频,可选1/2/4/8/16分频。
- 7. AUDIO_PLL(PLL4),此路PLL用于音频相关的外设,此路PLL的倍频可以调整,PLL的输出范围同样也是650MHz-1300MHz,此路PLL在最终输出的时候也可以进行分频,可选1/2/4分频。
1.3 时钟树简介
在上一小节讲解了7路PLL,I.MX6U的所有外设时钟源都是从这7路PLL和有些PLL的PFD而来的,这些外设究竟是如何选择PLL或者PFD的?这就要借助《IMX6ULL 参考手册》里的时钟树了,在“Chapter 18 Clock Controller Module (CCM)”的 18.3 小节给出了 I.MX6U详细的时钟树图,如图 16.1.3.1 所示:
在图16.3.1中一共有三部分:CLOCK_SWITCHER,CLOCK ROOT GENERATOR 和 SYSTEM CLOCKS。其中左边的 CLOCK_SWITCHER 就是我们上一小节讲解的那7路PLL和8路PFD,右边的 SYSTEM CLOCK 就是芯片外设,中间的 CLOCK ROOT GENERATOR 是最复杂的,这一部分就像“月老”一样,给左边的 CLOCK_SWITCHER 和 右边的 SYSTEM CLOCKS 进行牵线搭桥。外设的时钟源有多路可以选择的,CLOCK ROOT GENERATOR 就扶着从7路PLL和8路PFD中选择合适的时钟源给外设使用。具体操作肯定是设置相应的寄存器,我们以EASI这个外设为例,EASI的时钟图如 16.1.3.2 所示:
在图 16.1.3.2 中我们分为了3部分,这3部分如下:
- 此部分是时钟选择源,ESAI有4个可选的时钟源:PLL5, PLL5, PLL3_PFD2 和 pll3_sw_clk。具体选择哪一路作为ESAI的时钟源是有寄存器 CCM->CSMR2 的 EASI_CLK_SEL 位来决定的,用户可以自由配置,配置如图 16.1.3.3 所示
- 此部分作为ESAI时钟的前级分频器,分频值由 CS1CDR的ESAI_CLK_PRED来确定,可以设置1~8分频,假如现在 PLL4=650MHz,我们选在PLL4作为ESAI时钟,前级分频器选择2分频,那么此时的时钟就是 650/2 = 325MHz
- 此部分又是一个分频器,对2中输入的时钟进一步分频,分频值由寄存器 CS1CDR 的 ESAI_CLK_PODF 来决定,可以设置1~8分频。假如我们设置为8分频的话,经过此分频器以后的时钟就是 325/8=40.625MHz。因此最终进入到 ESAI外设的时钟就是 40.625MHz。
上面我们以外设EASI为例讲解了如何根据图 16.1.3.1 来设置外设的时钟频率,其它的外设基本类似,大家可以自行分析一下其他的外设。关于外设时钟配置的内容全部都在《I.MX6ULL 参考手册》的第 18 章。
1.4 内核时钟设置
I.MX6U的系统故事中再前面几节已经分析的差不多了,现在就可以开始设置相应的时钟频率了。先从处理器主频开始,我们将 I.MX6U 的主频设置为 528MHz,根据根据图 16.1.3.2 的时钟树可以看到ARM 内核时钟如图 16.1.4.1 所示:
图 16.1.4.1 中各部分如下
序号 | 描述 |
1 | 内核时钟来源于PLL1,假设此时PLL1为960MHz |
2 | 通过寄存器 CCM_CACRR 的 ARM_PODF 位对PLL1进行分频,可选择1/2/4/8分频,假如我们选择了2分频,那么经过分频以后的时钟频率就是 996/2=498MHz |
3 | 大家不要被次数的2分频给骗了,此处没有进行2分频(我就被这个 2 分频骗了好久,主频一直配置不正确! |
4 | 经过第2步的分频之后的498MHz就是ARM的内核时钟,也就是I.MX6U的主频 |
经过上面的几步分析可知,假如我们要设置内核主频为528MHz,那么PLL1可以设置为 1056MHz,寄存器CCM_CACRR的 ARM_PODF 位设置为2。同理,如果要将主频设置为696Mhz,那么主频PLL1就可是设置696Mhz,CCM_CACRR的 ARM_PODF 位设置为1。现在问题很清楚了:
- 寄存器CCM_CACRR的 ARM_PODF 位很好设置
- PLL1的频率可以通过 CCM_ANALOG_PLL_ARMn 来设置。
CCM_CACRR寄存器的结构如下图所示:
1.4.1 PLL1 (ARM_PLL)倍频设置
《I.MX6ULL 参考手册》的章节 18.5.1.3.1 ARM PLL,说明了 PLL1 的是从外部 24MHz 晶振倍频而来,PLL1 的频率范围是从 650MHz ~ 1.3GHz,通过寄存器 'CCM_ANALOG_PLL_ARM' 的比特位 'DIV_SELECT' 可以选择输出的PLL1的倍频范围。
PLL1 的倍频输出计算公式为:
PLL output frequency = Fref * DIV_SEL/2
根据上面的计算公式,假如我们想要配置 PLL1 的倍频输出为 1056Mhz,计算出的的 'DIV_SEL' 值应该是 。
1056 Mhz = 24MHz*DIV_SEL/2;
DIV_SEL = (1056*2)/24 = 88
'CCM_ANALOG_PLL_ARM' 寄存器比特位 'DIV_SELECT' 定义如下:
寄存器 CCM_ANALOG_PLL_ARM 的关键位是:
- bit[13] Enable:时钟输出使能位,此位设置为 1 使能 PLL1 输出,如果设置为 0 的话就关闭 PLL1输出
- bit[6:0] DIV_SELECT,:此位设置 PLL1 的输出频率,可设置范围为: 54~108, PLL1 CLK = Fin *div_seclec/2.0, Fin=24MHz。如果 PLL1 要输出 1056MHz 的话, div_select 就要设置为 88。
1.4.2 PLL1 Clock Switcher 时钟源选择
在修改 PLL1 时钟频率的时候我们需要先将内核时钟源改为其他的时钟源, PLL1 可选择的
时钟源如图 16.1.4.4 所示,在《I.MX6ULL 参考手册》的章节 18.5.1.5.1 Clock Switcher 中:
思考:修改ARM主频为什么要切换时钟源?
为什么在设置 PLL1 (ARM_PLL) ARM 内核时钟的时候,要先将ARM内核时钟选择一个其他时钟源,然后修改PLL1的时钟频率,最后在将ARM内核的时钟源再切换到PLL1哪?
原因:
因为ARM内核(处理器)的运行每时每刻都需要时钟的驱动,I.MX6U 默认启动的时候使用的是 PLL1 的时钟源默认为396MHz,当我们需要修改系统主频,也就是修改PLL1的倍频频率为 596MHz的时候,要对PLL1进行修改而当前ARM内核当前正在使用的就是PLL1,修改PLL1时钟需要一个过程而在这个过程中ARM处理器就丢失了时钟无法运行。
这就像给人做心脏手术一样,在做对心脏做手术之前要接一个体外人工血液循环泵维持血液循环,在做完心脏手术之后再把血液循环接回到心脏。
也就是说在修改当前PLL之前,所有以依赖当前PLL的时钟源都需要切换到一个新的时钟源上,然后
图 16.1.4.4中:
1. pll_sw_clk 也就是PLL1的最终输出频率
2. 此处是一个选择器,选择 pll1_sw_clk 的时钟源,有寄存器 CCM_CCSR 的 PLL1_SW_CLK_SEL 位决定 pll1_sw_clk 是选择 pll1_mian_clk 还是 step_clk。正常情况下应该选择 pll1_main_clk,但是如果要对 pll1_main_clk(PLL1)的频率进行调整的话,比如我们要设置PLL1=1056MHz,此时就要先将 pll1_sw_clk 切换到 step_clk 上。等 pll1_main_clk 调整调整完成以后再切换回来。
3. 此处也是一个选择器,选择 step_clk 的时钟源,有寄存器 CCM_CCSR 的 SETP_SEL 位决定 setp_clk 是选择 osc_clk 还是 secondary_clk。一般选择 osc_clk,也就是 24MHz 的晶振。
这里我们用到了一个寄存器 CCM_CCSR,此寄存器的结构如下图所示:
寄存器 CCM_SSSR 我们只用到了 STEP_SEL 和 PLL1_SW_CLK_SEL 这两位,一个是用来选择 setp_clk 的时钟源,一个是用来选择 pll1_sw_clk 的时钟源。
到这里,修改 I.MX6U 主频的步骤就很清晰了,修改步骤如下:
- 设置寄存器 CCM_CCSR 的 STEP_SEL位,设置 setp_clk 的时钟源为 osc 24MHz 的晶振。
- 设置寄存器 CCM_CCSR 的 PLL1_SW_CLK_SEL 位,设置 pll1_sw_clk 的时钟源为 setp_clk=24MHz,通过这一步我们就将 I.MX6U 的主频先这是为 24MHz,直接来自于外部的24MHz晶振。
- 设置寄存器 CCM_ANALOG_AMRn,将 pll1_mian_clk(PLL1)设置为 1056MHz。
- 设置寄存器 CCSR 的 PLL1_SW_CLK_SEL 位,将 pll1_sw_clk 的时钟源重新切换会 pll1_main_clk ,切换回来之后的 pll1_sw_clk 就等于 1056MHz。
- 最后设置寄存器CCM_CACRR 的 ARM_PODF 为 2 分频,I.MX6U的内核主频就为 1056/2=528MHz。
1.4.3 PLL1 主频设置源码
按照上面1.4.2 分析的步骤
/* 初始化时钟 */
void imx6u_clkinit(void)
{/* 初始化 IMX6U 的主频为528MHz */if(((CCM->CCSR >> 2) & 0x1) == 0){ /* 判断PLL1_SW_CLK_SEL位为0,当前使用 pll1_main_clk */CCM->CCSR &= ~(1<<8); /* 设置CCM_CCSR STEP_SEL位,0 step_clk 选择 osc_clk 24MHz晶振 */CCM->CCSR |= (1<<2); /* 设置PLL1_SW_CLK_SEL位为1,pll1_sw_clk切换到step_clk */}/* 设置PLL1为1056MHz */CCM_ANALOG->PLL_ARM &= ~(1 << 13); /* 清零ANANLOG_PLL_ARM bit[13],关闭 pll1_main_clk */CCM_ANALOG->PLL_ARM &= ~0x7f; /* 清零ANANLOG_PLL_ARM bit[6:0] */CCM_ANALOG->PLL_ARM |= ((88 << 0) & 0x7f); /* 设置ANANLOG_PLL_ARM bit[6:0], PLL1 frquencey=Frq*div_select/2 */CCM_ANALOG->PLL_ARM |= (1 << 13); /* 设置ANANLOG_PLL_ARM bit[13] Enable=1, 开启 pll1_main_cl *//* pll1_sw_clk切换回pll1_main_clk(PLL1)*/CCM->CCSR &= ~(1<<2);/* 设置PLL1分频位2, 1056Mhz/2=528MHz */CCM->CACRR = 0x1; /* ARM_PODF divide by 2 */}
1.4.4 编译修改主频后源码烧录SD卡验证
编译修改主频后源码烧录SD卡验证主频修改是否生效。将I.MX6U的主频从默认396MHz修改为 528MHz或者696Mhz之后,LED灯闪烁速度会变快,按下按键后蜂鸣器的鸣叫频率也尖锐。
我本地验证的结果是修改修改I.MX6U主频为528MHz/696MHz之后LED闪烁频率变快蜂鸣器鸣叫变快,实验修改主频成功。
2. PFD时钟设置
设置好主频之后我们好要设置好其它的PLL和PFD时钟,PLL1上一小节已经设置好了,PLL2, PLL3, PLL7 是固定为528MHz, 480MHz 和 480MHz,PLL4~PLL6 都是针对特殊外设的用到的时候再设置。
因此,接下来重点就是设置PLL2和PLL3的各自4路PFD,NXP推荐的这8路PFD频率如下表:
先设置PLL2的4路PFD,用到的寄存器是 CCM_ANLOG_PFD_528n,寄存器的结构如下图所示:
从 16.5.1 可以看出,寄存器 CCM_ANALOG_PFD_528n 其实分为四组,分别对应 PFD0~PFD3,每组8个bit,我们以 PFD0为例,看一下如何设置 PLL2_PFD0的频率。PFD0对应的寄存器位如下:
- PFD0_FRAC:PLL2_PFD0的分频数,PLL2_PFD0的计算公式为 528*18/PFD0_FRAC,此位的可设置范围为 12-35。如果 PLL2_PFD0 的频率设置352MHz的话,PFD0_FRAC=528*18/252=27。
- PFD0_STABLE :此位为只读位,可以通过此位判断PLL2_PFD0 是否稳定
- PFD0_CLKGATE:PLL2_PFD0 输出是能位,为1的时候关闭PLL2_PFD0的输出,为0的时候使能输出。
如果我们设置PLL2_PFD0的频率为325MHz的话,就需要设置 PFD0_FRAC为27,PFD0_CLKGATE为0。PLL1~PLL3的设置类似,频率计算公式都是 528*18/PFDX_FRAC(X=1~3),因 此 PLL2_PFD1=594MHz 的 话 , PFD1_FRAC=16 ;PLL2_PFD2=400MHz 的话 PFD2_FRAC 不能整除,因此取最近的整数值,即 PFD2_FRAC=24,这样 PLL2_PFD2 实际为 396MHz; PLL2_PFD3=297MHz 的话, PFD3_FRAC=32。
接下来设置PLL3 PFD0~PFD3这4路PFD的频率,使用到的寄存器是CCM_ANALOG_PFD_480n,此寄存器的结构如下图所示:
从图 16.1.5.2 可以看出,寄存器 CCM_ANALOG_PFD_480n 和 CCM_ANALOG_PFD_528n
的结构是一模一样的,只是一个是 PLL2 的,一个是 PLL3 的。寄存器位的含义也是一样的,只
是 频 率 计 算 公 式 不 同 , 比 如 PLL3_PFDX=480*18/PFDX_FRAC(X=0~3) 。 如 果
PLL3_PFD0=720MHz 的话, PFD0_FRAC=12;如果 PLL3_PFD1=540MHz 的话, PFD1_FRAC=16;如果 PLL3_PFD2=508.2MHz 的话, PFD2_FRAC=17; 如果 PLL3_PFD3=454.7MHz 的话,PFD3_FRAC=19。
相关文章:

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置
前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...

tomcat打开乱码修改端口
将UTF-8改成GBK 如果端口冲突,需要修改tomcat的端口...

03 JavaSE-- 访问控制权限、接口、抽象类、内部类、Object类、异常
1. Exception 异常 在 Java 中,异常分为两种主要类型:强制性异常(Checked Exceptions)和非强制性异常(Unchecked Exceptions)。 强制性异常(Checked Exceptions): 强制…...

free5gc+ueransim操作
启动free5gc容器 cd ~/free5gc-compose docker-compose up -d 记录虚拟网卡地址,eth0 ifconfig 查看并记录amf网元的ip地址 sudo docker inspect amf "IPAddress"那一行,后面记录的即是amf的ip地址 记录上述两个ip地址,完成UER…...

麦肯锡精英高效阅读法笔记
系列文章目录 如何有效阅读一本书笔记 读懂一本书笔记 麦肯锡精英高效阅读法笔记 文章目录 系列文章目录序章 无法读书的5个理由无法读书的理由① 忙于工作,没时间读书无法读书的理由② 不知应该读什么无法读书的理由③ 没读完的书不断增多无法读书的理由④ 工作繁…...

高速、简单、安全的以太彩光,锐捷网络发布极简以太全光 3.X 方案
从 2021 年 3 月正式推出到现在,锐捷网络极简以太全光方案已经走进第四个年头。IT 仍在不断向前发展,数字化进程深入,数字化业务增多,更广泛的终端设备接入企业级园区网络,对园区网络提出了更高的要求,例如…...

图书管理系统
一、图书管理系统菜单 🍓管理员菜单 1.查找图书 2.新增图书 3.删除图书 4.显示图书 0.退出系统 --------------------------------------------------------------------------------------------------------------------------------- 🌼用户菜…...

图解HTTP(2、简单的 HTTP 协议)
HTTP 协议用于客户端和服务器端之间的通信 请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务器端。 通过请求和响应的交换达成通信 请求必定由客户端发出,而服务器端回复响应报文 请求报文是由请求方法、请求 URI、协议版本、…...

小鹅知识付费系统登录,网课怎么推广与宣传?有啥获客方法?
现在很多教育机构都开始做网络课程,同行之间的竞争也愈发激烈,机构的网课想要盈利就需要对课程进行宣传推广,网课要怎么推广和宣传呢? 在线课程要想推广获客方法有几种,不同推广方法获客效果也是不同的,只有…...

韩顺平0基础学Java——第5天
p72——p86 今天同学跟我说别学java,真的吗?唉,先把这视频干完吧。 逻辑运算符练习 x6,y6 x6,y5 x11,y6 x11,y5 z48 错了&a…...

单片机为什么能直接烧录程序?
在设计芯片的时候,关于烧录的环节是一个不得不考虑的问题。首先排除掉,由外部硬件直接操控FLASH的方案,这个方案有很多缺点。 1、每个IC使用的FLASH型号各不相同,每种型号的FLASH的烧录命令和流程都有差别,这会导致烧…...

【Linux】25. 网络基础(一)
网络基础(一) 计算机网络背景 网络发展 独立模式: 计算机之间相互独立; 网络互联: 多台计算机连接在一起, 完成数据共享; 其实本质上一台计算机内部也是一个小型网络结构(如果我们将计算机内部某个硬件不存放在电脑中,而是拉根长长的线进行连接。这其实也就是网…...

项目经理【人】任务
系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】任务 【环境】绩效 【人】概述 【人】原则 【人】任务 一、定义团队的基本规则&塔克曼阶梯理论 1.1 定义团队的基本规则 1.2 塔克曼阶梯理论 二、项目经理管理风格 …...

Linux学习(嵌入式硬件知识)
GPU和CPU GPU(Graphics Processing Unit,图形处理单元)和 CPU(Central Processing Unit,中央处理单元)是计算机中两种不同的处理器。它们在功能、设计和用途上有所不同。 CPU(中央处理单元&…...

英语学习笔记4——Is this your ...?
Is this your …? 词汇 Vocabulary suit /sut/ n. 西装,正装 suit 的配套: shirt n. 衬衫tie n. 领带,领结belt n. 腰带trousers n. 裤子shoes n. 鞋子 school /skuːl/ n. 学校 所有学校 搭配:middle school 初中 hig…...

Hive Bucketed Tables 分桶表
Hive Bucketed Tables 分桶表 1.分桶表概念 2.分桶规则 3.语法 4.分桶表的创建 5.分桶表的好处...

【拆位法 决策包容性 位运算】2871. 将数组分割成最多数目的子数组
本文涉及知识点 拆位法 贪心 位运算 决策包容性 位运算、状态压缩、子集状态压缩汇总 LeetCode2871. 将数组分割成最多数目的子数组 给你一个只包含 非负 整数的数组 nums 。 我们定义满足 l < r 的子数组 nums[l…r] 的分数为 nums[l] AND nums[l 1] AND … AND nums[r…...

Java 线程池 ( Thread Pool )的简单介绍
想象一下,你正指挥着一支超级英雄团队,面对蜂拥而至的敌人(任务),不是每次都召唤新英雄(创建线程),而是精心调配现有成员,高效应对。这就是Java线程池的魔力,…...

鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位
时间概念太重要了,在鸿蒙内核又是如何管理和使用时间的呢? 时间管理以系统时钟 g_sysClock 为基础,给应用程序提供所有和时间有关的服务。 用户以秒、毫秒为单位计时.操作系统以Tick为单位计时,这个认识很重要. 每秒的tick大小很大程度上决…...

安装numpy遇到的问题
安装numpy的时候提示无法安装如下: (venv) E:\works\AI\venv\Scripts>pip install numpy pandas matplotlib jupyter -i https://pypi.douban.com/simple Looking in indexes: https://pypi.douban.com/simple WARNING: Retrying (Retry(total4, connectNone, r…...

页面嵌套,界面套娃,除了用iframe,还有其他方式吗?
UIOTOS可以了解下,uiotos.net,通过连线来代替脚本逻辑开发,复杂的交互界面,通过页面嵌套轻松解决,是个很新颖的思路,前端零代码! 蓝图连线尤其是独创的页面嵌套和属性继承技术,好家…...

上传文件至linux服务器失败
目录 前言异常排查使用df -h命令查看磁盘使用情况使用du -h --max-depth1命令查找占用空间最大的文件夹 原因解决补充:删除文件后,磁盘空间无法得到释放 前言 使用XFTP工具上传文件至CentOS服务器失败 异常 排查 使用df -h命令查看磁盘使用情况 发现磁盘…...

渗透 如何防御ARP欺骗,LLMNR-MDNS-NBNS等协议的作用
一. 如何防御ARP欺骗? 1.使用双向IP/MAC绑定; 2.使用静态ARP缓存表; 3.使用ARP服务器,通过服务器来查找ARP转换表来响应其他机器的广播; 4.使用ARP欺骗防护软件; 5.在网关设备上部署防ARP欺骗攻击功能…...

【C++ 所有STL容器简介】
【C 所有STL容器简介】 1. vector2. list3. deque4. set / multiset5. map / multimap6. unordered_set / unordered_multiset7. unordered_map / unordered_multimap8. stack9. queue10. priority_queue C 标准模板库(STL)提供了一系列常用的容器&#…...

Django调用SECRET_KEY对数据进行加密
对数据进行加密 在Django中进行加密可以直接调用django配置文件中的SECRET_KEY , 同时还需要导入itsdangerous模块中的TimedJSONWebSignatureSerializer进行加密 1. 实现加密方法 , 生成用户加密链接 # 生成用户加密链接 def generate_verify_email_url(user):# 调研加密方法…...

芸众商城电商专业版400+插件源码+搭建教程
介绍: 芸众商城社交电商系统SAAS平台前端基于vue开发,后端基于研发积分商城系统源码 php,本文安装芸众商城全插件(400多个)商业版平台源码,可同时支持多端口部署运行;使用宝塔面板一键部署的形…...

【机器学习与实现】线性回归示例——波士顿房价分析
目录 一、创建Pandas对象并查看数据的基本情况二、使用皮尔逊相关系数分析特征之间的相关性三、可视化不同特征与因变量MEDV(房价中值)间的相关性四、划分训练集和测试集并进行回归分析 一、创建Pandas对象并查看数据的基本情况 boston.csv数据集下载&a…...

Redis核心数据结构——跳表(生成数据到文件和从文件中读取数据、模块合并、)
生成文件和从文件中读取数据。 需求如下: 你的任务是实现 SkipList 类中的数据持久化成员函数和数据加载成员函数。 持久化数据成员函数签名:void dump_file(); 该成员函数负责将存储引擎内的数据持久化到文件中。数据的持久化格式是将每个键值对写入文…...

微信小程序下载文件详解
在微信小程序中,下载文件通常涉及使用 wx.downloadFile API。这个 API 可以将网络资源下载到本地临时文件路径,然后你可以使用 wx.saveFile 将临时文件保存到本地持久存储位置。下面是一个下载文件的详细过程: 使用 wx.downloadFile 下载文件…...

2024 概率论和数理统计/专业考试/本科考研/论文/重点公式考点汇总
## 列表http://www.deepnlp.org/equation/category/statistics ## 均匀分布http://www.deepnlp.org/equation/uniform-distribution ## t-分布http://www.deepnlp.org/equation/student-t-distribution ## 伯努利分布http://www.deepnlp.org/equation/bernoulli-distributio…...