UDOO programming the embedded Arduino microcontroller

From eLinux.org
Revision as of 03:32, 16 October 2013 by Ekirei (talk | contribs)
Jump to: navigation, search


Programming the Arduino embedded from UDOO itself

With the Arduino IDE for UDOO is it possible to write code and upload it to the Arduino DUE embedded on UDOO, from UDOO itself.

Check if the Arduino IDE for UDOO is already installed on your system, if not the IDE comes already installed with the latest Ubuntu Linaro image files available on UDOO's website, or, as an alternative, you can download the IDE alone and install it.
[to install Arduino IDE for UDOO].

The Arduino IDE for UDOO comes already configured to see the Arduino DUE embedded programming port on the internal serial (/dev/ttymxc3) so is ready to use.

Note: the Arduino IDE for UDOO is a custom version of the official Arduino IDE 1.5.4 and is shared alike. The UDOO team work has been focused mainly on the compiler.

Programming the Arduino embedded microcontroller from an external computer

[Description needed]

Using Arduino IDE with UDOO patch

Coming soon...

Using Arduino IDE without UDOO patch

A different way for programming the Arduino side without applying patches consists in stopping the board at U-boot stage before the Kernel is loaded

To do so you’ll have to:
1. Download and install a serial monitor program (Teraterm for Windows, Minicom for Linux, serial tools for OS X). Please check the appendix for the configuration and the parameters of these software tools.
2. Connect the external Host PC through the microUSB port CN6, taking care that jumper J18 is plugged. Then insert the power plug and start the system. On the serial monitor it will appear something similar:

   U-Boot 2009.08 (Sep 27 2013 - 12:30:44)
   CPU: Freescale i.MX6 family TO1.2 at 792 MHz
   Thermal sensor with ratio = 181
   Temperature:   50 C, calibration data 0x5774fa69
   mx6q pll1: 792MHz
   mx6q pll2: 528MHz
   mx6q pll3: 480MHz
   mx6q pll8: 50MHz
   ipg clock     : 66000000Hz
   ipg per clock : 66000000Hz
   uart clock    : 80000000Hz
   cspi clock    : 60000000Hz
   ahb clock     : 132000000Hz
   axi clock     : 264000000Hz
   emi_slow clock: 132000000Hz
   ddr clock     : 528000000Hz
   usdhc1 clock  : 198000000Hz
   usdhc2 clock  : 198000000Hz
   usdhc3 clock  : 198000000Hz
   usdhc4 clock  : 198000000Hz
   nfc clock     : 24000000Hz
   Board: i.MX6Q-UDOO: unknown-board Board: 0x63012 [WDOG]
   Boot Device: NOR
   I2C:   ready
   DRAM:   1 GB
   In:    serial
   Out:   serial
   Err:   serial
   Net:   got MAC address from IIM: 00:00:00:00:00:00
   Hit any key to stop autoboot:  3
   Hit any key to stop autoboot:  2
   Hit any key to stop autoboot:  1

3. Before the counter reaches 0, press any key on the external PC’s serial console.

   i.Mx6Q_UDOO_BOOT> _

4. Close the serial monitor and unplug J18 jumper. This will allow the communication with the programming port of SAM3X8E;

5. Plug the jumper J22 for 1 second, then remove it (to erase the old sketch programmed in SAM3X8E);

6. Plug the jumper J16 for 1 second, thend remove it (to reset the SAM3X8E);

7. Select from the IDE: Tools –> Board –> Arduino DUE programming port and select the correct serial COM from the IDE;

8. Send the sketch using the IDE upload button.

9. Press the reset button to restart i.MX6 and use Ubuntu or Android again.