首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Atmel Studio 7编程Arduino Due开发板

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,可轻松实现按钮、滑块和滚轮等功能。

这些固定的功能使它成为物联网(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安装路径中。为此,请打开任何文本编辑器(记事本)并输入以下代码:

mode %1:1200,n,8,1,p

“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是BasicOpenSourceSAM-BAApplication的缩写。软件的主页可以在这里找到。

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”

你可以参考下面的截图:

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

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

下载代码

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

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

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

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

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

F:\Source_Atmel_SAM\Blink-atmel-studio\GETTING-STARTED3\GETTING-STARTED3\Debug>mode COM3:1200,n,8,1,p

Status for device COM3:

———————–

Baud: 115200

Parity: None

Data Bits: 8

Stop Bits: 1

Timeout: OFF

XON/XOFF: OFF

CTS handshaking: ON

DSR handshaking: ON

DSR sensitivity: OFF

DTR circuit: HANDSHAKE

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

Erase flash

Write 19204 bytes to flash[ ] 0% (0/76 pages)

[=== ] 13% (10/76 pages)

[======= ] 26% (20/76 pages)

[=========== ] 39% (30/76 pages)

[=============== ] 52% (40/76 pages)

[=================== ] 65% (50/76 pages)

[======================= ] 78% (60/76 pages)

[=========================== ] 92% (70/76 pages)

[==============================] 100% (76/76 pages)

Verify 19204 bytes of flash[ ] 0% (0/76 pages)

[=== ] 13% (10/76 pages)

[======= ] 26% (20/76 pages)

[=========== ] 39% (30/76 pages)

[=============== ] 52% (40/76 pages)

[=================== ] 65% (50/76 pages)

[======================= ] 78% (60/76 pages)

[=========================== ] 92% (70/76 pages)

[==============================] 100% (76/76 pages)

Verify successful

Set boot flash true

Device : ATSAM3X8

Chip ID : 285e0a60

Version : v1.1 Dec 15 2010 19:25:04

Address : 524288

Pages : 2048

Page Size : 256 bytes

Total Size : 512KB

Planes : 2

Lock Regions : 32

Locked : none

Security : false

Boot Flash : true

CPU reset.

复制代码

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180524G0SZNM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券