风筝
发表于: 2018-12-19 22:10:00 | 显示全部楼层

在周末,我收到了从亚马逊购买的新款Arduino MKR-WiFi-1010(ABX00023),如下图所示:

Atmel-Ice-MKR-WiFi-1010.jpg


注意:在写完这篇博客后,我意识到使用Atmel ICE可能会在以后尝试通过串口上传草图时导致引导加载程序出现问题!这很容易解决(一切都很简单,当你知道如何),但要注意。


具有讽刺意味的是,我在向Peter Scargil发表评论后不久发现了这个开发板,我真的认为没有任何东西可以替代Espressif ESP8266(ESP32除外),因为它已经存在了很长时间并具有如此强大的社区和动力。在看到MicroChip关于ATMega4809的推文后不久我找到了1010。 (一个8位Arduino,16MHz陶瓷谐振器,使用ECC608加密认证芯片的WiFi板,售价44.90美元)。 MKR1010(32位!)被列为“相关产品”。现在,我知道MKR-1010主板已经在不久前发布了 - 但当时我似乎认为它相当昂贵并且没有想太多。但是29.90美元 - 这太有吸引力了。第二天交付没有额外的变化!谢谢Prime!


自从我上一篇博文发表以来已经有一段时间了。我有一些关于我用新CNC学习的东西的博客草稿,但目前它相当混乱,所以在本周末我回到调试器和MKR-1010板上。


该主板的主要关注点之一是除了SAMD21(特别是ATSAMD21G18A)之外,它还有一个板载ESP32 ......和MicroChip ECC508加密认证芯片!虽然我非常喜欢ESP8266主板,但我会说JTAG调试并不是最简单和最强大的。关于Atmel ICE的一个方面是Atmel Studio,它是一个相当强大和可靠的硬件调试器。


如此新鲜,我很失望,没有用于单线调试(又称SWD)连接器的电缆:

Not MKR 1010 SWD.jpg

50mil连接器与SWD连接器进行比较。


请注意,黑色连接器不是0.1针间距,它已经是Atmel ICE上的小型50mil连接器。下面的白色连接器甚至比那个小!


我花了很长时间在互联网上搜索“Arduino MKR 1010 SWD调试连接器”上的任何内容。我甚至无法确定调用那个微小的白色连接器,以便我可以订购一个。我甚至在Arduino MKRWiFi1010论坛上发帖求助,


最后,我找到了这篇帖子,有人询问将Atmel ICE SWD连接到MKR-ZERO。虽然没有迹象表明MKR-1010底部的6个焊盘实际上是J2 SWD引脚,但我希望Arduino的人们能够达到标准和一致性。

MKR-WiFi-1010-SWD-Schematic.PNG

MKR-1010 SWD连接器示意图(反向焊盘)


Maker Zero SWD引脚如下图所示,在此图中由Federico_Vanzati提供

MKRZero-SWD.png

适用于Atmel ICE的MKR-Zero SWD针脚

请记住,我没有经验,也没有MKR-Zero的知识,但MKR WiFi 101只是有点相似,一旦你看到它们,嗯?

abx00023_back.jpg

Arduino网站的MKR-1010主板

因此,虽然我有信心并希望我最终能够将Atmel ICE连接起来,但我仍然坚持使用6个焊盘并且没有孔。我真的希望Arduino能够制作出更加适合调试的连接器。


幸运的是,我手头有一些分开的插头。我弯了两套3针......

Bent-Header-Example.png

带有一些针弯曲的接头,用于表面贴装SWD焊盘。


...并将它们都插入6针电缆连接器中,以便将它们固定在适当的焊接位置:

SWD-Headers-in-Cable.png

在6针连接器中准备自制表面贴装接头。


确保弯曲时不会拉出较长的插头引脚:您不仅希望电气接触的长度很长,而且PCB上也不要太长。是的,有一个阻焊层可以作为绝缘体,但我不会指望它。确保引脚仅与焊盘一样长。我需要修剪我的。


请注意,使用三个组将增加整体机械强度 - 但由于它们是表面安装的,因此在插入和移除连接时应小心。


因此,一旦头部被焊接到位,令人讨厌的未来面包板使用的现实变得非常明显。很明显,设计师优先考虑Arduino徽标,而不是焊盘放置的实用性:

My-MKR-WiFi-1010-SWD-Connector.png

我的MKR-WiFi-1010 SWD接头连接,刚刚焊接好


我想如果我把它插入面包板,我会使用一些可堆叠的标题。但是,这将留下更多的机械连接和更多的连接问题。


来自MicroChip / Atmel ICE文档 - 这些是用于SAMD21芯片上的SWD的引脚:

Atmel-ICE-SWD-Pin-Mapping.PNG

使用Atmel ICE进行SWD调试的SAMD引脚(来自用户指南)


在读取引脚并查看我为Atmel ICE提供的电缆和适配器后,我意识到我唯一的选择就是使用那种方便但烦人的Squid电缆。

MKR-WiFi-1010-SWD.jpg

带有SWD Atmel ICE引脚编号的Arduino MKR WiFi 1010。


以下是与Atmel ICE相关的电路板:

MKR-Wifi-1010-to-Atmel-ICE-SWD.PNG

Arduino MKR-WiFi 1010通过Squid电缆连接到Atmel ICE。


我确定希望在MKR板上安装一个简单的10针接头 - 它将直接连接到Atmel ICE调试器。好吧,不用担心..


GitHub上有一个实际使用WiFi的MKR-Wifi-1010教程。我实际上使用了WiFi教程页面来开始。我下载了ino文件并将其粘贴到Arduino IDE中并进行编译以确保一切正常。然后我从ino创建了一个新的Atmel Studio项目。

Atmel Studio New Project.PNG

Atmel Studio设置步骤1。


在下一个界面上,从Arduino IDE中选择ino项目的位置:

Atmel Studio New Project Step 2.PNG

Atmel Studio设置步骤2。


Atmel Studio中的连接非常简单,只需选择Atmel ICE并确保使用“SWD”:

Atmel-Studio-Project-Properties-Tool.png

Atmel ICE的Atmel Studio SWD调试器设置


之后......瞧!单击“调试”菜单并单步执行,设置断点等等!

Atmel-Debug-1.PNG


使用Atmel ICE进行调试时,有一件事情并不是非常明显,大多数示例代码都是“在设置过程中一直等到串口可用”。好吧,Atmel ICE不是串口!

  1. //Initialize serial and wait for port to open:
  2.   Serial.begin(9600);
  3.   while (!Serial) {
  4.     ; // wait for serial port to connect. Needed for native USB port only
  5.   }
复制代码

所以一定要把东西连接到串口! Atmel Studio中的串行监视器有点不稳定。我只使用putty串口工具


请参阅“反汇编”选项卡以查看从源代码生成的汇编语言:

Atmel-Debug-Disassembly.PNG

处理器按钮显示有趣的信息:

Atmel-Debug-Processor-Status.PNG

浏览和检查I / O寄存器也很酷:

Atmel-Debug-IO-Status.PNG


好吧,我希望这可以节省您在尝试将Atmel ICE硬件调试器与Arduino MKR-WiFi 1010一起使用时遇到的麻烦。


我添加了一个MKR-WiFi-1010 GitHub存储库,其中包含源代码和相关图片及文档。


所以,也许这个Arduino会接管Espressif芯片......但是因为这个开发板有一个Espressif,也许这不是一个公平的比较。仍然 - 这是一个非常有趣的开发板,价格合理。


资源和其他链接

●    WiFiNINA库

●    Adafruit正确调试ATSAMD21处理器 - 恢复Bootloader

●  ArduinoCore-samd / bootloaders / mkrwifi1010上的Bootloader /

●    由badballscrewbob更新的MKR1000固件

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1482



手机版|

GMT+8, 2024-4-29 07:04 , Processed in 0.039869 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表