查看:
15764
回复: 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) |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-10-27 00:41:38
|
显示全部楼层
3#
LCEDA 我还是先缓缓吧,网络不稳定或频繁切换的话很不好用。
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-10-27 23:48:30
|
显示全部楼层
7#
ARM 芯片本来就要用 SWD 或 JTAG 烧写程序的。加串口会额外增加管脚占用,不太划算。譬如说 STM32F042F6P6 这个芯片做 USB,USB+SWD+电源+晶振+BOOT0 已经用掉了 20 个管脚中的 10 个,如果再加上串口的话那就只剩 8 个 I/O 可用了。而且 JTAG/SWD 调试可以直接看寄存器和内存数据,直接对着手册就能分析问题了,甚至可以手动戳寄存器或内存数据试错。代码断点和检查点也可以用来追踪代码流程。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-10-28 00:04:16
|
显示全部楼层
9#
这种外壳:
内部预留一个 4 线串口的排针。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-10-28 00:06:32
|
显示全部楼层
10#
你用的是哪家的芯片……而且我说的是程序运行过程中在代码里面插入断点或者直接捅寄存器。您的固件是如何做到的呢? |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-10-28 21:33:55
|
显示全部楼层
13#
可以举个例子吗?您用的是什么样的开发工具?固件一般多大?用了 RTOS 么?企业级路由器一般都用 RTOS 的。 断点还有很多高级玩法。听说过用断点当 printf 的么?固件本身没有串口驱动或 printf 库函数也能用呢。 嵌入式系统上我喜欢玩极限编程:用最少量的硬件和代码完成设计目标。很多非核心功能我宁愿去掉,如果这样可以让我换小一号的封装的话。何况还有那种没有串口,或者串口会被占用的单片机。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-11-01 16:17:53
|
显示全部楼层
14#
项目变更:独立版单片机升级 STM32F103TBU6(以前买的本来打算别的地方用,后来就忘了。)恢复 SWO、RTCK
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-11-01 18:08:24
|
显示全部楼层
16#
时序相关可以用观察点(类似于断点,但只占用几个指令周期从 SWD 口拉出内存或寄存器中的数据,而不真的中断程序)或代码追踪。串口打印由于每次调用打印函数,时序问题可能更大;而且依赖系统有串口驱动,占用代码空间。不过这两种调试方式都需要调试工具支持,譬如说我一直用的 GDB。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-11-03 01:41:43
|
显示全部楼层
17#
板子已经下单了。设计工具用的是 KiCad。调试通过后开源,3BSD 授权协议。 STM32F042K6T6 主控,管脚全用完了。支持 USB CMSIS-DAP + 串口,带 16MB SPI Flash,可用于自带驱动或生产编程。有离线编程按钮,可用于生产编程。板面大量空间被用作输入输出保护,比淘宝上的廉价货耐艹一些。可以向目标板供电,供电电压 3.3V。 调试接口:
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-11-03 04:27:27
|
显示全部楼层
18#
STM32F042F6 的版本也提交了,不过不是独立的调试器盒子,而是作为嵌入式开发板的一部分。如果现在这个板子成功了,后面的开发板就都默认带这个内置仿真器了。 @o技小新o 你要的话,回头把参考电路和固件给你哈 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-11-07 20:12:48
|
显示全部楼层
19#
STM32F042
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-01 17:32:33
|
显示全部楼层
23#
开发进行中。你愿意合作吗?
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-01 23:17:13
|
显示全部楼层
25#
我的水平也不能算高啊……半路出家搞的电子工程,原本是学计算机的不怎么碰硬件啊……(我老本行学的是 iOS 开发,完全有自己开游戏或软件工作室的技术能力,但市场太饱和就换专业方向了。) 如果你想要,我可以卖给你一块组装好的 DAP42-v1r2 或 M193v4r2 电路板。前者是独立版,STM32F0426T6 主控 + W25Q128FVSIG 外置程序存储。后者是集成版,调试器部分是一颗 STM32F042F6P6,主体部分是一颗 STM32F103CBT6 或 STM32F303CCT6。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-02 17:23:20
|
显示全部楼层
27#
50,不包邮。你有 Github 账号的话收到货我给你 Github 写访问权限。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-02 22:38:59
|
显示全部楼层
30#
开发用什么工具很关键。DAP-Link 或 CMSIS-DAP 设计上是搭配开源工具 OpenOCD 和 GDB 用的。我自己的开发流程用的是开源工具链,所以相比之下更合适用 CMSIS-DAP。 |
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-02 22:40:26
|
显示全部楼层
31#
这个东西我还没有挂淘宝呢(没有固件不算成品)怎么说?闲鱼?线下交易?你是哪里的?我在上海。
|
||||||||||||||||||||||||||||||||||||||||
maxtch
18
主题
141
回复 |
发表于2017-12-03 03:00:40
|
显示全部楼层
34#
https://2.taobao.com/item.htm?id=562172172608&spm=a1z38n.10677092.0.0.502ff8c7pBgRW
|
|