STM32 HAL SWD下载与串口通信 |
您所在的位置:网站首页 › 单片机swd接口 › STM32 HAL SWD下载与串口通信 |
文章目录
一、SWD下载方式介绍二、SWD接线三、SWD下载问题四、串口通信总结
一、SWD下载方式介绍
SWD是ST公司推出的开源的四线下载方式,分别为3V3、SWD、SWCLK、GND,相比JTAG等可以用较少的线来实现下载和仿真。 二、SWD接线首先你需要购买一个DAPLINK,tb购买15块钱左右。只需要接到STM32F103C8T6最小系统板上面的同样的这四个排针即完成接线。 而对于类似正点原子的精英板等,则需要在JTAG的牛角排插口里面找到对应的这四个脚接线才能使用。 三、SWD下载问题写于2022.4 首先需要在HAL库里面配置sys的debug方式 然后,需要在keil进行配置 写于2022.3 然而还没有那么简单,对于正点原子的精英板,我直接下载完全没问题,但是我使用stm32f103c8t6国产板子不可以直接下载,我找了一下,发现以下说明: 以下是我电脑keil上显示的情况,确实是国产芯片,盖字印成原厂stm32,在这里也要提醒大家,买芯片要注意价钱,到货之后可以看一下印字,如果印字明显质量不好,类似于盗版书籍,大概率是国产货。 不过我没有按照上面的说明解决这个问题,我也不清楚我这个芯片是什么厂家制造的,卖家也一问三不知。然后我试了一下BootLoader下载,我原本只是根据CH340转TTL需要这么做试一下的,解决问题之后发现有人写过这样的方法了。 https://blog.csdn.net/hurryuptowang/article/details/116567589 这个下载方式需要以下步骤: Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader; Step2:最后在BootLoader的帮助下,通过串口下载程序到Flash中; Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动 ——引用上面链接 同时需要在这个地方设置为CMSIS-DAP Debugger 点击Seetings速度设置为1M,高速不一定可以下载。将"Reset and Run"打勾即可正常下载。 因为使用BootLoader下载、启动都非常的麻烦,当然只是这个国产芯片是这样,我用正点原子的精英板原厂的stm32f103zet6,不需要动boot,所以我在自己打的核心板上将这个排针和跳帽的组合,改成的使用开关,这样一定程度上会方便一点。不过我新的自己打的核心板使用的是自己买的原厂stm32芯片,估计也不需要那么麻烦了。 四、串口通信HAL库配置 接线 PA9是TX,需要接SWD的RX端,PA10是RX,需要接SWD的TX端。 程序上,我不喜欢用prinft重定义。 #include"stdio.h" uint8_t lcd[20]; sprintf((char*)lcd,"Ready!\r\n"); HAL_UART_Transmit(&huart1,lcd,20,50);以上仅发送,如果要接收的话,最好配置成中断模式。可以参考一下z小旋的blog https://blog.csdn.net/as480133937/article/details/105013368?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164872204216780274187981%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164872204216780274187981&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-3-105013368.nonecase&utm_term=%E4%B8%B2%E5%8F%A3&spm=1018.2226.3001.4450 总结本文仅仅简单介绍了国产stm32f103最小核心板的swd下载和串口通信。创作不易,希望大家可以点赞支持一下! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |