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
上一篇:STM32F0单片机快速入门三: MCU启动过程
下一篇:STM32F0单片机快速入门一: ARM架构与STM32F0
推荐阅读最新更新时间:2024-11-13 11:11
推荐帖子
- MSBL格式的固件怎么烧录
- 我手头上的开发板是:MAX32630FTHR调试器是:DAP-LINK现在有一个MSBL格式的固件程序,想通过DAP-LINK烧录进去,有没有什么软件可以直接烧录进去的?MSBL格式的固件怎么烧录
- wufeijian MAX32630FTHR设计大赛
- 合泰BS83B04A-4有关PA0,PA2不能输出的问题。
- 大家好:有个问题想请教下大家,如题,合泰BS83B04A-4有关PA0,PA2不能输出的问题。就是PA0和PA2控制不了。已经把_papu=0xff(上拉打开),_pac=0b11100010;设置成输出。然后把_pa=0x00;这时,PA0,PA2不能输出0。一直都是输出高电平。不知道为什么,有用过的朋友可以指教下吗。合泰BS83B04A-4有关PA0,PA2不能输出的问题。PA0,PA2,是两个io吧。PA其他的io能否输出正常的高低电平呢。如果只有两个io不对,其
- liaoyuanhong 国产芯片交流
- 问个CE下SDK中的PLAYWND例子问题
- 我在VC里用的SDK中的例子DSPlay中的程序,播放视频文件一点问题也没有,清晰度和速度都很好,而且,RMVB,RM,AVI,MPEG格式都能支持,但我改用CE下的PLAYWND例子上开发板上播放就不行了,只支持一个MPEG格式的电影,AVI格式能识别但不能播放,RMVB等格式干脆连识别都不识别了.请问这是怎么回事呀.而且,用它播放全屏的时候特别卡,我想这可能是内存小的事,但有没有解码的事呢??这两个程序我分析了下,发现几乎一样,按理说不能差这么都呀,有大人们知道吗???是不是我CE里面没
- 999626 嵌入式系统
- 关于Wince 远程调试
- CE5.0自己定制的系统,将程序下载到板子上运行一切正常。F5远程调试的时候报错:无法找到PBworkplace\\GLX701\\...\\commdlg.dll可是我的PBworkplace下并没有GLX701这个文件夹。程序是别人写的,我只是搬过来做些改动。不知道是我定制系统的问题,还是EVC下程序的问题。如何解决呢?关于Wince远程调试EVC是个什么样的程序,是不是调用了系统中没有的DLL系统中有commdlg.dll这个dll,只是不在GLX701这个文件夹下。
- shinesnow WindowsCE
- RT9293B电源IC输出负电压情况
- 用RT9293B搞了个LCD的VGH/VGL电压电路,电路图如下TFT_VGH输出还算正常,有10.45V左右但是TFT_VGL只有-2.5V左右电容C1的上端只有-5V左右。看上去应该是只有正向输出的一半这是怎么回事呢RT9293B电源IC输出负电压情况@maychang@dontium@dragongtr@qwqwqw2088大侠们帮忙看看这个问题吧电容C1容量可能太小了。增加C1容量试试看。另外,TFT_VGL用R1和R10两支电阻分压,是怎么回事?要确
- jplzl10000 LED专区
- 【2024 DigiKey创意大赛】赛博竖笛完成
- 赛博竖笛作者:jd3096一、作品简介在创客领域已经有很多前辈尝试制作各类乐器,其中以各种电子琴居多,因为其实现简单受到各类创作者的青睐,这次大赛当我看到物料中有气压传感器的时候就产生了一个大胆的想法,尝试制作一个吹奏类的电子乐器。此次不再使用简单的蜂鸣器作为发声装置,而是使用有线MIDI和BLE蓝牙无线MIDI协议作为乐器使用,可以得到更好的音质和体验。本作品的使用了ESP32-S3-DEVKITC-1-N8R8开发板,和Omron2SMPP03气
- jd3096 DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- LTC1746CFW 演示板,14 位/25 Msps 低噪声 ADC,Ain < 40MHz
- MC3334高能点火电路典型应用电路
- 具有 0 至 4.095 V 输出摆幅的 OP295GSZ-REEL 5V、12 位 DAC 运算放大器的典型应用
- 口香糖电池1.2V充电器
- LT8331EMSE 36V 至 72V 输入、-24V 反相转换器的典型应用电路
- LTC2174CUKG-14、14 位、105Msps 低功耗四通道 ADC 的典型应用
- 使用 Analog Devices 的 ADP3301 的参考设计
- MAXREFDES1141:使用MAX17596的2.4W DC-DC反激转换器
- 【涂鸦智能】Mao宠物饮水器Tuya
- AS5600编码器
- 工信部发布一批“冠军”名单,澜起科技、宁德时代、江苏
- 华为Mate 20系列竞争 分析师下调iPhone XR约3000万部预估出货量
- 为人工智能而生,英特尔公布Cascade Lake-AP处理器详细性能数
- 贸易战恐造成苹果供应链的台湾厂商最大规模迁徙
- 中国面板设备需求旺盛,盟立借此纯利润年增207%!
- “乘势再上 华南领航”阿童木机器人深圳子公司盛大开业
- 机器人产业迎来最好时代,下一个超级独角兽将是谁?
- 英飞凌助力12个合作伙伴启动可信赖电子产品联合研究项目
- 光伏57GW+风电25GW+储能4.5GW!山东省能源发展“十四五” 规划印发!
- 实时掌握车辆位置,为提高汽车租赁商的业务效率作贡献