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微控制器的全部功能了。
领取专属 10元无门槛券
私享最新 技术干货