历史上的今天
返回首页

历史上的今天

今天是:2026年03月17日(星期二)

正在发生

2023年03月17日 | STM32F0单片机快速入门二 开发环境的建立

2023-03-17 来源:elecfans1.最小硬件系统 让 STM32F030 运行起来非常简单,在硬件上仅需给数字电源和模拟电源引脚(VDD,VDDA)供电,最好分别加上去耦电容。推荐值: VDD引脚加 1个4.7uF

1.最小硬件系统

让 STM32F030 运行起来非常简单,在硬件上仅需给数字电源和模拟电源引脚(VDD,VDDA)供电,最好分别加上去耦电容。推荐值: VDD引脚加 1个4.7uF并联几个0.1uF 电容,VDDA 引脚加 1个1uF并联 1个0.01uF电容。电容值大些小些,甚至不加,对调试都不会有太大影响。

需要注意的是 VDD 需要在2.4V和3.6V之间,VDDA需要大于等于VDD。当然我们最常见的用法是把VDD和VDDA都接到3.3V。

VDD和VDDA之间用磁珠隔离一下,有助于提高模拟部分电路(ADC, RC震荡器,PLL等)的稳定性。

如上图,是一个可以让单片机工作起来的最小硬件系统。Boot0 引脚需要下拉到地。注意电路中没有时钟,单片机使用的是内部自带的 RC时钟 HSI(High-speed internal (HSI) RC oscillator),频率是8MHz。这个时钟在出厂时会做校正,全温度范围内精度在5%左右。如果需要更高精度的时钟源,需要外加晶振,或直接把时钟输入至 OSC_IN引脚。

2.下载调试器

需要用带SWD调试接口的下载调试器,如 ST-LINK/V2,或 JLink。

下面是标准的 20引脚 JTAG/SWD 接口。我们只需要用到其中的 5个引脚:

1 VAPP, 接目标板上MCU的电源引脚 VDD。它的作用是让调试器知道目标板电压是多高。

7 SWDIO, SWD 双向数据线。

9 SWCLK, SWD 时钟线。

10 GND, 接目标板 GND。

15 NRST, 复位引脚,接MCU的复位引脚。此引脚可以不接。

注1:ST-LINK/V2的4,6,8,10,12,14,16,18,20 都是GND。其它调试器请参考所用调试器的文档。

注2:有的调试器可以从 19脚 对外供电。如果调试器没有供电能力,或目标板功耗较大,需要对目标板独立供电。

ST-Link安装后可以在设备管理器找到:

3.Keil安装,官方代码的下载调试

从ST官方网站下载 Keil,和例程 STM32CubeF0。安装过程从略。

解压并用 Keil打开下面这个工程:

STM32Cube_FW_F0_V1.11.0Projects

STM32F030R8-NucleoExamplesGPIOGPIO_IOToggleMDK-ARMProject.uvprojx

我们可能需要通过 工程目标选项(Options for Target),把调试器更改为实际使用的调试器:

之后 编译代码,下载代码。在左下角可以看到进度条:

下载成功后,点击 调试代码 按钮,进入下面这个界面。可以看到寄存器窗口(Registers),调用栈窗口(Call Stack + Locals)。

左上角有 复位,全速运行,停止,步入,单步,步出,运行到某行 等调试工具按钮。我们可以通过 View 这个菜单添加更多的窗口,比如 Watch Window, Memory Window, Disassembly Window 等。

我们点击 全速运行(Run)按钮,如果用的是 NUCLEO-F030R8 开发板,可以观察到板子上一个 LED灯(连至MCU的 PA5引脚)不停地闪烁。

在这里我们可以看到下载代码后程序默认停在 main( ) 这个主程序入口。但是如果我们试着点一下复位按钮(RST),会发现程序停在了一段汇编代码里:

那么究竟 MCU 从一上电到开始控制 LED 灯闪烁,都经历了些什么呢?我们会在接下来的文章里进一步探讨。

参考资料:

ST AN4325, Getting started with STM32F030xx and STM32F070xx series

ST-LINK V2 in-circuit debugger programmer for STM8 and STM32 User Manual


推荐阅读

史海拾趣

Bharat Electronics Ltd公司的发展小趣事

作为电子行业的领军企业,BEL始终注重技术创新和研发。公司不断投入大量资源用于新产品的研发和创新,努力引领行业趋势。近年来,BEL在无人机、太阳能电池组等领域取得了显著成果,推出了一系列具有创新性和市场竞争力的产品,为公司的持续发展注入了新的活力。

