跳至主要内容

用USB串口给STM32F103C8T6开发板烧写程序




主角是这个,蓝药片 Blue Pill
一直搞arduino,把很多东西都快给忘了。

STM32F103C8T6的这块蓝药片(blue pill)开发板,淘宝才10元。第一次接触stm32,不知道需要专门买st-link烧写器,后来才知道,就买了一个st-link v2,很便宜。
st-link是通过swim这个单线引脚来烧写和在线调试的,具体咋用还不知道,但手里USB-TTL的串口适配器一大堆,终于搞明白怎么给stm32烧写程序了,记录一下:
这块芯片,出厂都是带bootloader的,支持通过uart擦写flash,用芯片的UART1,TX和RX引脚如下:
对应到开发板上,USB-TTL适配器的TX接A10,RX接A9,GND与开发板的GND连好,一共3条线。开发板用USB口供电。
烧写flash用的是stm官方的软件STM32 Flash loader demonstrator (UM0462),在这里下载:https://www.st.com/zh/development-tools/flasher-stm32.html

安装好后,将开发板上的第一个跳线帽挪到1上,也就是构成(1,0)的boot设置,然后把usb串口适配器插到电脑上,开发板也用USB供好电后,打开刚才装好的flash loader软件,第一个界面com口选好,然后直接next,会出检测到芯片的界面,然后再next是一个表格页面,不用管继续next,此时可以选擦除还是烧写文件,选build好的hex文件就可以完成烧写了。最后这点写的有点简单,没有截图,但到这里应该就很容易理解和操作了。
总结:

  1. 准备好hex文件
  2. 准备好USB串口适配器
  3. 将USB串口适配器和开发板之间的3根线连好
  4. 2个设备都插USB
  5. 打开Flash Loader软件
  6. 选COM口,选文件,烧写
  7. 烧写成功后,别忘了把3根线断开,boot跳线帽恢复到(0,0)



评论

此博客中的热门博文

昨天星舰第一次测试,我又想玩KSP了

星舰再次推迟后,终于在昨天测试了,整个过程,让我想起了之前作为小小航天人的那几年,那些痴迷火箭的日子。是那段工作经历让我理解了什么是庞大工程,也让我接触了KSP,我永远也忘不了我在KSP里第一次登月成功时的那个旅程。。。好像真的一样。特别特别。。。真实! 最近几年没时间玩KSP了,但是今天突然又想捡起来了,不是为了别的,就是为了星辰大海而已~

STM32CubeIDE中生成HEX文件的方法

好吃的蓝药片 使用STM32CubeIDE时(不是CubeMX),默认在debug文件夹中不生成hex文件,但是用STM官方的STM32 Flash loader demonstrator需要有hex文件啊,不然烧写啥呢。所以需要添加1个post-build的参数,方法如下: 在stm32Cube里,左侧栏中project上右键选属性(properties) 然后在post-build steps的command处输入: && arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && 然后apply保存后,直接build,在debug文件夹中就会生成hex文件了。 注意,要是build报错,应该是复制上面命令行参数时双引号字符有问题,可以手敲一下,不用担心。 我是在这个帖子里找到答案的: http://www.openstm32.org/forumthread925

3.5mm音频接口母座学习

今天要做音频座选型,突然懵了,发现好像完全看不懂,而且我还有一个非常普通的需求,就是一个3.5mm音频座,插入音频线(也可以看做耳机线)之前用自带扬声器播放声音,插入后声音就转到了音频线(耳机)上,最后看到了一篇很好的文章,写的非常清楚,记录一下: understanding-audio-jack-switches-and-schematics 几张主要的图,一看就明白了: 公头插入母座后