在 keil 建立基于STM32开发的工程模板--详细步骤

article/2025/8/26 2:07:45

手把手教你在keil建立STM32的工程模板

  • 1 先说几句
    • 1.1 什么是STM32?
    • 1.2 什么是cortex?
    • 1.3 什么是ARM?
    • 1.4 什么是意法半导体?
  • 2 硬件平台
    • 2.1 STM32103C8T6最小系统板
    • 2.2 电源供电
    • 2.3 时钟电路
    • 2.4 复位电路
    • 2.5 调试和下载电路
  • 3 建立工程模板
    • 3.0 开发模式有哪些?
    • 3.1 去下载固件库
    • 3.2 复制固件库文件
    • 3.2 step-by-step
      • (1)新建KEIL工程
      • (2)为工程添加分组(Group)
      • (3)为各组添加相关文件
            • 1)User组--自己写的程序
            • 2)Driver组--外设驱动程序
            • 3)CM3组--管理内核的驱动程序
            • 4)Startup组--启动程序
            • 5)Doc组
      • (4)对KEIL开发环境进行必要的设置
      • (5)简单配置工程模板中的相关文件

1 先说几句

1.1 什么是STM32?

  STM32是**意法半导体(STMicroelectronics)**较早推向市场的基于Cortex-M内核架构的微处理器系列产品,该系列产品具有成本低、功耗优、性能高、功能多等优势,并且以系列化方式推出,方便用户选型,在市场上获得了广泛好评。

  STM32目前常用的有STM32F103~107系列,简称“1系列”。最近 又推出了高端系列STM32F4xx系列,简称“4系列”。前者基于Cortex-M3内核架构,后者基于Cortex-M4内核架构。
  
  下面是STM32103芯片的实拍图:STM32103实拍图

1.2 什么是cortex?

  Cortex 是 ARM 的全新一代处理器内核,它在本质上是 ARM V7 架构的实现,它完全有别于ARM的其他内核,是全新开发的。按照3类 典型的嵌入式系统应用,即高性能、微控制器、实时类,它又分成 3 个 系 列 , 即 Cortex-A 、 Cortex-M 、 Cortex-R 。 而 STM32 就 属 于Cortex-M系列。

1.3 什么是ARM?

  1990年,苹果来到英国,和另外两家科技公司成立一家公司,名为Advanced RISC Machines的公司,简称就是ARM。

  点击这里查看详情:ARM公司简介-百科介绍

  ARM 公司本身并不生产和销售芯片,它以出售 ARM 内核的知识产 权为主要模式。全球顶尖的半导体公司,例如 Actel、TI、ST、
Fujitsu、NXP 等均通过购买 ARM 的内核,结合各自的技术优势进行 生产和销售

  ARM 的设计具有典型的精简指令系统(RISC)风格。ARM 的体系 架构已经经历了 6个版本,版本号分别是 V1~V6。每个版本各有特 色,定位也各有不同,彼此之间不能简单地相互替代。

  后来,设计了全新的架构:Cortex,也就是ARM V7

1.4 什么是意法半导体?

  意法半导体(英语:STMicroelectronics)是一家国际性的半导体生产商,总部位于瑞士日内瓦。
点击这里查看详情:意法半导体-百科介绍
在这里插入图片描述

2 硬件平台

2.1 STM32103C8T6最小系统板

  先看看这个实物图:
在这里插入图片描述
这个小板子就是最小系统,那么这个“最小系统”是怎么定义的呢?
  一个微控制器的最小系统是指能使微控制器正常工作所需要的最少元件,通常由微控制器芯片、电源电路、时钟电路、复位电路、调试和下载电路等部分组成,可以看下面的概念图。
在这里插入图片描述

这个小板子上的东西可以分成两部分:
  i: STM32103C8T6芯片
  ii: 其他元器件:电源电路、时钟电路、复位电路、调试和
          下载电路

i: 芯片名:STM32103C8T6的含义
在这里插入图片描述
具体详情,这里不再多说,感兴趣的同学,可以去参考野火的开发手册零死角玩转 STM32

ii: 其他元器件
  要说清楚这一部分,我们需要从系统的角度,分析一下最小系统板的组成原则。
  从常识上讲,要认识一件事物,必然是先外后内。先看颜值如何,再看修养如何。
在这里插入图片描述
这个芯片采用的是贴片式的封装,四边,每边各有12个引脚,共48个引脚。
引脚是怎么定义的呢?
在这里插入图片描述
具体各个引脚的功能,日后再看,这里提供功能定义表:STM32F103C8T6引脚定义表,可以自行下载,留作参考资料。

2.2 电源供电

  任何一个电子产品要正 常工作,电源必不可少。所以,首先要给芯片供电。

  STM32的工作电压 V D D V_{DD} VDD 2.0 ~ 3.6 V 2.0~3.6V 2.03.6V。通过内置电压调节器提供所需的 1.8 V 1.8V 1.8V电源。

  一般芯片不止一个供电引脚,STM32F103C8T6,这款芯片,有三个接地引脚 V S S V_{SS} VSS,和三个电源引脚 V D D V_{DD} VDD V D D V_{DD} VDD一般就供电 3.3 V 3.3V 3.3V,至于为什么在 ** 2.0 ~ 3.6 V 2.0~3.6V 2.03.6V**中选择 3.3 V 3.3V 3.3V,以后再说。
在这里插入图片描述
可见,在电源端并联了两个电容, C 10 C_{10} C10 C 11 C_{11} C11,这个电容的作用是“去耦”,原理分析见空间里的另一篇文章。

2.3 时钟电路

  我们知道,对千时序电路来说,除了电源外 ,还需要有稳定的时钟信号才能正常工作。作为数字系统,微控制器 是一种复杂的时序逻辑电路,需要专门的时钟源为其提供脉冲信号。
  STM32Fl03微控制器也不例外。 对于STM32Fl03 来说,尽管它内置了内部RC 振 荡 器 , 可 以为内部锁相环(Phase Locked Loop, PLL)提供时钟, 这样STM32Fl03依靠内部振荡器就可以在 72MHz的满速状态下运行。
  但是,内部RC振荡器相比外部晶振来说不够准确也不够稳定 ,因此在条件允许的情况下,尽最使用外部主时钟源。
  外部主时钟源主要作为Cortex-M3内核和 STM32外设的驱动时钟,一般称为高速外部时钟信号(HSE)。
  常用的时钟电路是这样的:
在这里插入图片描述
这里就是一个晶体串联两个电容,有时,还会并联一个电阻,如下:
在这里插入图片描述
至于原理分析,我们暂且搁置,将会单独写一篇文章进行说明。

2.4 复位电路

  就像一台完整的 PC 必须具备 Reset 系统一样,一个强壮的微控制器最小系统也需要具备复位电路。 当微控制器上电时,电压不是直接跳变到微控制器可工作的范围(如3. 3V) 而是一个逐步上升的过程。
  此时,微控制器无法正常工作,会引起芯片内程序的无序执行。 同样的情况也会发生在微控制器的供电电压波动不稳定时。
  因此,需要复位电路给它延时,使微控制器保待复位,暂不进入工作状态,防止 CPU 执行错误指令,确保CPU 及各部件处千确定的初始状态,直至电压稳定。

  微控制器复位电路的设计直接影响到整个系统工作的稳定性和可靠性。 许多用户在设计完基于微控制器的嵌入式系统并在实验室调试成功后,在现场却出现“ 死机”“程序跑飞”等现象,这主要是未添加复位电路或复位电路设计不可靠引起的。

  最简单的复位电路是手动复位电路。 按下外部复位键并延时很短 一段时间后释放,即可完成微控制器的一 次外部手动复位。

STM32Fl03C8T6的复位引脚是,第七个,NRST,当给它接通低电平时,芯片就知道,你想让它复位。
在这里插入图片描述
假设我们采用手动复位,即弄一个按键,按下时,NRST接通的是低电平,可以实现这个功能的是下面这个简单电路:
在这里插入图片描述
让我们眯上眼,感受一下,它是怎么工作的:当按下按键时, R E S E T RESET RESET接通地端,变为低电平,松开后,电容瞬间充满电,达到了断路的效果,瞬间, R E S E T RESET RESET的电平变成了3.3V。这就完成了复位功能。

2.5 调试和下载电路

  为了让微控制器按照程序员的设想真正跑起来,要事先将实现指定功能的程序烧写到微控制器片内ROM或RAM中进行反复调试。
  这就需要调试和下载电路。
  微控制器通过 调试和下载接口仿真器 相连,并借助仿真器与主机上嵌入式开发工具中的调试器通信,根据调试器的指令控制 程序的运行,同时向主机的调试器提供程序以及微控制器的相关信息(如程序中的变量、微控制器的寄存器和存储器信息等)供程序员 调试时使用,从而实现程序 从宿主机到微控制器 ROM或RAM的下载和调试。

3 建立工程模板

3.0 开发模式有哪些?

STM32单片机系统的开发模式通常有三种:
(1) 基于寄存器开发
(2) 基于固件库开发
(3) 基于嵌入式操作系统的开发

  基于操作系统的开发模式,对于初学者不是很合适,因为它对操 作系统、多任务等理论把握的要求较高。建议学习者在对嵌入式系统的开发达到一定的阶段后,再开始尝试这种开发模式。
  从学习的角度,可以从基于寄存器的开发模式入手,这样可以更
加清晰地了解和掌握STM32的架构、原理。从高效开发的角度,从学习容易上手的角度,建议使用基于固件 库函数的开发模式,毕竟这种模式把底层比较复杂的一些原理和概念 封装起来了,更容易理解。这种模式开发的程序更容易维护、移植,开发周期更短,程序出错的概率更小。
  当然,也可以采用基于寄存器和基于固件库混合的方式。
  我们这里采用的就是基于固件库开发。

3.1 去下载固件库

  STM32 的固件库是一个或一个以上的完整的软件包(称为固件 包),包括所有的标准外设的设备驱动程序,其本质是一个固件函数 包(库),它由程序、数据结构和各种宏组成,包括了微控制器所有 外设的性能特征。
  该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间 API(Application Programming Interface,应用编程接口)。
  通过使用固件函数库,无须深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。
  每个外设驱动都由一组函数组成,这组函数覆盖了该外设的所有功能。每个器件的开发都由一个通用API驱动,API对该驱动程序的结构、函数和参数名称都进行了标准化。
  ST 公司 2007 年 10 月发布了 V1.0 版本的固件库,2008 年 6 月发布了 V2.0 版的固件库。V3.0 以后的版本相对之前的版本改动较大,本教材使用目前最为通用的 V3.5 版本,该版本固件库支持所有的STM32F10X系列。
  同学们可以去ST的官网下载,查找教程很多,这里不再多说。这里可以直接下载:STM32F10x固件库
在这里插入图片描述
  文件解压后,有四个文件夹和一个后缀为chm的文件。
stm32f10x_stdperiph_lib_um.chm 为已经编译的帮助系统,也就是该固件库的使用手册和应用举例。
  Libraries文件夹下是驱动库的源代码与启动文件。
  Project文件 夹下是用驱动库写的例子和一个工程模板。
  _htmresc 文件夹是 ST 公 司的 LOGO 图标等文件,可以直接忽视它。
  Utilities 文件夹下存放 的是 ST 公司评估板的相关例程代码,可以作为学习资料使用,对程 序开发没有影响,也可以直接忽视它。

  因此,固件库中的核心是Libraries 、 Project 两 个 文 件 夹 及 其 内 容 , 以 及stm32f10x_stdperiph_lib_um.chm 这一已经编译的帮助系统,它主要讲的是如何使用固件库来编写自己的应用程序并举例说明。

  既然 ST 官方给我们提供了使用范例,因此其代码的规范性和正 确性是毋庸置疑的,学习者可以将范例作为快捷地掌握固件库使用方法的重要资料。学习者通过 ST 公司官方提供的范例学习STM32的原理、应用,是一种非常值得推荐的学习方法。

  打开Libraries后,呈现这样的画面:
在这里插入图片描述
  文件夹 CMSIS 包含的是 Cortex-M3 内核自带的外设驱动代码和 启动代码(通常是汇编语言编写的)。双击打开 CMSIS 后,是这样的:
在这里插入图片描述
  核心是CM3文件夹,其余可忽略。双击打开CM3后,是这样的:
在这里插入图片描述
  再双击打开CoreSupport 后,是下面这样的,这是 Cortex-M3 内核自带的外设的驱动程序,十分重要。
在这里插入图片描述
  双击打开DeviceSupport 后,是这样的:
在这里插入图片描述
  再打开ST,
在这里插入图片描述
  打开STM32F10x,
在这里插入图片描述
  除启动文件夹startup 外 , 另 有 3 个 源 程 序 文 件 :stm32f10x.h 、system_stm32f10x.c、system_stm32f10x.h,它们十分重要。
  启动文件夹startup 下又分别包含 arm 等四个对应不同开发环境的启动代码文件夹,如图 2.8所示,其中arm文件夹对应KEIL开发环境
在这里插入图片描述
  这些文件夹下的代码文件均由汇编语言开发,以 arm 文件夹下的 文件为例,其下包含如下图所示的文件,它们实际上是对应不同容量芯片的启动代码。
在这里插入图片描述
  启动代码是任何处理器在上电复位之后最先运行的一段汇编程序代码。启动代码的作用是:
(1) 初始化堆栈指针SP;
(2) 初始化程序计数器指针PC;
(3) 设置异常向量表的入口地址;
(4) 配置外部SRAM作为数据存储器(但一般的开发板没有外部
SRAM);
(5) 设置C程序的分支入口_main(最终用来调用main函数)。
  这些文件分别对应于不同存储器容量(Flash容量)和功能的不同 版本的STM32系列芯片,主要是 小(LD)、中(MD)、大(HD) 容量Flash等不同性能的STM32单片机。

  再回到,打开libraries时的画面:
在这里插入图片描述
  文件夹 STM32F10x_StdPeriph_Driver 包含的是芯片制造商在Cortex-M3 内核上外加的外设的驱动程序,包含 inc(include 的缩 写)与 src(source 的简写)这两个文件夹,如下所示。
在这里插入图片描述
  文件夹inc的内容如下,它包含的是每个驱动文件对应的头文件。当应用程序需要用到某个外设的驱动程序的时候,将它的头文件包含至应用程序即可。
在这里插入图片描述
  文件夹src的内容如下所示,它包含的是每个驱动文件对应的C源代码文件。
在这里插入图片描述
再回到固件库文件夹的初始画面:
在这里插入图片描述
  Project文件夹下的STM32F10x_StdPeriph_Template(工程模板)文件夹下有4个文件很重要,在接下来的工程模板中必须使用,这4个文件如下所示。
在这里插入图片描述

3.2 复制固件库文件

  我们新建一个文件夹,名字随便起,我这里是“7 工程模板示例”,在此文件夹下新建三个空文件夹和一个txt文件。
在这里插入图片描述
它们各自的作用如下:
   (1)Libraries 文件夹就是固件库里的同名文件夹。 这是 STM32单片机及其外设的驱动程序(包括启动代码),不能缺少。

   (2) Output 文件夹主要存储输出文件, 例如,最后编译和链接 生成的机器码文件(HEX 文件),也包括其他文件的中间文件。该文 件夹内容可手工定期清理。模板建立后,该文件下无任何文件。只有
编译和链接后,才会出现很多文件。

  (3) Project 文件夹主要存储开发者自己开发的相关程序文 件,例如,工程文件,main.c,stm32f10x_conf.h (外设头文件配置 文件),stm32f10x_it.c (中断函数文件),stm32f10x_it.h(中断 函数头文件)。当然,如果程序不涉及中断,不需要上述这两个中断 函数相关的文件。但是,作为通用模板,建议保留这两个文件。上述 文件中,除工程文件外,另4个文件可直接从固件库中拷贝得到,这4 个文件的内容均为固件库里的默认内容,根据应用程序的需要,必须要进行相应的修改和调整,尤其是main.c文件,必须重新设计。
  (4)readme.txt 用于说明本程序的使用要求、注意事项、使用方法等。

在这里插入图片描述
在这里插入图片描述

3.2 step-by-step

(1)新建KEIL工程

在这里插入图片描述
输入创建的文件名称,随便写即可。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2)为工程添加分组(Group)

在这里插入图片描述
在这里插入图片描述
  本例添加了 5 个分组,分别 为:User、Driver、CM3、Startup、Doc
在这里插入图片描述
其作用分别是:
  (1) User—用于管理自行开发的程序代码;
  (2) Driver—用于管理STM32外设的相关驱动程序代码;
  (3) CM3—用于管理CMSIS内核的驱动程序代码;
  (4) Startup—用于管理MDK开发环境下与具体芯片相对应
         的启动代码;
  (5) Doc—用于管理程序的说明文档,例如readme.txt等。

(3)为各组添加相关文件

1)User组–自己写的程序

  添加 Project 文件夹下的 main.c、stm32f10x_it.c,如要调整 系 统 时 钟 设 置 , 还 必 须 添 加Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f1
0x.c。
在这里插入图片描述
在这里插入图片描述

2)Driver组–外设驱动程序

  添加Libraries\STM32F10x_StdPeriph_Driver\src文件夹下的所
有C代码文件。具体文件如图2.22所示。

在这里插入图片描述

3)CM3组–管理内核的驱动程序

  添加Libraries\CMSIS\CM3\CoreSupport\core_cm3.c,如图2.23
所示。

在这里插入图片描述

4)Startup组–启动程序

作用: 管理MDK开发环境下与具体芯片相对应的启动代码。

  添 加
Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 文
件夹下的所有ASM代码文件。
在这里插入图片描述
在这里插入图片描述
  可以看到,该组包含了STM32F10x系列的所有8个启动 代码。

  但是,对某一个具体的项目而言,因为选用的 STM32 单片机是 固定的,所以只能使用其中一个启动代码,其余的都必须删除。只是 作为工程模板,为适应不同的型号,所以启动代码都添加进该组。

5)Doc组

  添加模板下的 readme.txt 等文本文件。该文件可对工程的具体环境和注意事项、使用操作等有关情况进行说明, 是一个文本文件。当然,学习者可以忽略该文件,但从开发的角度, 撰写该文档是一个很好的习惯,往往可以达到事半功倍的效果,它可以为后续的软件维护节省很多时间和精力。
在这里插入图片描述

(4)对KEIL开发环境进行必要的设置

  点击魔术棒:
在这里插入图片描述
Target页面下的外部时钟:这里为8.0MHz,可根据实际晶振加以调整。
在这里插入图片描述
Output页面下的设置主要有两个:创建HEX文件选项设置输出文件夹。必须勾选:Create HEX File,
在这里插入图片描述
在这里插入图片描述
然后设置Select Folder for Objects,选择Output文件夹为目标文件夹。
在这里插入图片描述
在这里插入图片描述

C/C++页面下主要设置的选项有两个:Define与Include Paths。
(1) Define:设置为编译过程中的预处理宏定义符号
  举例如下:
  USE_STDPERIPH_DRIVER,STM32F10X_HD。
  第一个宏定义符号表示 要使用固件库,在固件库开发模式下,该符号必须设置;后一个符号 表示选用的是高容量 STM32 芯片。如果是其他容量芯片,请自行调整,如中等容量的为STM32F10X_MD。
  一般说STM32单片机的命名都是STM32F103XYZW这样的方式,其中X表示引脚数,Y表示ROM容量,Z表示封装方式,W表示工作温度范围,比如RBT6表示为64引脚、128KB和LQFP封装,工业温度范围。
  针对ROM容量的字符,表示的容量是:

字符ROM容量
632KB
864KB
B128KB
C256KB
D384KB
E512KB
F768KB
G1024KB

  其中:我们用LD表示16-32K, MD表示64K-128K,HD表示256~512K。我用的芯片是STM32F103C8T6,宏定义符号就是STM32F10X_MD
在这里插入图片描述
  这里再多说一句,这两个宏定义符号都在头文件stm32f10x.h中。
  我们的程序,是写在main.c中,在该文件中,我们要在首行写上,#include "stm32f10x.h",其中#include是一个命令,名为文件包含命令,stm32f10x.h是一个头文件的名字,这句话的意思就是将头文件stm32f10x.h的内容插入到该命令所在的位置,从而把头文件stm32f10x.h和当前源文件main.c连接成一个源文件,这与复制粘贴的效果相同。
  头文件stm32f10x.h的作用解读,大家可以看这篇文章,点击这里

(2) Include Paths:设置为编译过程中文件包含要查找的路径 (Include Paths),单击该选项右侧的按钮,即可设置要包含的路 径。注意:必须把工程模板涉及的所有文件所在的文件夹作为路径设 置进来。
在这里插入图片描述
在这里插入图片描述
Debug 页面下主要设置所使用的仿真器的相关选项。
在这里插入图片描述
可以看到,仿真器有很多种。
STM32常用程序烧录方法
我这里用的是STLink,所以选择ST-Link Debugger,
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
勾选这一项之后,我们下载程序后会立马复位并执行程序。

(5)简单配置工程模板中的相关文件

1)main.c的处理
  删除main.c中的内容,只保留下图所示的部分。
在这里插入图片描述

  其中,RCC_Configuration()函数为系统时钟配置函数,直接调 用固件库函数SystemInit(),使用默认值。如需更改,则可以调整
system_stm32f10x.c中的相关语句。

2)stm32f10x_conf.h的处理
该文件是外设的头文件配置。默认是使用所有外设的头文件。在 实际应用中,根据程序的需要,使用相关的头文件。例如,要使用GPIO,则必须包含头文件stm32f10x_gpio.h。从该文件可以看出,头 文件命名非常有规律,所以非常容易使用。

在这里插入图片描述
好啦,配置完成啦。

话说,这个博文,写了两三天,也太慢了,太憨了,哈哈哈哈哈。


http://chatgpt.dhexx.cn/article/r0ooO6GX.shtml

相关文章

STM32开发方式及基本介绍

相关推荐STM32新建一个工程 STM32的开发有三种方式 1.寄存器版本 2.库函数版本 3.HAL库版本 一、库函数开发与寄存器开发的关系 很多人都是从学51单片机转而想进一步学习STM32,他们习惯了51单片机的寄存器开发方式,ST官方库摆在面前会不知道从何下手…

基于STM32开发板的循迹小车设计

STM32的简单应用之循迹小车 前言 智能寻迹基于自动引导机器人系统,可以实现小车自动识别路线。智能寻迹小车运用传感器、单片机、电机驱动及自动控制等技术实现,管理时自动寻迹导航。该技术已经应用于无人驾驶机动车、无人工厂、仓库、服务机器人等多种…

STM32应用开发实践教程:初识STM32

1.1.1 什么是 STM32 1.STM32 概述 STM32 微控制器是意法半导体(ST Microelectronics,ST)有限公司出品的一系列微控制 器(Micro Controller Unit,MCU)的统称。 意法半导体有限公司于 1987 年 6 月…

STM32开发指导

思考 如果我们要自己开发一个蓝牙温湿度计,硬件最小系统和外设都有什么?软件逻辑是什么? 需求分析 ● 采集类传感器使用火焰传感器、温湿度传感器、光照传感器中任意一种。 ● 黄色LED模拟智能灯,可以采集到灯状态并可远程控制;五向按键作为灯控开关(家居本地控制)。…

《嵌入式-STM32开发指南》第一部分 入门篇 -第1章 学嵌入式从STM32开始

1.1 STM32简介 ARM公司简介 ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务…

STM32的四种开发方式

STM32的四种开发方式 首先看下ST官方给出的四种开发方式的比较 寄存器开发 寄存器编程对于从51等等芯片过渡过来的小伙伴并不陌生,不管你是什么库,最终操作的还是寄存器,所以对于标准库、HAL库、LL库都是在寄存器上的编程,所以可…

使用STM32固件库开发GD32 汇总

文章目录 GD32与STM32异同1. 相同点2. 外围硬件区别3. 内部结构差别4. 功耗区别(以128k以下容量的作为参考)5. 内部FLASH 区别 使用STM32库开发时钟配置区别1. 晶振起振区别描述解决方法 2. 部分客户使用有源晶振出现问题,在 GD32F103 小容量产品,发现会…

STM32开发必备知识篇:STM32的运行机制

时间飞逝,转眼间已经硕士毕业工作第四年了,嵌入式研发成长道路上曲折坎坷,所以这也是我今年撰写博客的初心,即分享技术积累和研发经验,目前主要分为STM32和FPGA两个专辑,都包括开发必备知识篇和实战项目例程…

如何评判STM32各个MCU的性能?

很多人说STM32性能太弱,那你了解这个性能是如何得出来的吗? 1写在前面 我们经常听见某手机发布会,安兔兔跑分多少多少,其实这个跑分就是体现手机性能的一个指标。 我们使用STM32开发产品,选择MCU时,一般会综…

STM32各系列MCU性能对比及测试说明

置顶/星标公众号,不错过每一条消息! 很多人说STM32性能太弱,那你了解这个性能是如何得出来的吗? 1写在前面 我们经常听见某手机发布会,安兔兔跑分多少多少,其实这个跑分就是体现手机性能的一个指标。 我们使…

win xp虚拟机

做嵌入式,用的ADS版本太老了,在xp系统上更方便,所以昨天装了一个。 其实我是一个搬运工,主要参考了另一个人的步骤:点击打开链接 只是第一次让输序列号的时候跳过去了。 要镜像可以留邮箱,好像不能直接放在这里&…

VMware虚拟机装windows xp系统

一.准备安装所需要的软件: 1.VMware虚拟机的下载。 首先下载:VMware Workstation(虚拟机) V6.0.2 Build 59824 汉化版 2.XP的系统软件。 二.在VMware虚拟机为创建新的虚拟机 1.打开虚拟机,选择新建虚拟机: 2.下一步:…

Windows xp,Windows2003虚拟机部署(各2台)

文章目录 ISO镜像下载winxp部署a.安装winxp虚拟机b.优化虚拟机c.做快照 Windows 2003a.安装win2003b.优化c.快照 克隆虚拟机(以win2003为例) ISO镜像下载 ISO镜像下载链接 例:下载win10的操作系统 点击操作系统,选择要下载的镜像&#xff0…

VirtualBox 7.0.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件

VirtualBox 7.0.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件 Oracle VM VirtualBox 7 请访问原文链接:https://sysin.org/blog/virtualbox-7/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2022 年 10 月…

虚拟机VMware安装XP系统错误解决办法

虚拟机给我的编程工作确实带了很多方便,但是虚拟机的一个最大挑战是硬件赶不上,速度太慢了。最近一直在致力于虚拟机上Win7专业版平台上SQL Server 2005Visual Studio 2012系统开发,最初还可以,但是越到后面速度越慢。最后决定重新…

VM虚拟机安装Windows XP Professional

文章目录 安装XP下载img镜像安装激活安装VM-Tools 参考 安装XP 下载img镜像 在MSDN安装原版系统镜像-img文件,地址https://msdn.itellyou.cn/ 安装激活 新建虚拟机,选择img镜像文件,开启虚拟机,提交注册码安装即可。 安装VM-Tool…

Win10 虚拟机安装 Windows xp(professional sp3)简记(非教学)

实验系统需使用 VB6.0,任务较为复杂,win10下的vb6.0兼容问题较大。考虑win10 虚拟机安装winxp,部分重点记录如下:(资料源于网络) 虚拟机采用开源的 Oracle VM VirtualBox,(Vmware也可…

VirtualBox 免费高效开源虚拟机软件(在XP下装Linux在、Ubuntu下装Vista等)

说起虚拟机软件,相信大家都会知道VMWare和 微软的Virtual PC 了。今天异次元给大家介绍的是另外一款轻量级的虚拟机软件Virtual Box。它原本是由德国的Innotek公司开发的,后来被Sun收购了。不过呢,它从出生到现在被收购,还是一直保…

VirtualBox虚拟机安装Windows XP

Ubuntu:VirtualBox虚拟机安装Windows XP 2011-03-15 14:58:45 标签: ubuntu vbox Windows xp 虚拟机 文件共享 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://…

超级小的xp虚拟机

链接: https://pan.baidu.com/s/1bpxkUdh 密码: 9d5b 只有200cm,启动超快,运行流畅。系统来自www.sdeepin.org 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇…