风筝
发表于: 2016-12-16 14:44:40 | 显示全部楼层

Atmel的SAM3X系列微控制器非常适合于初学者,推动用户从8位/ 16位微控制器的世界快速转到32位ARM Cortex内核微控制器。


该系列中最有名的器件之一是SAM3X8E,Atmel的Smart ARM微控制器。 用于开始入门SAM3X8E的平台可以选择Arduino Due开发板(也称为Arduino ARM)。 SAM3X8E MCU是ARM Cortex-M3处理器,可在84 MHz运行,512 KB闪存和100 KB SRAM。 它们还具有丰富的片上外设,如高速USB MiniHost和片上PHY、以太网、双CAN、高速SD/SDIO/MMC和多个串行接口(USART、SPI、TWI(I2C)和一个I2S)。


SAM3X8E还具有一个12位ADC / DAC、温度传感器、32位定时器、PWM定时器和RTC。 16位外部总线接口支持SRAM、PSRAM、NOR和NAND闪存,并且具有错误代码校正功能。 Atmel QTouch®库适用于SAM3X8E,可轻松实现按钮、滑块和滚轮等功能。

s__flashing-arduino-due-05-due-brd.jpg

这些固定的功能使它成为物联网(IoT)应用的最佳微控制器之一。 此外,有一个Arduino套件可用于此控制器。 该套件名为Arduino Due。 为了充分利用这个芯片的功能,许多开发商选择使用Atmel Studio。 然而,该工具并不直接支持下载代码到Arduino Due板。 在这篇文章中,我们将看到如何使用Atmel Studio来编程Arduino Due。 我们将使用枚举的COM端口,当通过Due板上的“Native USB”端口将开发板连接到笔记本电脑时,该端口标识为Arduino Due的BOSSA编程口。


所需的软件和工具:

1.  Arduino DUE开发板

2.  Atmel Studio(http://www.atmel.com/microsite/atmel-studio/

3.  Arduino 1.6.0(https://www.arduino.cc/en/Main/OldSoftwareReleases

我们特别需要这个版本来编程Arduino Due。 这将简化很多事情。 它包括一个bossac编程器,需要改工具才能将代码下载到Arduino DUE开发板。

配置Atmel Studio开发环境

1.  创建一个名为“DueProgrammer.bat”的MS Dos批处理文件,并将其保存在Arduino安装路径中。为此,请打开任何文本编辑器(记事本)并输入以下代码:

  1. mode %1:1200,n,8,1,p
  2. “C:\Program Files (x86)\Arduino\hardware\tools\bossac.exe” –port=%1 -i -e -w -v -b %2 -R
复制代码

说明:

mode:Dos命令来切换串口模式。这是进入编程模式所必需的。

-port:用于编程的COM端口。 %1是传递给批处理文件的参数

-i:在编程期间显示设备信息

-e:擦除器件上的整个Flash内容

-w:将给定文件写入闪存。文件名作为参数传递到批处理文件(%2)

-v:写入后验证

-b:从闪存引导

-R:复位CPU

bossac.exe:BOSSA是Atmel的SAM微控制器的微控制器闪存编程软件。名称BOSSA是Basic Open Source SAM-BA Application的缩写。软件的主页可以在这里找到。

2.  打开Atmel Studio,然后单击Tools > External Tools。 我们将这个批处理文件添加为外部工具,并告诉Atmel Studio将必需的参数传递给此批处理文件。

3.  单击Add,添加一个新的外部工具,并提供以下信息:

Title:

Due Programmer

Command:

C:\Program Files (x86)\Arduino\DueProgrammer.bat

注意:如果使用不同的路径,请提供相同的路径。

Arguments:

COM3 $(TargetDir)$(TargetName).bin

说明:以COM3为例,你需要提供正确的端口。 要找到DUE开发板的确切COM端口,将micro USB线缆连接到DUE开发板的“NATIVE USB - > SAM3X”接口,并将USB电缆的另一端插入您的 电脑中任何未使用的USB端口。 检查设备管理器的COM端口号。

提示:如果您将同一Arduino Due开发板连接到计算机的同一USB端口,则COM端口号将始终相同!

Initial Directory:

$(TargetDir)

勾选复选框“Use Output Window”

你可以参考下面的截图:

s__flashing-arduino-due-02-adding-new-tool.jpg

4.  单击“OK”,然后单击“YES”以保存所做的更改。

现在你会在Tools菜单下发现新的外部编程器工具,叫做“Due Programmer”。

s__flashing-arduino-due-03-external-programmer.jpg

下载代码

1.  构建您的解决方案(按F7)

2.  确保USB电缆已连接到Arduino DUE开发板的Native USB端口(请参阅下图),并且为工具Arguments指定的COM端口值正确。

s__IMG_20161130_200426080.jpg

3.  按住Due开发板上的ERASE按钮两秒钟,然后松开。 之后按下RESET按钮。 这将擦除MCU并激活BOSSA编程端口。

s__flashing_arduino_resetting_board_06.jpg

4.  要编程Arduino DUE开发板,单击Tools > Due Programmer

它应该会开始编程。 输出窗口将显示类似如下所示的日志:

  1. F:\Source_Atmel_SAM\Blink-atmel-studio\GETTING-STARTED3\GETTING-STARTED3\Debug>mode COM3:1200,n,8,1,p
  2. Status for device COM3:
  3. ———————–
  4. Baud: 115200
  5. Parity: None
  6. Data Bits: 8
  7. Stop Bits: 1
  8. Timeout: OFF
  9. XON/XOFF: OFF
  10. CTS handshaking: ON
  11. DSR handshaking: ON
  12. DSR sensitivity: OFF
  13. DTR circuit: HANDSHAKE
  14. RTS circuit: HANDSHAKEF:\Source_Atmel_SAM\Blink-atmel-studio\GETTING-STARTED3\GETTING-STARTED3\Debug>”C:\Program Files (x86)\Arduino\hardware\tools\bossac.exe” –port=COM3 -i -e -w -v -b “F:\Source_Atmel_SAM\Blink-atmel-studio\GETTING-STARTED3\GETTING-STARTED3\Debug\GETTING-STARTED3.bin” -R
  15. Erase flash
  16. Write 19204 bytes to flash[ ] 0% (0/76 pages)
  17. [=== ] 13% (10/76 pages)
  18. [======= ] 26% (20/76 pages)
  19. [=========== ] 39% (30/76 pages)
  20. [=============== ] 52% (40/76 pages)
  21. [=================== ] 65% (50/76 pages)
  22. [======================= ] 78% (60/76 pages)
  23. [=========================== ] 92% (70/76 pages)
  24. [==============================] 100% (76/76 pages)
  25. Verify 19204 bytes of flash[ ] 0% (0/76 pages)
  26. [=== ] 13% (10/76 pages)
  27. [======= ] 26% (20/76 pages)
  28. [=========== ] 39% (30/76 pages)
  29. [=============== ] 52% (40/76 pages)
  30. [=================== ] 65% (50/76 pages)
  31. [======================= ] 78% (60/76 pages)
  32. [=========================== ] 92% (70/76 pages)
  33. [==============================] 100% (76/76 pages)
  34. Verify successful
  35. Set boot flash true
  36. Device : ATSAM3X8
  37. Chip ID : 285e0a60
  38. Version : v1.1 Dec 15 2010 19:25:04
  39. Address : 524288
  40. Pages : 2048
  41. Page Size : 256 bytes
  42. Total Size : 512KB
  43. Planes : 2
  44. Lock Regions : 32
  45. Locked : none
  46. Security : false
  47. Boot Flash : true
  48. CPU reset.
复制代码

好了,介绍就到这了。现在你可以充分使用Arduino Due开发板和SAM3X8E微控制器的全部功能了。

s__flashing-arduino-due-01-intro.jpg

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

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-22 06:10 , Processed in 0.042686 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

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

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