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.0projectsstm32f030r8-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 灯闪烁,都经历了些什么呢?我们会在接下来的文章里进一步探讨。
等待小米6不如等待一加4,骁龙832+6G+5.5寸无边框 超强旗舰即将上市
哪种情况需要使用滤波电力电容器
如何为汽车和工业电源转换器实施稳健的小型 EMI 控制解决方案
中移动TD—LTE建网加速
电子车牌对ETC有什么影响吗?
STM32F030单片机的开发环境怎样去搭建呢
夏普、松下、富士通、NEC将统一手机软件
两线无源模拟信号电流环路10KV高隔离安全栅
Labview如何快速保存数据到Excel
使用NVIDIA Omniverse开展数字孪生教学
供应盐水喷雾试验机、盐雾试验箱、盐雾箱
网印制作标签天线的优点解析
DIY PLC报警控制程序实例解析
如何利用 FPGA SoC 实现安全和互联的硬实时系统
镍底板为镀金连接器提供的好处有哪些?
氢能源汽车何时才能面向市场
高温超导机理问题及解决方法
艾迈斯半导体今天宣布推出AS7220智能照明管理器
薄膜电容怎么来的?
瑞萨e2studio----USRT通过定时器中断方式接收不定长数据