加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

红水杯 发布

stlink扩展+ stm32f103C8T6核心板(四层)

 
设计简介
# 0. 项目原由 因为我那个板载stlink的NANO板近期要还给老师了。所以我就没有板子和stlink了,但是对于一个stmer来说,怎么能没stlink呢!?所以我决定买一个stlink。但是买的有的功能不全,有的很贵,而且有的还很大。同时还了之后我也没有板子,所以我决定自己制作一个板载stlink外围电路的最小系统小蓝板,这样刷stlink的固件就可以当stlink使用,不刷stlink的固件的时候,也可以当做最小系统版来使用。但是我自己做一个的话,别人要是想复刻我这个项目就得和我一样从头做一个,有点费事儿。**考虑到大家如果要是用stlink的话,大概率是会有那个能买到的最小系统小蓝板。所以我决定让大家利用起来自己的小蓝板,用我的stlink扩展(pin_to_pin兼容市面上的最小系统板)来做一个stlink调试器。** 先说在前头:本项目硬件不是很难,主要是c8t6的谜之容量和固件兼容性的问题有太多坑。 # 1.简介 ST-LinkV2-1: 支持STM32调试,带虚拟串口和虚拟U盘下载,本项目制作的就是用于STM32程序下载、仿真调试和串口功能为一体的ST-Link V2-1(扩展板)。 stlink扩展板+市面上卖的STM32F103C8T6核心板 就能构成完整的stlink V2-1调试器。 # 2.图片 stlink扩展板双层板3D图,如下。 ![image.png] 我的c8t6最小系统四层板3D图,如下。(第一次画,不合理的地方还请见谅) ![image.png] stlink扩展板双层板实物图,如下。 ![1664802604744.jpg] # 3.原理图参考 本项目原理图参考了正点原子的NANOF1开发板上的ST-link V2-1设计,如下图。 ![image.png] ## 3.1 ST-LINK V2.1电路 NANOF1开发板上的STlink v2.1 ,这里我用stm32f103c8t6最小系统板上的芯片,部分外围电路在stlink扩展板上。 ![image.png] ## 3.2 USB接口电路 NANOF1开发板上的 USB_ST_LINK 可以直接cv过来,本设计中扩展版使用的是**排母** ,接在stm32f103c8t6最小系统板上。 ![image.png] ## 3.3 下载电路 刷固件的接口在最小系统板上,stlinkV2.1接口在扩展板上。 ![image.png] ## 3.4 COM指示灯 此LED会显示ST-LINK状态: LED呈闪烁:正在目标和PC之间交换数据。 LED为常亮:PC与ST-LINK之间的通信已建立。 ![image.png] ## 3.5 LDO电源电路 参考这个芯片的手册。(NANOF1上用的1117,为什么我不用1117,因为我的最小系统板有点小,1117这大家伙太占地方) ![image.png] # 4 ST-Link V2.1固件烧录&固件更新 ## 4.1 固件获取 由于ST官方没有将ST-Link源码公开,也没有直接给出ST-Link固件(因为有读保护),但是网传有多个版本的固件。这里我只找了V2J28版本的固件(见附件),但是这个固件对于64k flash 的c8t6用不了(后面我有解决办法,而且已经成功),128k的c8t6和cbt6可以无脑冲V2J28版本(实测完全ok)或者更高版本。如何查看c8t6的flash大小,[见我的B站](https://www.bilibili.com/video/BV1RP411j7GT?share_source=copy_web&vd_source=584714a0cf29c22026ad8acbe10986af)。 我成功提取了V2J27版本(见附件),变砖的64k的c8t6使用这个版本就可以了(hex和bin两种格式都有,无论使用串口工具flymcu还是用Utility又或者STM32CubeProgrammer,都可以刷,终于摆脱flymcu的谜之下载逻辑了,哈哈) **注意:128k的c8t6或者cbt6刷了V2J27,一般直接就能用;64k的c8t6刷了V2J27,有小概率不能用,这时只需用ST-LinkUpgrade_V2.J27.M15重新升级一下,然后拔插USB,重启烧录软件就行了。(实测成功)** ## 4.2 烧录软件选择 这3个都可以,请随意选择方便的。 1. flymcu(见附件):主要功能是编程烧录,只能用串口,配合CH340的usb转TTL下载(51小伙伴表示熟悉的配方)。 ![image.png] 2. [Utility](https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html)(附件也有):STM32 ST-LINK Utility的主要功能也是编程下载,得用stlink下载,也就是说你得有一个能用的stlink,去隔壁小伙伴那借一下。 ![image.png] 3. [STM32CubeProgrammer](https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.html)(太大了,附件没有,要用的话直接去官网下):主要功能也是编程下载,支持Windows、 Linux、 macOS操作系统。同时,需要安装[JRE](https://www.java.com/zh-CN/download/)环境才能使用它。这个工具我只用过stlink下载,貌似这个工具还能用串口和USB。 ![image.png] **我采用的Utility和STM32CubeProgrammer,因为有时候得打开STM32CubeProgrammer才能识别自己做的stlink。** ## 4.3 固件更新 **注意:64k的c8t6,一定不要升级,很大可能会变砖,变砖的要重新刷我的V2J27。** 1. 用ST-LinkUpgrade_V2.J27.M15(见附件)升级,这个升级器只能升级到V2J27,非64k flash的不推荐使用。 2. 下载官方固件升级应用程序[STSW-LINK007](https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link007.html):ST-LINK,ST-LINK / V2,ST-LINK / V2-1和STLINK‑V3板的固件升级。 2. 使用STM32CubeProgrammer或者STM32 ST-LINK utility 自带的升级工具升级。 3. 使用Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。 固件烧录及更新过程视频见[我的B站](https://www.bilibili.com/video/BV1RP411j7GT?share_source=copy_web&vd_source=584714a0cf29c22026ad8acbe10986af)。 U盘拖拽下载视频和stlink串口收发视频 见附件。 # 5 验证 ![QQ截图20221005205431.png] ![image.png] 一般显示ST-Debug而且插上电脑会自动弹出UNDEFINED文件夹,就说明ok了。 # 6 测试 1. 测试烧录功能,用Keil-MDK,下载程序成功,说明烧录功能正常.(视频太大,在我的B站) 2. 测试Debug功能,用Keil-MDK进行Debug调试,可以调试,说明Debug功能正常.(视频在我的B站) 3. 测试U盘拖拽烧录功能,需要生成bin文件([bin文件生成方法](https://blog.csdn.net/Mr__Shen/article/details/105184963)),将bin文件拖到ST-link 模拟的U盘中,成功烧录,说明虚拟U盘功能正常。(视频见附件) 4. 测试串口收发功能:用杜邦线连接ST-LINK V2-1的TX和RX ,打开串口助手,发送数据,接收区收到相同的数据,说明串口收发正常(视频见附件);或者让其它开发板的usart口给虚拟串口发个数据来验证.(视频在我的B站) # 7 注意事项 1. ST-LINK 最近的几个版本加入了读保护,SWD口是锁上的,不能通过SWD口读写固件。 2. 如果想改成DAP-LINK 之类的固件,不能通过SWD口烧录固件,但是可以通过ISP的方式擦除STM32的固件信息,然后就可以使用SWD口正常读写。(本条参考攻城狮的) # 8 错误记录 错误记录文档在[我的CSDN](https://blog.csdn.net/Aaags/article/details/127196750) 视频在[我的B站](https://www.bilibili.com/video/BV1RP411j7GT?share_source=copy_web&vd_source=584714a0cf29c22026ad8acbe10986af) ----- *最后:有问题的小伙伴,可以在评论区留言,看到留言后会及时回复。如果我的这个项目对你有帮助,请在评论区上方点个赞,谢谢!* -----
参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-10 19:35:17

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved