Benutzer:Rdiez/ArduinoDue: Unterschied zwischen den Versionen

Aus /dev/tal
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „= Why the Arduino Due = This was my selection criteria: * Popular platform, well supported, reasonably priced. * Open-source hardware. <br/> Hopefully this will…“)
 
(Weiterleitung nach Benutzer:Rdiez/PageRemoved erstellt)
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Why the Arduino Due =
+
#REDIRECT [[Benutzer:Rdiez/PageRemoved]]
 
+
This was my selection criteria:
+
 
+
* Popular platform, well supported, reasonably priced.
+
* Open-source hardware. <br/> Hopefully this will lead to lower prices and longer availability.
+
* 32-bit CPU with good toolchain support.
+
* High Speed (480 Mbps) USB tranfers (effective throughput up to 35 MB/s or 280 Mbit/s). <br/> This is about time, the USB 2.0 spec was released in April 2000 (!). <br/> Most ARM microcontrollers support only the 11 Mbit/s mode (as of 2013).
+
 
+
Other candidates:
+
* The Beagle Bone was mostly sold out at the time.
+
* The Raspeberry Pi is designed to act as an USB Host, and not as an USB Device.
+
 
+
= Specs =
+
 
+
The Arduino Due has an AT91SAM3X8E microcontroller with the following features:
+
 
+
* ARM Cortex-M3 core:
+
** Implements the ARMv7-M architecture, which is a 32-bit architecture.
+
** Supports all of the base Thumb-2 instruction set, where instructions can be 16-bit or 32-bit long.
+
** Supports only Thumb-2, does not support the original 32-bit ARM instruction set.
+
** Hardware multiplication and division.
+
** Memory Protection Unit with 8 regions.
+
** Limited support for unaligned memory accesses.
+
** Choice of several modes with different privilege levels (user, supervisor...).
+
** Support for single-bit atomic operations with (bit-banding)
+
** No floating point support.
+
* 84 MHz clock frequency.
+
* 2 x 256 KBytes Flash.
+
* 64 + 32 KBytes RAM.
+
* The "native" USB port and can do High Speed USB 2.0 (480 Mbit/s).
+
* JTAG port
+
 
+
= First impressions =
+
 
+
The Arduino Due is surprisingly inadequate as a learning and hacking platform:
+
 
+
* It is relatively expensive compared to more powerful platforms like the Rasperry Pi, the Beagle Bone and many of the microcontroller evaluation boards. <br/> Due to the low availability 4 months after release date I ended up paying 59 € for it, and that hurts if you manage to fry it during your experiments.
+
* The development environment has no integrated debugger (!).
+
* Launching a program, however small, takes a few seconds. <br/> That is quite a long time for such a modern board, it goes on your nerves. Maybe it is due to the beta development environment version 1.5.2 I tested, but why is it still beta? The release date was 22nd October 2012, more than 4 months ago.
+
* It can only interface at 3.3 V level. <br/> The Bus Pirate has a CD4066B analog switch that uses an external reference voltage. <br/> There are warnings all over the place that you can damage the board with a 5 V level, but why is there no protection circuitry? For hackers and learners such a safety feature would be a welcomed addition. How about some integrated 5 V capability too? With a small CPLD or FPGA you could probably choose your voltage level on a pin basis.
+
* The board has a single user LED and no user buttons whatsoever, let alone any kind of display or sound ability. <br/> You need extra hardware for the most simple of tests.
+
* The JTAG header is smaller than usual, it has a 1.27 mm raster instead of the normal 2.54 mm. <br/> Most hackers will have to pay extra for an adapter.
+
 
+
= Connecting over JTAG =
+
 
+
When connected to the Arduino Due, [http://openocd.sourceforge.net OpenOCD] discovers a [http://en.wikipedia.org/wiki/Joint_Test_Action_Group JTAG] IDCODE of 0x4BA00477. The JTAG Instruction Register has a length of 4 bits.
+
 
+
The IDCODE breakdown, using [https://sourceforge.net/apps/mediawiki/filereadtest/index.php?title=DecodeJtagIdcode my script to decode JTAG IDCODEs], is as follows:
+
 
+
  Decoding of JTAG IDCODE 0x4BA00477 (1268778103, 0b01001011101000000000010001110111):
+
  Version:      0b0100  (0x4, 4)
+
  Part number:  0b1011101000000000  (0xBA00, 47616)
+
  Manufacturer: 0b01000111011  (0x23B, 571)  # Name: ARM Ltd.
+
  Leading bit:  1  # Always set to 1 according to the IEEE standard 1149.1
+

Aktuelle Version vom 4. April 2015, 15:44 Uhr

Weiterleitung nach: