This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Atmel SAM D21 Xplained Pro评估板开发初步

Atmel SAM D21 Xplained Pro评估板开发初步(或查阅附件)

  1. 概述

Atmel SAM D21 Xplained Pro评估板包括如下特性[1]

  1. SAMD21J18A微控制器
  2. 1个重启按键
  3. 1个用户按键(可执行唤醒、进入bootloader或其它用途等)
  4. 1个黄色LED
  5. 32.768KHz晶振
  6. USB接口,支持设备和主机模式
  7. 8Mbit串行Flash
  8. 3Xplained Pro扩展引脚组
  9. 嵌入式调试器(EDBG
    1. Atmel Studio自动识别信息
    2. 1个黄色状态LED
    3. 1个绿色电源LED
    4. 支持带有范围信息的复杂数据类型的符号调试功能
    5. 编程和调试
    6. 数据通信接口(Data Gateway Interface):SPII2C4GPIO
    7. 虚拟串口(CDC
  10. USB供电
  11. Atmel Software Framework提供应用程序示例
  12. Atmel Studio 7.0 beta版下载与安装

Atmel Studio 7.0 beta版已经不再支持Windows XP系统。该beta版可以在如下地址中访问下载和下载:http://atmel-studio.s3-website-us-west-2.amazonaws.com/我下载后上传到了百度网盘,包括一个需要通过网络下载安装的版本和一个独立安装包版本:http://pan.baidu.com/s/1nt01F1R

  1. 7.0beta版独立安装包比6.2sp2独立安装包少了约200MB,但相比较其它IDE而言仍然还是很大,约580MB

Atmel Studio官方网址仍然是6.2sp2版本,很快会更新至新版本,官网:http://www.atmel.com/tools/atmelstudio.aspx?tab=overviewhttp://www.atmel.com/microsite/atmel_studio6/

  1. 2.1   启动安装,如下图示,可以看出基于Visual Studio

2.jpg

  1. 授权信息,可以看出需要约3.5GB的磁盘空间!

3.jpg

  1. 需要验证一下系统环境和安装环境,如下图示:

4.jpg

  1. 选择安装的目标架构,有AVR 8MCUAVR 32MCU和基于ARMMCU,如果全选,则需要3.5GB的磁盘空间,我选安装了基于ARMMCU,安装完成后会占用约2.5GB的磁盘空间!如下图示:

5.jpg

  1. 重启后继续安装!而不是安装完成,如下图示:

9.jpg

  1. 系统重启后,安装程序自动开始继续安装。Atmel Studio 7.0基于Microsoft Visual Studio 2013 Shell (Isolated),相当于是使用一个VS的外壳。

10.jpg

  1. 最后拷贝SAMPacks 7.0,这些包占用了约1.5GB的磁盘空间,其实SAM D21只需要30MB就足够了,但是Atmel Studio7.0还是未能优化磁盘占用空间,把所有支持的ARM MCU程序包全部安装进去了,如下图示:

11.jpg

  1. 安装完成后,接入Atmel SAM D21 Xplained Pro评估板至电脑,注意评估版使用的是micro USB接口,和安卓手机接口一致。接入后,系统提示需要的驱动已经自动安装完成,如下图示:

14.jpg 至此,Atmel Studio开发环境安装完成。该开发环境安装包约为600MB,只选择ARM微控制器架构,安装完成后占用了约2.5GB磁盘空间,其中对各芯片支持包占用了约1.5GBSAMD21只需要30MB的支持包就够了,但是Atmel并没有优化安装。GCC库占用了约600MB磁盘空间。

  1. 新建一个LED闪烁工程项目

评估版接入电脑后,打开Atmel Studio,启动界面自动识别并显示出SAM D21 Xplained Pro的简介界面,如下图示:

  1. 3.1   新建一个示例工程,如下图示:

16.jpg

  1. 选择示例应用程序

在新弹出的窗口中,Device Family选择SAMD21Category选择Application,点开中间窗口中的示例,并点击选择LED Toggle Application – SAM D21 Xplained Pro,指定工程的名字和路径后,或者使用默认的,点击OK即可创建一个工程。如下图示: 1.jpg

  1. 编译生成

不需要做任何改动,选择Build-Rebuild LED_TOGGLE1,如下图示: 2.jpg编译应该没有任何错误,并给出如下图示的编译结果: 3.jpg

  1. 下载与调试

选择Debug-Attach to Target菜单项,如下图示: 3.5.jpg此时显示出Tool配置页面,在Selected debugger/programmer中选择EDBG ATMLxxx调试器,Interface选择SWD,然后选择Debug-continue或者点击界面上的实心蓝色箭头,此时开始下载并启动调试,如下图示: 4.jpg

  1. 更新EDBG固件

一般情况下,评估版中的EDBG固件会比Atmel Studio中提供的固件版本低,故必须要先升级EDBG,否则无法下载程序和调试。升级固件是自动识别并完成的,点击Upgrade按钮即可开始升级固件,如下图所示: 5.jpg说明:EDBG是在评估版上的介于MCUAtmel Studio之间的一个功能部件,在电脑上开发程序后,对程序下载、在线调试等都需要EDBG辅助完成。

  1. 升级EDBG时遇到的问题

在升级EDBG时,总是显示不成功,于是尝试在命令行下进行手动升级固件,先看下图中所示:

6.jpg

手动更新固件需要使用atfw命令,该命令存放在C:\Atmel\Studio\7.0\atbackend中,Edgb_fw.zip文件可以在目录C:\Atmel\Studio\7.0\tools\edbg中找到,我为了简单,把该文件复制到了atbackend目录下,这样就不需要指定其绝对路径了。

使用如下命令行可以手动更新EDGB固件:

atfw –t edgb –a edgb_fw.zip

-t指定出atfw命令针对的哪个工具类型,上图最后的显示可以看出有多种工具类型,使用该命令时必须指出工具类型;

-a指出使用哪个文件进行固件升级,后面给出固件的压缩包文件,此压缩包使用原厂压缩包,用户不要自行更改。

由上图可以看出,USB枚举到了评估版的EDGB,但是下载固件失败,此时我的评估版处于Bootloader模式(空闲)下,可以通过atfw –L看出。

评估版中有2个由EDBG控制的LED,表示当前EDBG处于何种模式,如下表所示[2]

操作模式

电源LED

状态LED

正常模式

电源接通时电源LED灯常亮。

活动指示,当状态LED闪烁时,表示EDBG正在忙碌。

Bootloader模式(空闲)

电源LED和状态LED同时闪烁且闪烁频率一致。

Bootloader模式(升级固件中)

电源LED和状态LED交替闪烁。

通过执行上述的命令,首先USB枚举到了评估版的EDGB后进入了Bootloader模式(空闲)(2LED同时闪烁),接着进入了Bootloader模式(升级固件中)(2LED交替闪烁),稍等片刻后回到Bootloader模式(空闲)(2LED同时闪烁),并提示错误:

GenericError thrown during firmware upgrade

Upgrade failedWrite error

至此,我的评估版每次加电后,电源LED和状态LED同时闪烁且频率一致,即处于Bootloader模式(空闲),如果重启Atmel StudioAtmel Studio无法发现评估版。

在台式机中的多个USB端口中测试升级固件,并更换了3根带有磁环的USB线仍然无法升级固件!很疑惑为什么总是不行!?

本来可以尝试直接删除目录C:\Atmel\Studio\7.0\tools\edbg中的Edgb_fw.zip文件(注意备份),这样Atmel Studio可能不会再提示升级EDBG固件,从而可以继续调试,但现在评估版EDBG已经无法恢复正常模式,每次都加电都处于空闲的Bootloader模式中。

但评估版仍然可以通过命令行的方式看到,即使用atfw L命令,当然也可以升级固件,但总是升级失败!请高人指点!


 


[1] 参考:SAM D21 Xplained Pro Evaluation Kithttp://www.atmel.com/tools/atsamd21-xpro.aspx

[2] 参考《Atmel SAM D21 Xplained Pro User Guide》第3.1节。

Atmel SAMD21 Xplained Pro评估板开发初步.pdf