查看: 15691
回复: 34
想法:STM32F042F6P6 CMSIS-DAP+串口开源模块
maxtch
18
主题
141
回复
发表于2017-10-26 23:11:59 | 只看该作者
1# 电梯直达

不知各位对于一个基于 STM32F042F6P6 的 CMSIS-DAP 仿真器 + USB 串口二合一模块是不是有兴趣。

我最近打算改版自己设计的 TQFP48 STM32 开发板,计划把原来用的 USB 转串口芯片(CH340C)换成这个二合一模块,板载仿真器方便使用。我意识到这样的一个模块如果单独拿出来可能也会有点市场,因此来社区问问。

这个模块支持 JTAG(六线)或 SWD(两线)调试口,支持一个串口,但不支持 SWO 代码追踪。独立版 JTAG 接口脚位与 J-Link 兼容;串口可单独接线,或借用 JTAG 插座 18、20 脚。(原设计上为两个接地线。)独立版采用淘宝上有售的迷你 U-Link 2 外壳。

我计划让这个硬件完全开源,且使用开源工具开发(Eclipse + GCC)

EDA老贺
7
主题
1498
回复
发表于2017-10-27 00:03:26   |  只看该作者
2#

https://lceda.cn/editor  

立创商城提供元器件支持

嘉立创提供SMT支持


maxtch
18
主题
141
回复
发表于2017-10-27 00:41:38   |  只看该作者
3#
EDA老贺 发表于2017-10-27 00:03:26  2# https://lceda.cn/editor立创商城提供元器件支持嘉立创提供SMT支持
LCEDA 我还是先缓缓吧,网络不稳定或频繁切换的话很不好用。
EDA老贺
7
主题
1498
回复
发表于2017-10-27 00:52:03   |  只看该作者
4#
maxtch 发表于2017-10-27 00:41:38  3# LCEDA我还是先缓缓吧,网络不稳定或频繁切换的话很不好用。

网络不稳定我能理解, 但是 频繁切换是指什么呢? 在什么地方切换呢?


ChessWorld
36
主题
819
回复
发表于2017-10-27 09:26:16   |  只看该作者
5#

不错! 支持一个。

如果楼主的PCBA能配个外壳最好,这样跟成品无异了,使用体验最好。


比如这个外壳:

    

Echo
35
主题
536
回复
发表于2017-10-27 10:07:12   |  只看该作者
6#
我调试只需要一个5块钱的USBTTL
ECHO Studio http://www.uimeter.com
maxtch
18
主题
141
回复
发表于2017-10-27 23:48:30   |  只看该作者
7#
Echo 发表于2017-10-27 10:07:12  6# 我调试只需要一个5块钱的USBTTL

ARM 芯片本来就要用 SWD 或 JTAG 烧写程序的。加串口会额外增加管脚占用,不太划算。譬如说 STM32F042F6P6 这个芯片做 USB,USB+SWD+电源+晶振+BOOT0 已经用掉了 20 个管脚中的 10 个,如果再加上串口的话那就只剩 8 个 I/O 可用了。而且 JTAG/SWD 调试可以直接看寄存器和内存数据,直接对着手册就能分析问题了,甚至可以手动戳寄存器或内存数据试错。代码断点和检查点也可以用来追踪代码流程。

Echo
35
主题
536
回复
发表于2017-10-27 23:51:43   |  只看该作者
8#
maxtch 发表于2017-10-27 23:48:30  7# ARM芯片本来就要用SWD或JTAG烧写程序的。加串口会额外增加管脚占用,不太划算。譬如说STM32F042F6P6这个...
我的SWD或者JTAG都是当普通IO用的哦。我用串口一样可以看寄存器和内存数据的,固件自带这功能。
ECHO Studio http://www.uimeter.com
maxtch
18
主题
141
回复
发表于2017-10-28 00:04:16   |  只看该作者
9#
ChessWorld 发表于2017-10-27 09:26:16  5# 不错!支持一个。如果楼主的PCBA能配个外壳最好,这样跟成品无异了,使用体验最好。比如这个外壳:

这种外壳:

 

内部预留一个 4 线串口的排针。

maxtch
18
主题
141
回复
发表于2017-10-28 00:06:32   |  只看该作者
10#
Echo 发表于2017-10-27 23:51:43  8# 我的SWD或者JTAG都是当普通IO用的哦。我用串口一样可以看寄存器和内存数据的,固件自带这功能。

你用的是哪家的芯片……而且我说的是程序运行过程中在代码里面插入断点或者直接捅寄存器。您的固件是如何做到的呢?

ChessWorld
36
主题
819
回复
发表于2017-10-28 09:34:38   |  只看该作者
11#
maxtch 发表于2017-10-28 00:04:16  9# 这种外壳:内部预留一个4线串口的排针。
嗯,你那种外壳也不错,有外壳就好~
Echo
35
主题
536
回复
发表于2017-10-28 20:31:01   |  只看该作者
12#
maxtch 发表于2017-10-28 00:06:32  10# 你用的是哪家的芯片……而且我说的是程序运行过程中在代码里面插入断点或者直接捅寄存器。您的固件是如何做到的呢?

STM32,GD32,C51,C2000,都是这么用。打断点这种原始的调试方式我早就不用了。调试功能是固件本身的重要功能。如果你接触过企业级路由器的命令行界面,就知道我在说什么。

ECHO Studio http://www.uimeter.com
maxtch
18
主题
141
回复
发表于2017-10-28 21:33:55   |  只看该作者
13#
Echo 发表于2017-10-28 20:31:01  12# STM32,GD32,C51,C2000,都是这么用。打断点这种原始的调试方式我早就不用了。调试功能是固件本身的重要功能...

可以举个例子吗?您用的是什么样的开发工具?固件一般多大?用了 RTOS 么?企业级路由器一般都用 RTOS 的。

断点还有很多高级玩法。听说过用断点当 printf 的么?固件本身没有串口驱动或 printf 库函数也能用呢。

嵌入式系统上我喜欢玩极限编程:用最少量的硬件和代码完成设计目标。很多非核心功能我宁愿去掉,如果这样可以让我换小一号的封装的话。何况还有那种没有串口,或者串口会被占用的单片机。

maxtch
18
主题
141
回复
发表于2017-11-01 16:17:53   |  只看该作者
14#
项目变更:独立版单片机升级 STM32F103TBU6(以前买的本来打算别的地方用,后来就忘了。)恢复 SWO、RTCK
香喷喷的猪
0
主题
12
回复
发表于2017-11-01 16:59:17   |  只看该作者
15#
其实我比较推荐盲调,只要串口打印就可以。这种调试方式,是运行中调试,看调试信息,更贴近实际应用。如果用断点,与时序相关的就看不到了。
maxtch
18
主题
141
回复
发表于2017-11-01 18:08:24   |  只看该作者
16#
香喷喷的猪 发表于2017-11-01 16:59:17  15# 其实我比较推荐盲调,只要串口打印就可以。这种调试方式,是运行中调试,看调试信息,更贴近实际应用。如果用断点,与时序相关的...

时序相关可以用观察点(类似于断点,但只占用几个指令周期从 SWD 口拉出内存或寄存器中的数据,而不真的中断程序)或代码追踪。串口打印由于每次调用打印函数,时序问题可能更大;而且依赖系统有串口驱动,占用代码空间。不过这两种调试方式都需要调试工具支持,譬如说我一直用的 GDB。

maxtch
18
主题
141
回复
发表于2017-11-03 01:41:43   |  只看该作者
17#

板子已经下单了。设计工具用的是 KiCad。调试通过后开源,3BSD 授权协议。

STM32F042K6T6 主控,管脚全用完了。支持 USB CMSIS-DAP + 串口,带 16MB SPI Flash,可用于自带驱动或生产编程。有离线编程按钮,可用于生产编程。板面大量空间被用作输入输出保护,比淘宝上的廉价货耐艹一些。可以向目标板供电,供电电压 3.3V。

调试接口:

目标板电源 1 2 目标板电源
nTRST 3 4
TDI 5 6
TMS/SWDIO 7 8
TCK/SWCLK 9 10
RTCK 11 12
TDO/SWO 13 14
目标板复位 15 16 离线编程按钮
悬空 17 18

串口 RxD

悬空 19 20

串口 TxD


maxtch
18
主题
141
回复
发表于2017-11-03 04:27:27   |  只看该作者
18#

STM32F042F6 的版本也提交了,不过不是独立的调试器盒子,而是作为嵌入式开发板的一部分。如果现在这个板子成功了,后面的开发板就都默认带这个内置仿真器了。

@o技小新o 你要的话,回头把参考电路和固件给你哈

maxtch
18
主题
141
回复
发表于2017-11-07 20:12:48   |  只看该作者
19#

