ARM入门指引

象棋小子    1048272975

ARM处理器作为当今最流行的芯片,已经应用在我们生活中的方方面面。从简单的电饭锅控制到小米八核千元神机、Nokia 2000万拍照利器,都可以看到ARM处理器的身影。ARM做为一种技术,已经涵盖了各种领域低端、中端、高端的应用,因此,学习和掌握ARM处理器的开发技术是一个不错的选择。笔者不才,就自己的看法简单谈谈ARM的入门学习,给读者一个初步的指导方向。

1. ARM概述

ARM(AdvancedRISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称。ARM公司是知识产权供应商,是设计公司,本身不生产销售芯片,而是设计出高效的IP内核,授权给各个半导体公司使用。由于ARM内核耗电少、成本低、功能强,得到了众多半导体厂家的大力支持,包括TI、Philips、Intel、Samsung等,使得ARM获得了广泛的应用,确立了ARM技术的市场领先地位。

ARM采用RISC(Reduced Instruction Set Computer)微处理器架构,RISC架构的特点就是采用固定长度的指令格式,通过大量使用寄存器来提高数据的操作处理,使指令执行速度更快,寻址方式灵活简单,执行效率高。

目前ARM处理器根据不同的应用需求,划分为几个不同的系列。其中我们较常见的,并且市场正在应用的有ARM7、ARM9、ARM10、ARM11、Cortex系列,对应的版本由低到高,相应的处理器架构为ARMv4、ARMv5、ARMv6、ARMv7。其中ARM7/ARM9主要面向中低端市场,用于竞争8位、16位微处理器的份额。这里主要说一下采用ARMv7架构的Cortex系列,Cortex系列分为Cortex-A、Cortex-R、Cortex-M共3类。Cortex-A为传统的、基于虚拟存储的操作系统和应用程序而设计的(目前大部分手机、平板等高端设备采用这个系列的处理器),支持ARM、Thumb、和Thumb-2指令集。Cortex-R针对实时系统设计,支持ARM、Thumb、Thumb-2指令集。Cortex-M为对价格敏感的产品设计,只支持Thumb-2指令集,如用在控制领域Cortex-M0、Cortex-M3,价格低廉,性能优越,对8位、16位微控制器造成较大的冲击。

2. 代码编译工具

根据选择的ARM处理器系列,选择能编译相对应指令集的编译器即可。ARM编译器有Keil MDK、IAR、arm-linux-gcc等,其中MDK、IAR均是在windows下集成开发环境,极易使用。其中IAR支持涵盖ARM7到Cortex-A的各个系列,代码编译效率高。arm-linux-gcc交叉编译工具链也可强劲支持各个系列的ARM处理器,尤其是使用开源项目的代码或开发嵌入式linux方面,几乎无疑选用arm-linux-gcc,但arm-linux-gcc是需要在linux环境下运行的,通过Cygwin或虚拟机虽可在windows下构建一个linux运行环境,但对初学都来说,arm-linux-gcc还是比较难掌握的。KeilMDK对于学习过51单片机的读者应该不陌生,开发51单片机用Keil C51支持尤为强劲,而MDK就是Keil用来开发ARM的集成开发环境。MDK只能支持ARM7、ARM9、Cortex-M这些系列ARM处理器,高端的ARM并没有支持,对于开发中低端的ARM处理器,选择MDK编译器是不错的选择。(Keil公司已被ARM公司收购,ARM公司的官方编译器为MDK和RVDS)


图2-1 MDK集成开发环境

3. 入门准备

笔者此处也是选用MDK编译器作为入门开发讲解。各个系统的ARM处理器架构有些不一样,并且同一架构的ARM处理器各个厂商的具体芯片使用均是不一样的。一般弄清其中一个系列的架构即可,其它都是通用处理器相关的内容,技术学其一是能通其它的,往往根据之前的积累看新的处理器技术手册就能很快掌握新的处理器使用。笔者此处选ARM7作为讲解,当然ARM9是完全兼容ARM7指令的,学习了ARM7,ARM9也同时掌握了。具体到芯片型号,笔者此处选用原Philips半导体公司NXP的LPC2100系列,以LPC2103为例。

进行ARM编程前,是必须先了解ARM的体系结构的,包括ARM的处理器模式、寄存器组织、异常、寻址方式等。体系结构相关的内容都是会直接涉及到汇编处理的过程,因此,学习相关知识的时候会同时涉及到汇编程序的学习。汇编对于arm开发,是比较重要的,尤其是处理操作系统底层的代码或bootloader之类代码,是必须要用汇编实现体系结构相关的代码,其它像c之类的高级语言均是无能为力的。笔者在文章的末尾给出了周立功ARM教程PPT,包括ARM7的体系结构,汇编指令讲解这些内容,是相当不错的教材,以供大家学习。

学习一门完全没有接触过的技术,是需要一个逐步感性的认识过程的。对于初学者,不建议直接买开发板学习,因为没有足够的认识之前,往往会迷失方向,不知从何处学起,如果反复的上电,连下载线下载代码,却并不知道代码为什么要这样写,会消耗个人的斗志。笔者此处推荐Proteus仿真软件,Proteus仿真软件最成功的就是仿真51单片机的运行,但Proteus也是可以仿真ARM7运行的,当然支持的芯片极为有限,仅支持NXP的LPC2100系列的几款。但这对于我们的前期学习是完全足够了,这也是为什么笔者前面选择NXP LPC2103这款ARM7的原因。软件仿真的好处就是零成本,可以直接改代码,省去开发板连下载线下载代码这些繁琐的步骤,方便验证,并且可以跟踪每一行代码的运行实现。Proteus仿真软件界面如图3-1。仿真软件只能仿真一些简单的代码,并且仿真结果也并不一定百分百正确,对ARM有一定的认识后,就可以买开发板做进一步的学习,如三星的arm9开发板、意法半导体的Cortex-M3开发板等都是不错的选择。


图3-1 Proteus arm7仿真软件

4. 入门流水灯汇编实现

笔者不再对MDK工程的搭建或Proteus LPC2103仿真电路的搭建进行详细讲解,在文章的末尾给出了流水灯汇编实现的MDK工程以及Proteus工程,读者自行学习验证。

4.1. 新建MDK工程LEDs,选择NXP下LPC2103目标芯片。

4.2. 我们采用的是汇编实现,选择“否”不需要加入启动代码到工程。

4.3. 新建一个LEDs.s的汇编源代码文件并加入工程,用汇编实现流水灯代码。

PINSEL0 EQU 0xE002C000

IO0PIN  EQU 0xE0028000

IO0SET  EQU    0xE0028004

IO0DIR  EQU    0xE0028008

IO0CLR  EQU    0xE002800C

 

    AREA RESET, CODE, READONLY

    ARM ; 表明为ARM代码

    ENTRY ; 代码入口

Start

   LDR R0, =PINSEL0 ; 引脚功能寄存器1设置

    LDR R1,[R0] ; 获得寄存器值

    LDR R2,=0xffff

    BIC R1,R1, R2 ; 清除R1的低16位

    STR R1,[R0]; 写回寄存器P0.0~P0.7为GPIO功能

 

    LDR     R0, =IO0DIR ; IO口输入输出控制

    LDR R1,[R0] ; 获得寄存器值

    ORR R1,R1, #0xff ; 置位低8位(输出)

    STR     R1,[R0] ;P0.0~P0.7为输出

   

    LDR R0,=IO0PIN ; 引脚值寄存器

    LDR     R1,[R0] ; 获得寄存器的值

    ORR R1,R1, #0xff ; 置位低8位,输出高电平

    STR R1,[R0] ; LED1~LED8灭

   

    LDR    R0, =IO0SET

    LDR     R1,=IO0CLR

Loop

    MOV R2,#(1<<0)

    STR R2,[R1] ; LED0亮

    BL  Delay_1s

    STR R2,[R0] ; LED0灭

   

    MOV R2,#(1<<1)

    STR R2,[R1] ; LED1亮

    BL  Delay_1s

    STR R2,[R0] ; LED1灭

   

    MOV R2,#(1<<2)

    STR R2,[R1] ; LED2亮

    BL  Delay_1s

    STR R2,[R0] ; LED2灭  

   

    MOV R2,#(1<<3)

    STR R2,[R1] ; LED3亮

    BL  Delay_1s

    STR R2,[R0] ; LED3灭

 

    MOV R2,#(1<<4)

    STR R2,[R1] ; LED4亮

    BL  Delay_1s

    STR R2,[R0] ; LED4灭

 

    MOV R2,#(1<<5)

    STR R2,[R1] ; LED5亮

    BL  Delay_1s

    STR R2,[R0] ; LED5灭

   

    MOV R2,#(1<<6)

    STR R2,[R1] ; LED6亮

    BL  Delay_1s

    STR R2,[R0] ; LED6灭

   

    MOV R2,#(1<<7)

    STR R2,[R1] ; LED7亮

    BL  Delay_1s

    STR R2,[R0] ; LED7灭

 

    B   Loop

   

; 软件延时函数,arm汇编较精确计算,延时1s

; 由于暂未设置时钟,系统时钟为外部晶体时钟12M

Delay_1s       

    LDR R12, =3000000 ; ARM CLOCK 12M

Delay1         

    SUBS R12, R12, #1 ; 指令执行需1个ARM CLOCK

    BNE Delay1 ; 跳转会清流水线,3个ARM CLOCK

    BX  LR    

; Delay1处循环一次需(1+3)=4个ARM CLOCK

; 共延时R12*(1+3)=12000000个ARM CLOCK,即1s

    END

4.4. 在工程属性中点选Create HEX File,编译后会生成hex文件,这个文件是加载进Proteus仿真或者通过ISP下载进LPC2000系列芯片的代码文件。

4.5. 点击编译后,会给出段未匹配到的警告,不用管,正确生成hex代码文件后,可通过MDK的Debug进行仿真查看代码的运行。

4.6. 通过Proteus搭建电路,加载进生成的hex文件,可以很直观的观察流水灯,Proteus设置12M的仿真时钟时,已无法实时仿真了,仿真的时间有一定的延长。

 

图4-1 Proteus仿真流水灯运行效果图

5. 入门数码管动态扫描c实现

同上进行MDK工程和Proteus电路的搭建,在文章的末尾给出了数码管动态扫描实现的MDK工程以及Proteus工程,读者自行学习验证。

5.1. 搭建MDK的LPC2103工程,由于我们需要用c来实现代码,在提示是否加入启动代码时,选择加入,并设置不要开启PLL(因Proteus仿真12M都已经无法实时仿真了)。

5.2. 加入数码管驱动模块文件DigitalTube.h和DigitalTube.c和数码管秒表计时源码main.c,并进行接口方面的修改,数据管动态扫描设计实现请参考笔者51单片机开发系列三/数码管动态扫描显示。

数码管驱动模块实现DigitalTube.c内容如下:

#include"LPC210x.h"

#include"DigitalTube.h"

 

// 数值相对应的段码,共阳极

static unsigned char const DigitalTubeTable[12]= { // 共阳LED段码表

0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff, 0xbf

//"0" "1"   "2"   "3"   "4"   "5"   "6"   "7"   "8"   "9" "不亮"  "-"

};

 

// 每个数码管需一个字节的内存保存对应数码管数据            

staticunsigned char FrameBuffer[DigitalTubeNumber];

 

unsigned char*DigitalTube_GetBuffer()

{

    return FrameBuffer;

}

 

// Proteus仿真,数码管扫描时需消隐,Proteus是无法等同实际硬件运行的

// 加入DigitalTube_EN为Proteus仿真的演示,若实际硬件运行

// 请删掉下面四行

// #define DigitalTubeEnable() {IOSET= (1<<11);}

// #defineDigitalTubeDisable() {IOCLR = (1<<11);}

// DigitalTubeDisable();

//DigitalTubeEnable();

// 实际硬件不需要,Proteus仿真用来消隐

#defineDigitalTubeEnable()     {IOSET =(1<<11);}

#defineDigitalTubeDisable()    {IOCLR =(1<<11);}

voidDigitalTube_Scan()

{

    static unsigned char Select = 0; // 记录扫描的选择线

    unsigned char Code;

    DigitalTubeDisable();   // 实际硬件不需要,Proteus仿真用来消隐

    // 从对应选择线中找到显存数据,并得到相应的段码

    Code =DigitalTubeTable[FrameBuffer[Select]];

    // 段码实际输出到数码管接口

    DigitalTube_Data(Code);

    // 位选实际输出到数码管接口

    DigitalTube_Select(Select);

    DigitalTubeEnable(); // 实际硬件不需要,Proteus仿真用来消隐

    Select++; // 进入到下一位选扫描

    if (Select >=DigitalTubeNumber) {

        Select= 0; // 所有数码管已扫描,从第一个数码管再次开始扫描

    }

}

 

void DigitalTube_Init()

{

    // 清除引脚配置寄存器[23:0],P0.0~P0.11作为GPIO口功能

    PINSEL0 &= ~0xffffff;

    // 置位IO口方向寄存器[11:0],P0.0~P0.11作为IO口输出

    IODIR |= 0xfff;

    IOSET = 0xfff; // P0.0~P0.11输出高电平

}

我们在数码管模块头文件DigitalTube.h中实现模块的接口访问宏实现,使之方便移植及修改接口配置。模块头文件同时也引出模块的接口函数,void DigitalTube_Scan(void)为数码管刷新函数,需周期性调用刷新数码管显示。unsigned char *DigitalTube_GetBuffer(void)用来获得数码管显存,从而更新数码管显存数据。其内容如下:

#ifndef__DigitalTube_H__

#define__DigitalTube_H__

 

#ifdef__cplusplus

extern"C" {

#endif

 

// 数码管模块中的个数,最大为8

#defineDigitalTubeNumber   4

 

// 输出数码管位选,位选为P0.8~P0.10

// 先读出P0的值再清0 P0.8~P0.10再写入相应位选

#defineDigitalTube_Select(Select) {IOPIN = (IOPIN&(~(7<<8))) +((Select)<<8);}

// 输出数码管段码,段码为P0.0~P0.7

// 先读出P0的值再清0 P0.0~P0.7再写入段码

#defineDigitalTube_Data(Dat)      {IOPIN = (IOPIN&(~0xff)) | (Dat);}

 

// 数码管初始化函数,引脚配置

void DigitalTube_Init(void);

// 数码管刷新函数,必须保证以一定周期调用刷新

void DigitalTube_Scan(void);

// 获得数码管显存,以作显示的数据更新

unsigned char*DigitalTube_GetBuffer(void);

 

#ifdef__cplusplus

}

#endif

 

#endif/*__DigitalTube_H__*/

 

外部模块通过引入数码管的模块头文件DigitalTube.h来实现调用数码管驱动函数,简单测试调用(秒表数码管显示计数)main.c实现如下:

#include"LPC210x.h"

#include"DigitalTube.h"

 

// 不开启PLL,cpu频率为晶体频率12M,外设时钟为cpu/4

#define  PCLK  (12000000 / 4)

 

// 以定时器时间为计时标准,记录时间间隔

staticvolatile unsigned int SystemTick = 0;

 

// 定时器2ms中断处理进行数码管刷新

// 此处用__irq告诉编译器函数用中断方式入出栈及返回

static voidTime0_ISR() __irq

{

    SystemTick++; // 记录时间间隔

    DigitalTube_Scan(); // 刷新数码管

    T0IR = 0x1; // 清除中断标志

    VICVectAddr = 0; // 通知中断控制器中断结束

}

 

voidTime0_Init()

{

    // 写1清除定时器0的对应中断标志

    T0IR=0xff;

    // 预分频计数值初始化为0

    T0PC=0;

    // 预分频值为0

    T0PR=0;

    // 定时器计数器初始化为0

    T0TC=0;

    // 设置匹配模式,复位并中断

    T0MCR=0x03;

    // 2ms中断一次

    T0MR0=(PCLK / 500);

    // 选择为IRQ中断

    VICIntSelect = 0x00;

    // 清除定时器0的中断使能

    VICIntEnClr =  (1 << 4);

    // 中断向量指向时钟中断处理函数

    VICVectAddr0 = (unsignedint)Time0_ISR;

    // 中断优先级向量0分配给定时器0,并开启该优先级中断

    VICVectCntl0 = (0x20 | 0x04);

    // 开启定时器0中断

    VICIntEnable= (1 << 4);       

}

 

int main()

{

    unsigned char *pBuffer;

    unsigned char i;

    // 定时器初始化

    Time0_Init();

    // 数码管引脚配置初始化

    DigitalTube_Init();

    // 获得数码管显存,以作更新数据显示

    pBuffer = DigitalTube_GetBuffer();

    // 数据管显存初始化显示0

    for (i=0; i<DigitalTubeNumber; i++) {

        pBuffer[i] = 0;

    }

    // 开启定时器进行计时以及数码管刷新

    T0TCR = 0x01;

 

    while(1) {

        // SystemTick读数到500时为1s间隔到

        if (SystemTick > 500) {

            SystemTick =0; // 重新计秒

            // 更新数码管秒表计数显存  

            for (i=0; i<DigitalTubeNumber;i++) {

                pBuffer[DigitalTubeNumber-1-i]++;

                if(pBuffer[DigitalTubeNumber-1-i] < 10) {

                    break; // 未到10,不用进位更新高位显存,退出

                } else {

                    // 到10,这一位清0,并继续循环更新高位显存

                    pBuffer[DigitalTubeNumber-1-i]= 0;

                }

            }              

        }              

    }

}

5.3. 在工程属性中点选Create HEX File,编译后会生成hex文件。

5.4. 正确生成hex代码文件后,可通过MDK的Debug进行仿真查看代码的运行。

5.5. 通过Proteus搭建电路,加载进生成的hex文件,可以很直观的观察秒表计数,Proteus只作软件仿真,搭建的电路完全不能用在实际的电路中,设置12M的仿真时钟时,已无法实时仿真了,仿真的时间有一定的延长,也不能代表实际的软件计秒延时情况。


图5-1 Proteus仿真ARM7数码管秒表计数

6. 附录

笔者简单地概述ARM处理器,介绍了其基本的编译、调试、环境搭建。以ARM7LPC2103为例,分别给出了两个简单的入门例程,一个用汇编代码实现流水灯,另一个用c语言实现数码管动态扫描显示秒表计数。让读者对汇编、c语言开发ARM有一个初步的认识,并希望笔者的这篇文章能确实帮助到一些想或者已经开始学习ARM的读者。

ARM教程PPT.rar,周立功ARM教程PPT,包括ARM7的体系结构,汇编指令讲解这些内容,是相当不错的教材。

http://pan.baidu.com/s/1jG0Z2ho

LPC2103_LEDs.rar,流水灯汇编MDK工程以及Proteus仿真电路

LPC2103_DigitalTube.rar,数码管动态扫描显示秒表计数MDK工程以及Proteus仿真电路

http://pan.baidu.com/s/1mg0Vy3m

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 用vim格式化代码

    从别的编辑器里粘贴到vim里的代码经常由于不正常的缩进变得格式混乱。 在vim的官方FAQ (http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl )找到的:格式化全文: gg=G 自动缩进当前行: ==这个是原文节选: 14.6.How do I format/indent an entire file? You can fo…...

    2024/4/24 23:47:18
  2. Linux磁盘分区及文件系统格式化和挂载

    文章目录硬盘接口类型硬盘和分区1.MBR分区2.GPT分区文件系统类型1.ext2/3/42.physical volume(LVM)3.softwareRAID4.swap5.vfat6.xfs分区管理类命令fdisk命令lsblk命令创建文件系统(格式化分区)ext系列文件系统的管理工具mke2fs命令e2label命令tune2fs命令dumpe2fs命令e2la…...

    2024/5/1 7:48:49
  3. Dockerfile中的RUN、CMD 和 ENTRYPOINT指令的两种格式(shell与exec)

    shell格式与exec格式 RUN:设置构件容器时就运行的命令以及提交运行结果,RUN经常用于安装软件包。dockerfile中可以写多条RUN指令 CMD:设置容器启动时执行的命令,在构件时并不运行,CMD能够被docker run后面跟的命令行参数替换。dockerfile中只能写一条CMD指令,如果写了多条…...

    2024/4/24 23:47:15
  4. dom实现xml格式化输出(换行)

    /*** 根据DOM生成XML文件*/public void buildXmlFile() {TransformerFactory tfactory = TransformerFactory.newInstance();try {Transformer transformer = tfactory.newTransformer();DOMSource source = new DOMSource(doc);File file = new File("c:\\test.xml"…...

    2024/4/24 23:47:14
  5. HTML与CSS教学-第十章 对表格与表单应用CSS样式

    第十章 对表格与表单应用CSS样式 本章要点 如何利用CSS样式构建美观的数据表格 CSS样式在表单中的应用 目录: 10.1 利用CSS样式构建美观的数据表格 10.2 CSS样式在表单中的应用 10.1 利用CSS样式构建美观的数据表格 1. 表格标记 (1) 有关标记 包括: <table>,&…...

    2024/5/1 7:31:12
  6. ARM架构与内核版本

    转载自:http://blog.csdn.net/alien75/article/details/5407556在学习ARM体系架构(英文名:ARM Architecture Reference Manua)的时候,我突然产生了一个想法:ARM从诞生到现在也有这么多年了,它的体系架构也是不断发展更新的,相对应的在产品开发中针对不对核心版本有哪些具体…...

    2024/4/24 23:47:13
  7. pyecharts全国地图和省级地图和水滴图

    from pyecharts.charts import Map from pyecharts import options as opts省级地图 value_1 = [155, 10, 66] attr_1 = ["成都市","绵阳市","泸州市"] value_2 = [200, 100, 166] attr_2 = ["宜宾市","凉山彝族自治州",&qu…...

    2024/4/24 23:47:18
  8. Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载

    Linux 虽然一直都有在玩,但是对硬盘操作确实不是很熟悉今天有空,就整理了下。1,创建分区先查看下是否有磁盘没有分区fdisk -l 其中第一个框和第二个框,是已经分好区的磁盘,第三个硬盘没有分区。开始分区fdisk /dev/sdc 输入m,可以查看有哪些操作输入p 查看当前硬盘分…...

    2024/4/24 23:47:18
  9. IDEA 格式化XML命令

    IDEA 格式化XML命令 使用快捷键格式化XML格式,有时候接口日志中会生产XML报文,我想快速的把这一堆XML报文在IDEA中新建的Scratch File文档中格式化,那么你可能需要用到这个快捷键: Ctrl+Alt+L, 或 使用直接double Shift 然后在Actions中查看 亦或在 Code => Reformat C…...

    2024/4/24 23:47:10
  10. Java Web 2.2 CSS样式表

    2.2 CSS样式表 定义——CSS:(cascading style sheets,层叠样式表),通常说的样式表。CSS是一种美化网页的技术,通过使用CSS可以方便、灵活地设置网页中不同元素的外观属性,使 网页在外观上达到一个更好的效果。CSS由三个基本部分组成:…...

    2024/5/1 6:06:55
  11. 如何搭建百度局域网离线地图服务器

    如何搭建百度局域网离线地图服务器一键离线地图发布(工具软件下载) 使用教程谷歌离线地图发布 教程手机离线地图发布——Oruxmaps制作发布高清卫星离线地图说明:1. 当前版本支持百度电子地图瓦片和百度卫星地图瓦片;2. 效果预览演示地址:http://www.bigemap.com/bmap 后台…...

    2024/4/14 20:59:44
  12. ZYNQ器件双核ARM处理器运行学习总结

    学习资料总结链接:ZYNQ基础系列(五) AMP模式 双裸核CPU同时运行MYIR-ZYNQ7000系列-zturn教程(20):在zynq双核上跑不同的工程...

    2024/4/14 20:59:43
  13. Dockerfile RUN,CMD,ENTRYPOINT命令三者区别

    Dockerfile中RUN,CMD和ENTRYPOINT都能够用于执行命令,下面是三者的主要用途:RUN命令执行命令并创建新的镜像层,通常用于安装软件包CMD命令设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换ENTRYPOINT配置容器启动时的执行命…...

    2024/5/1 6:40:03
  14. Linux基础——mke2fs磁盘格式化

    分区之后,并不能直接使用,需要格式化。 mkfs.==make filesystem#cat /etc/filesystems 【查看支持的文件系统】ext4 【常用,centos6默认】ext3 【Centos5常用】ext2nodev procnodev devptsiso9660 【光盘格式】vfathfs hfsplus #mkfs.[filesstems] [磁盘分区] #mkfs.ext4 /d…...

    2024/4/14 20:59:41
  15. CSS设置背景样式

    CSS文本样式CSS设置背景样式字体样式设置列表样式表格样式...

    2024/4/14 20:59:40
  16. XML格式化(缩进)输出的方法

    1. 网上找了好些都是孟子E章的XSLT方法,地址:http://blog.csdn.net/net_lover/archive/2004/07/27/53601.aspx 2. 本人也不相信没有其他方便的方法进行转换,下面这个方法倒是可以用用,比较简单。不过这个接口说不定在比较低版本的MSXML(Microsoft XML Core Services)库里面…...

    2024/4/14 20:59:39
  17. editPlus中如何格式化xml以及json

    editplus最新版已经更新到了5.0。以下版本使用的是v3.12版本。 下载插件 把下载的文件放入editplus安装目录 1. xml格式化 菜单-工具-配置用户工具2. json格式化...

    2024/4/19 11:00:32
  18. VIM-代码格式化快捷键

    VIM代码格式化快捷键gg #当前光标返回首行 ctrl+v #选中第一行 ctrl+g #跳到尾行,也即选中整个文件 = #格式化...

    2024/4/24 23:47:08
  19. 百度地图城市代码CityID

    基于不方便联网的硬件设备,可根据使用地域下载相应的离线地图包,下面是百度地图离线地图下载用到的国内城市ID。1,安徽 | 2,河南 | 6,广东 | 7,广西 | 8,山西 | 9,辽宁 | 10,陕西 | 11,山东 | 12,西藏 | 13,云南 | 15,湖南 | 16,甘肃 | 17,贵州 | 18,江西 | 19,内蒙古 | 20,…...

    2024/4/24 23:47:07
  20. css 默认样式初始化

    1.css reset:这个是我们在做项目时比较常用的一套css初始化样式,在这里就直接给出代码了html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, sam…...

    2024/4/24 23:47:06

最新文章

  1. 气象数据nc数据矢量化处理解析及可视化

    气象数据可视化是将气象学领域中复杂的数据集转化为图形或图像的过程&#xff0c;以直观展示天气现象、气候模式、趋势和预报结果。气象数据的可视化技术广泛应用于科学研究、气象预报、航空、航海、农业生产、灾害预警系统、城市规划、公众服务等领域。以下是一些关键的气象数…...

    2024/5/1 8:13:12
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 游戏引擎架构01__引擎架构图

    根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​...

    2024/4/29 7:27:40
  4. Go语言map、slice、channel底层实现(go面试)

    slice 切片是一个引用类型&#xff0c;其底层实现是一个结构体&#xff0c;包含以下字段&#xff1a; ptr&#xff1a;一个指向底层数组的指针&#xff0c;指针指向数组的第一个元素。 len&#xff1a;切片当前包含的元素数量。 cap&#xff1a;切片的容量&#xff0c;即底层…...

    2024/4/29 18:34:36
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57