和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

STM32开发板如何利落地连接外部编程器?从0设计

发布日期:2019-10-24 09:24 来源:和记h88 发布人:和记娱乐 点击:

  几乎每个开发板都带有内置的编程工具,不同的供应商可能是PE Micro,SEGGER J-Link OB,甚至是供应商自己的工具,如ST-Link。

  大多数情况下,板载编程器的功能相当有限,使用外部编程器则是很有意义的一件事。连接编程器通常需要使用从编程器到开发板进行跳线,这个过程可能导致错误的接线,更有甚者还连成了“老鼠窝”。

  一天,我与IAR的美国东海岸FAE Aaron Bauch谈及此处时,他创建了一块电板来使他的I-Jet编程器JTAG / SWD连接适应ST Microelectronics所采用的6针单排连接大多数。这是一个好主意,但不幸的是,Aaron无法分享他的电板或设计。所以在这篇文章中,将向您介绍如何创建自己的适配器。

  过程的第一步是选择一个带有6针连接器的开发板。碰巧在我的几个课程中使用STM32F429I-Disco板,所以这个是这次的主角。由于这个适配器板非常简单,只是从一组引脚到下一个引脚的由,我决定启动Altium并创建一个带有单个原理图表的SWDAdapter项目。

  查看开发板上6针SWD连接器是一个很好的着手点,但从连接器来看,仅可看出它是一个1×6,标准.100的连接器,我还见过百万次标准连接器。通过打开STM32F429I-Disco板的用户手册,在文档中搜索了描述SWD头的页面。我发现下表描述了每个引脚的作用:

  快速浏览一下这张表,你注意到有什么问题吗?我会给你一个提示,看看针脚1 ...... 它是VDD_Target,即应用程序的VDD。这个引脚不提供目标电源供程序员检测,而是充当内置ST-Link的线!这意味着这些引脚实际上是为了对不在开发板上的部件进行编程而设计的!

  如果我们要创建一个外部编程器适配器,那么适配器也需要一种方法来检测微控制器电压。由于VCC不在6针连接器上,我决定将另一个双针连接器添加到适配器,这将为我提供一个未使用的引脚,然后将MCU VCC跳线到外部编程器,虽然不是一个理想的解决方案,但至少比跳6线好太多了。为了确保我没有忘记引脚或者引脚1未被使用,我复制了引脚表并将其粘贴到我的原理图表上。

  最后,唯一需要查阅的就是找出我的J-Trace Pro for ARM Cortex-M处理器的引脚。我找到了的数据表,然后在我的原理图中添加了一个2×5标准.100连接器,并再次粘贴了一份引脚。为什么我会使用10针头而不是第一张图像中的20针。这样做的原因是因为我有一个20针到10针的适配器,使用这个较小的尺寸可以让PCB也保持小尺寸。

  现在所有连接器都在板上,我花了几分钟连接所有连接。将原理图放在一起时,我在制作这个过程时候喜欢做这些工作来让我制作效率更高:

  完成原理图后,只需按一下按钮,即可将组件和网络推入PCB文档。在铺设电板时,过程遵循以下几点:

  在设计电板时,我喜欢查看生成的电板,了解它在3D渲染中的样子。执行此操作时,可以为连接器添加3D模型,然后可以将其导出给机械工程师,以便使用电子模型构建外壳和其他工作。对于这个简单的电板,我没有花时间添加这些连接器模型。最终电板的外观如下所示:

  从上往下看这个模型,在左侧,10针连接器将与两个针式公连接器一起安装在顶部。P3是连接到目标的母连接器,实际上将放置在电板的底部。

  对于开发人员来说,组件P2可能会有很大不同,这取决于他们在编程器上使用的布线。我选择使用旧式IDC连接器。

  事明,如果进行小型电板运行,PCB成本是最大的费用。我统计了一下,发现包括运费在内的约100美元,可以生产大约50块。如果你打算制造这些设备这是很棒的,但我只对设计过程感兴趣。总的来说,每个适配器将花费我25美元左右。

  我可以做的更便宜吗?当然可以了!我本可以购买几条1.11美元的电缆,切断连接器,然后直接将电缆焊接到P3连接器上。不过仍然需要添加VCC跳线,布线可能已经建成了,加上烙铁大约5美元。但说实话,这样就没有设计布局一个PCB那么有趣了。

  转接板到货了,正如前两部分中讨论的那样,大多数开发板附带的板载调试器都是可用的,但通常提供的远不如专业调试器。我们一直在探索如何为ST Microelectronic开发板创建适配器板,以便我们轻松使用外部调试器。接下来让我们检查最终的结果!

  在打开并检查我的板后,我发现它们看起来状态良好。正如您在下面看到的那样,该板看起来就像我们在第2部分中列出的那样,测量尺寸大约在1英寸×1.25英寸:

  在烧制我的烙铁后,我将我的元件焊接到电板上。JTAG / SWD和我的电源引脚在顶部,底部是6引脚SWD。组装好的电板如下所示:

  不过这些缺陷都不会影响适配器的运行,考虑到这块板设计速度很快,很多板尺寸都是估摸的,其实对板的结果还常满意的。事实上,这些缺陷是如此微不足道,如果我没有指出它们,甚至可能都不会引人注意。

  随着电板的组装,是时候测试它了,看看我是否真的可以用我的适配器编程一个微控制器。为了测试,我将适配器板连接到STM32F429I-Discovery板上的6针连接器。我还将一个20针到10针的IDC连接器连接到我的SEGGER J-Link Ultra +,并将我的新带状电缆连接到适配器板。在此阶段,设置如下:

  如果你还记得,我必须将VCC引脚放在电板上,以便检测目标MCU是否通电。此时,我们需要将适配器板上的VCC引脚跳线到开发板上的VCC。为了做到这一点,我使用了Sparkfun母对母接头,并连接到STM32429I-Discovery板上的3V引脚之一。最终设置如下:

  真正的当然是我是否可以编程微控制器。我将J-Link连接到我的电脑,并尝试使用简单的RTOS LED闪烁程序对电板进行编程。谢天谢地,一切都按预期工作!没有给我更多的跳线(好吧,只是VCC的那个)。

  看起来codeload确实有效。在代码加载(启动代码)后是否还需要按下目标(ST发现)板上的物理重置按钮来重置目标?速度如何(例如,在写入或读取闪存内容时)?

  板载的调试器非常有限,因为是编程微控制器的最小解决方案。如果查看数据表,ST-Link v2的连接速度约为15 kb / s,而J-Link EDU的速度约为1 mb / s。更高端的调试器可以获得更快的速度。

  通过此适配器接口使用外部程序员可以更快地完成所有操作。基于所使用的探测器也有改进,例如无限断点,同时访问多个总线的能力等等。

      和记娱乐,和记h88,h88平台官网