STM32F042
蚯蚓上高速
0
主题
11
回复
发表于2017-11-11 17:20:52   |  只看该作者
20#
很好    做成模块~
Weight
0
主题
9
回复
发表于2017-11-11 20:08:22   |  只看该作者
21#
路过而已,试下发贴
蓝蓝的恋
1
主题
19
回复
发表于2017-12-01 14:19:46   |  只看该作者
22#
楼主测的怎么样了?
maxtch
18
主题
141
回复
发表于2017-12-01 17:32:33   |  只看该作者
23#
蓝蓝的恋 发表于2017-12-01 14:19:46  22# 楼主测的怎么样了?
开发进行中。你愿意合作吗?
蓝蓝的恋
1
主题
19
回复
发表于2017-12-01 23:09:51   |  只看该作者
24#
maxtch 发表于2017-12-01 17:32:33  23# 开发进行中。你愿意合作吗?
很乐意合作,怕是我水平不够啊,前段时间研究了下,一直读不出芯片id
maxtch
18
主题
141
回复
发表于2017-12-01 23:17:13   |  只看该作者
25#
蓝蓝的恋 发表于2017-12-01 23:09:51  24# 很乐意合作,怕是我水平不够啊,前段时间研究了下,一直读不出芯片id

我的水平也不能算高啊……半路出家搞的电子工程,原本是学计算机的不怎么碰硬件啊……(我老本行学的是 iOS 开发,完全有自己开游戏或软件工作室的技术能力,但市场太饱和就换专业方向了。)

如果你想要,我可以卖给你一块组装好的 DAP42-v1r2 或 M193v4r2 电路板。前者是独立版,STM32F0426T6 主控 + W25Q128FVSIG 外置程序存储。后者是集成版,调试器部分是一颗 STM32F042F6P6,主体部分是一颗 STM32F103CBT6 或 STM32F303CCT6。

蓝蓝的恋
1
主题
19
回复
发表于2017-12-02 08:12:17   |  只看该作者
26#
maxtch 发表于2017-12-01 23:17:13  25# 我的水平也不能算高啊……半路出家搞的电子工程,原本是学计算机的不怎么碰硬件啊……(我老本行学的是iOS开发,完全有自己开...
卖给我一个 DAP42-v1r2独立板吧,多少¥?
maxtch
18
主题
141
回复
发表于2017-12-02 17:23:20   |  只看该作者
27#
蓝蓝的恋 发表于2017-12-02 08:12:17  26# 卖给我一个DAP42-v1r2独立板吧,多少¥?

50,不包邮。你有 Github 账号的话收到货我给你 Github 写访问权限。

ownones
0
主题
4
回复
发表于2017-12-02 20:56:57   |  只看该作者
28#
我用STM32F103 做过DAPlink,感觉还不错。。。 但是感觉没jlink好用。
蓝蓝的恋
1
主题
19
回复
发表于2017-12-02 22:21:17   |  只看该作者
29#
maxtch 发表于2017-12-02 17:23:20  27# 50,不包邮。你有Github账号的话收到货我给你Github写访问权限。
看起来不错,走淘宝吗?
maxtch
18
主题
141
回复
发表于2017-12-02 22:38:59   |  只看该作者
30#
ownones 发表于2017-12-02 20:56:57  28# 我用STM32F103做过DAPlink,感觉还不错。。。但是感觉没jlink好用。

开发用什么工具很关键。DAP-Link 或 CMSIS-DAP 设计上是搭配开源工具 OpenOCD 和 GDB 用的。我自己的开发流程用的是开源工具链,所以相比之下更合适用 CMSIS-DAP。

maxtch
18
主题
141
回复
发表于2017-12-02 22:40:26   |  只看该作者
31#
蓝蓝的恋 发表于2017-12-02 22:21:17  29# 看起来不错,走淘宝吗?
这个东西我还没有挂淘宝呢(没有固件不算成品)怎么说?闲鱼?线下交易?你是哪里的?我在上海。
蓝蓝的恋
1
主题
19
回复
发表于2017-12-02 23:07:18   |  只看该作者
33#
maxtch 发表于2017-12-02 22:40:26  31# 这个东西我还没有挂淘宝呢(没有固件不算成品)怎么说?闲鱼?线下交易?你是哪里的?我在上海。
咸鱼挺好,链接呢
maxtch
18
主题
141
回复
发表于2017-12-03 03:00:40   |  只看该作者
34#
蓝蓝的恋 发表于2017-12-02 23:07:18  33# 咸鱼挺好,链接呢
https://2.taobao.com/item.htm?id=562172172608&spm=a1z38n.10677092.0.0.502ff8c7pBgRW
WMD菌
0
主题
1
回复
发表于2018-06-29 23:40:37   |  只看该作者
35#
感觉还不错 现在的进度如何了?

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部