GE Industrial Solutions公司的发展小趣事
由于光耦的CTR随温度变化而变化,可能导致输出信号的非线性失真。解决方法包括选择温度稳定性好的光耦,或在电路中加入温度补偿电路。
Ferroperm公司的发展小趣事

Ferroperm公司非常重视产品的品质管理。他们建立了严格的质量管理体系,从原材料采购到产品生产、检测等各个环节都实行严格的质量控制。同时,Ferroperm还注重持续改进,不断引进先进的生产设备和检测技术,提高产品的质量和性能。这种对品质的执着追求使得Ferroperm的产品在市场上获得了良好的口碑和信誉。

Aplus Integrated Circuits公司的发展小趣事

近年来,电子行业经历了多次技术变革和市场调整。面对这些挑战,Aplus Integrated Circuits公司积极调整战略,加大研发投入,推动产品创新。公司成功开发出多款适应市场需求的新型集成电路产品,不仅满足了客户的多样化需求,还为公司带来了可观的收益。

Digi International公司的发展小趣事

Digi International成立于1985年,最初是一家位于明尼苏达州的公司。随着业务的不断发展,公司于1989年进行了首次公开募股,并随后重组为特拉华州的公司。Digi International在纳斯达克全球精选市场上交易,股票代码为DGII。这一转型不仅为公司带来了更多的资金支持,也为其后续的发展奠定了坚实的基础。

Ememory Technology Inc公司的发展小趣事

eMemory自1989年成立以来,始终致力于半导体硅智财(IP)的研发与创新。公司凭借其独特的可编程非挥发性内存(NVM)技术,如NeoFuse和NeoPUF,迅速在半导体IP领域崭露头角。eMemory不仅将这些技术应用于自家的芯片产品中,还通过IP授权的方式,与全球众多芯片设计厂商建立了紧密的合作关系,推动了整个电子行业的发展。

问答坊 | AI 解惑

放大电路中引入负反馈的一些原则

引入负反馈后对放大电路的性能有多方面的影响,其影响程度均与反馈深度 有关。通常引入反馈深度越大,对于电路性能的改善越好,如增益稳定性的提高,通频带的展宽,非线性失真的减小,输入电阻的增加和输出电阻的减小。但是,反馈深度越大,对电路 ...…

查看全部问答>

单片机复位电路分析

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。 时钟电路: 8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。 在引脚XTAL1和XTA ...…

查看全部问答>

串行通信怎么判断一帧数据发送完毕?设置一个时间间隔?过了这个时间间隔还没有数据来就可以判断一帧数据发送完成?

串行通信怎么判断一帧数据发送完毕?设置一个时间间隔?过了这个时间间隔还没有数据来就可以判断一帧数据发送完成?…

查看全部问答>

又没有人知道单独的nandflash控制器芯片的?麻烦告诉我下

    现在玩cotex,美中不足的是他没有nandflash控制芯片,想额外扩展一个nandflash控制芯片,不知道有没有这种东西,希望有知道的给我报下啊..谢谢…

查看全部问答>

YUV2的图像格式是彩色的还是灰色的?

YUV2的图像格式是彩色的还是灰色的?…

查看全部问答>

新手提问,如何尽快上手开发Wince应用程序啊

原先在windows下做过开发,现在专项Wince5.0,已经安装好了,但是如何开发呀,请高手指点一下,谢谢。…

查看全部问答>

求EVC中动态显示JPG图片的方法?

有一个方法是在OnPaint()中显示, 这种方法无法动态显示,也就是说我不能够随意地改变图片,我想要弄个按钮,按下就换个图片这样,不知道应该如何实现?…

查看全部问答>

请问在EVC中怎样把 EDIT 控件中的CString 的内容变成double 型的数

请问在EVC中怎样把 EDIT 控件中的CString 的内容变成double 型的数,应该用哪个函数,小女子才开始学EVC,麻烦各位了哟…

查看全部问答>

又是关于万利板串口通讯问题。请香版主帮忙看看。

我用万利板测试STM32官方USART的例子。用Hyperterminal_Interrupt的例程。已经能正确发送接收。但当我把收发的数据格式改成常用的 8,N,1。   USART_InitStructure.USART_WordLength = USART_WordLength_9b; &nbs ...…

查看全部问答>

Nios Ⅱ移植uCOS-Ⅱ的资料或资料链接地址

Nios Ⅱ移植uCOS-Ⅱ的资料或资料链接地址,谢谢各位大神先…

查看全部问答>