Starting Manual
UDOO Starting manual (beta) Version 0.4 Table of Content 1. Introduction ........................................................................................................................ 4 1.1. What's UDOO? ..................................................................................................................................................................... 4 1.2. UDOO goals ..........................................................................
UDOO Starting manual (beta) Version 0.4 6.1. Introduction ...................................................................................................................................................................... 31 6.2. Extra available functions on UDOO pinout .......................................................................................................... 32 6.3. Example ..................................................................
UDOO Starting manual (beta) Version 0.4 1. Introduction 1.1. What's UDOO? UDOO is a mini PC that can be used both with Android and Linux OS, with an embedded Arduino-compatible board. It is a powerful prototyping board for software development and design; it’ s easy to use and allows developing projects with minimum knowledge of hardware.
UDOO Starting manual (beta) ● ● ● ● ● ● ● ● ● ● ● ● ● ● Version 0.4 GPU Vivante GC 2000 for 3D + Vivante GC 355 for 2D (vector graphics) + Vivante GC 320 for 2D (composition) Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino Due) RAM DDR3 1GB 76 fully available GPIO with Arduino-compatible R3 1.0 pinout HDMI and LVDS + Touch 2 Micro USB (1 OTG) 2 USB 2.0 type A and 1 USB 2.
UDOO Starting manual (beta) ● ● ● ● ● ● Version 0.4 2 Micro USB (1 OTG) 2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable) Analog Audio and Mic jacks CSI Camera Connection on board Micro SD card reader (boot device) Power Supply (6-15V) and External Battery connector http://www.udoo.
UDOO Starting manual (beta) Version 0.4 2. Creating a bootable Micro SD card from precompiled image The following paragraphs will guide to in the creation of a bootable micro SD card for UDOO board, starting from a precompiled image file containing the UDOO Operating system, which runs using the i.MX6 processor. Without the O.S., it si possible only to use UDOO like a normal Arduino Due (only SAM3X8E processor).
UDOO Starting manual (beta) Version 0.4 Please be sure that you replaced the argument of input file (if=) with the pathof the .img file, and that the device name specified in output file’ s argument (of=/dev/) is correct. This is very important, since you could lose all data on the hard drive of the Host PC if it is usedthe wrong device name. Please also be sure that the device name is that of the whole micro SD card, as described above, not just a partition. (e.g.
UDOO Starting manual (beta) Version 0.4 sudo dd bs=1m if=path_del_file_img of=/dev/ Please be sure that you replaced the argument of input file (if=) with the path to the .img file, and that the device name specified in output file’ s argument (of=/dev/) is correct. This is very important, since it could result in the loss of all data of the disk of the Mac used, when referring to the wrong device name.).
UDOO Starting manual (beta) Version 0.4 http://www.udoo.
UDOO Starting manual (beta) Version 0.4 2.4. Creating a bootable microSD card: The Hard Way Note: The following instructions are referred to a Linux system. A bootable SD card has 3 different elements: ● Kernel ● U-Boot (Universal Bootloader) ● File System (e.g: Ubuntu Linaro, Yocto) A possible way to create a bootable SD card consists in installing these elements separately from the binaries available on UDOO’ s website.
UDOO Starting manual (beta) Version 0.4 Download the latest revision from GitHub: git clone http://github.com/UDOOboard/Kernel_Unico kernel Move inside the folder kernel: cd kernel Set the default kernel configuration for UDOO by running thecommand: make ARCH=arm UDOO_defconfig At this point, it is possible to edit the config: make ARCH=arm menuconfig Start compiling: make -j4 CROSS_COMPILE=..
UDOO Starting manual (beta) Version 0.4 Label: Press the green V form, wait for the partition to be done and exit gparted. 2.4.4. Copy the files on the SD card File System: Note: Always remember to replace the strings inside the brackets with the right filenames. Mount the just-created partition and then extract the tar.
UDOO Starting manual (beta) Version 0.4 3. Internal Connections 3.1. Introduction UDOO include on the same board an ARM v7 Cortex A9 microprocessor with an Atmel SAM3X8E microcontroller (same as Arduino Due). They’ re both stand-alone with different clocks and no shared memory.
UDOO Starting manual (beta) Version 0.4 Linux OS is running and allows to the users to see u-boot and kernel outputs. With Ubuntu OS it is possible to use a shell after the login. 3.2.2. Shared serial port Freescale i.MX6 and Atmel SAM3X8E can communicate via a shared Serial port embedded on the board, exactly like Arduino systems connected to a PC through an USB cable. SAM3X8E and i.MX6 processor running Linux communicate on a two way http://www.udoo.
UDOO Starting manual (beta) Version 0.4 channel, exchanging messages with a tested baudrate of 115200. This shared serial port, which can be used for SAM3X8E programming, is accessible exactly like on Arduino Due, via embedded USB-to-serial converter (accessible through microUSB connector CN6, simply by removing jumper J18) or directly on external pins #0 and #1 of Arduino pinout-compatible pin headers.
UDOO Starting manual (beta) Version 0.4 After the OS boot, the connection between the two processors is established and working. For this reason, it is impossible to connect an external Host PC through microUSB connector CN6 (without J18 jumper inserted), since it would result in the unusability of the shared serial port.
UDOO Starting manual (beta) Version 0.4 DRAM: 1 GB MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3 In: serial Out: serial Err: serial Net: got MAC address from IIM: 00:00:00:00:00:00 FEC0 [PRIME] Hit any key to stop autoboot: 3 Hit any key to stop autoboot: 2 Hit any key to stop autoboot: 1 Before the counter reaches 0, press any key on the external PC’ s serial console. The booting procedure will now stop and it is possible to use the u-boot console i.
UDOO Starting manual (beta) Version 0.4 3.2.3. Shared USB OTG bus When using Android, communication between i.MX6 and SAM3x8E processors is not made through the shared serial port. It comes through the processors’ native USB OTG ports, instead. i.MX6’ x native USB OTG port can be switched between SAM3X8E microcontroller and external microUSB port CN3. The switching is managed by two i.Mx6 pins..
UDOO Starting manual (beta) Version 0.4 It’ s possible to use adb tool on UDOO for installing, debugging and testing applications like on common Android devices. To do this, it is necessary to switch the OTG bus to the microUSB port CN3, then connect there the external Host PC and use the standard adb tools on UDOO. Default configuration directs OTG bus from i.MX6 prcoessor to SAM3X8E, therefore, it is not possible to use the adb tool.
UDOO Starting manual (beta) Version 0.4 It is possible to download Android SDK and access the full documentation at: http://developer.android.com/sdk/index.html Full guide for ADB tool available at: http://developer.android.com/tools/help/adb.html 3.2.6. Switching between modes From Android options menu, it is possible to switch between Debug Mode and Accessory Development Kit (ADK) Mode. For this, it is necessary to access the android shell. - Connect a microUSB cable to CN6 and plug J18 jumper.
UDOO Starting manual (beta) Version 0.4 e.g. stty -F /dev/ttymxc3 cs8 115200 (baud rate set to 115200) (note: the baud rate have to be the same declared in SAM3x8E firmware) (note: default baud rate is 9600) to write a message on the serial port, use the echo command: e.g. echo message > /dev/ttymxc3 to read messages from the serial port, use the cat command: e.g.
UDOO Starting manual (beta) Version 0.4 SAM3X8E microcontroller programmin To program the Atmel SAM3x8E from an external Host PC, it is possible to use the standard Arduino IDE. 4.1. Download Arduino IDE Download the Arduino IDE for free at the official website: http://arduino.cc/en/Main/Software Download the version for the O.S. used (must be 1.5.2 or newer release). 4.2. Install Arduino IDE Once downloaded the appropriate IDE, the next step is installing the Arduino IDE.
UDOO Starting manual (beta) Version 0.4 C:\Program Files (x86)\Arduino 4.2.2. Linux 32 / 64 Download the tar.gz files, choosing from 32 and 64 bit OS version. Navigate in the download folder via terminal and write the command: tar -zvf arduino-1.5.4-linux32.tgz or tar -zvf arduino-1.5.4-linux64.tgz then move the folder in the preferred path mv arduino-1.5.4 < PREFERRED_PATH> 4.2.3. OSX Download and unzip the file, then move the App in Application folder. 4.3.
UDOO Starting manual (beta) Version 0.4 SAM3x8E can be programmed with the new sketch. UDOO also needs the driver to disable the internal shared serial port, used to upload the sketch. When the serial port is enabled on i.MX6then there will be three devices (i.MX6, SAM3x8E, external PC) on the same line. To avoid this conflict, the driver needs to set the i.MX6 serial port in INPUT MODE before the bossac uploader sends the command to the SAM3x8E. 4.4.
UDOO Starting manual (beta) Version 0.4 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.
UDOO Starting manual (beta) Version 0.4 5. Shared GPIOs Management 5.1. Introduction In this chapter it will be described how UDOO manages the signals available on external pin header, and the way to control all the GPIOs. On UDOO, Freescale i.MX and Atmel SAM3X8E share most of the GPIOs available on external pin headers. Each pin of both processors can be set in INPUT or OUTPUT mode. In INPUT mode, each processor read the electrical level of the signal.
UDOO Starting manual (beta) Version 0.4 5.3. i.MX6 GPI/O Management i.MX6 can handle external pins in many different ways. In default configuration, they can be accessed from user level through the standard Kernel Linux interface. Some of them can be configured for specific functionalities provided by i.MX6 architecture, like spi, i2c, i2s, audiomux, pwms output, UARTs and so on. In next sections it will be described the way to use such functionalities.
UDOO Starting manual (beta) Version 0.4 5.4. GPIOs Warnings When changing i.MX6 GPIOs directions, it is necessary to pay special attention. New direction must be compatible with SAM3x8E pinout configuration and/or with the load of the physical pin. http://www.udoo.
UDOO Starting manual (beta) Version 0.4 A. GPIOs can be used to build a communication channel between the two processors. By setting one processor in INPUT mode, and the other in OUTPUT mode, a one-way channel will be created. Via software, it is possible to switch the direction on both processors, in order to create a half-duplex communication channel. B. Two processors simultaneously can read data from external devices.
UDOO Starting manual (beta) Version 0.4 6. i.MX6 Pinmuxing 6.1. Introduction i.MX6 processor provides a dedicated controller for pin-muxing options, named IOMUX Controller(IOMUXC). The IOMUX Controller allows to the IC to share one pad between several functional blocks. The sharing is done by multiplexing the pad input/output signals. Every module requires a specific pad setting (such as pull up, keeper, and so on), and for each signal, there are up to 8 muxing options (called ALT modes).
UDOO Starting manual (beta) ● ● Version 0.4 an array containing the pins set as GPIOs that must be configured in output mode with low value an array containing the pins set as GPIOs that must be configured as inputs It is also possible to divide the pins in two sets: ● internal pins, used for communications between processors, to enable or disable external peripherals (ethernet, usb hub, audio...
UDOO Starting manual (beta) Version 0.4 Looking at the previous diagram, on the vertical axis there is the functionality provided by iMx6. On the horizontal axis are shown the pins used to implements each functionality. Be careful that some pins are used for different functionalities and only one at a time can be active for each of them. 6.3. Example As an example, consider the possibility of enabling another serial port (UART3) connected to imx6 through external Pins.
UDOO Starting manual (beta) Version 0.
UDOO Starting manual (beta) Version 0.4 The use of a virtual machine running a specific Linux Ubuntu distribution is highly recommended. . A virtual machine will create a dedicated, close environment that will ensure that a step-by-step procedure will guide the user until the end without problems. It also prevent risks ofsystem corruption or that compiling environment is not clean It also allows to be sure that used libraries are always the same, and updated.
UDOO Starting manual (beta) Version 0.4 Download Ubuntu disk image A 64 bit 10.04 Ubuntu distro to run this procedure is recommended. It can be downloaded from http://old-releases.ubuntu.com/releases/lucid/ Create a new VM running Ubuntu 10.04 Click on VMware Player icon. Choose “Create a New Virtual Machine” from menu on the right Choose “Installer disk image file (iso)” and select the downloaded ubuntu iso image.. Press Next button. Then choose your name, the username and the password.
UDOO Starting manual (beta) Version 0.4 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltproc uuid-dev liblzo2-dev http://www.udoo.
UDOO Starting manual (beta) Version 0.4 7.2. Establish serial debug connection with UDOO 7.2.1. Introduction This chapter will describe the way to install, configure and access he i.Mx6 Serial Debug Port. Obviously, it is possible to use all kind of tool to to access serial. This is just a basic guide for beginners. The access to debug serial port is very important on UDOO, since it is a very compact board but with a very high level of complexity inside.
UDOO Starting manual (beta) Version 0.4 Accept the license term and press the download button. Installation Follow the instructions of the installer. http://www.udoo.
UDOO Starting manual (beta) Version 0.4 Select the “Standard installation”, and press next. http://www.udoo.
UDOO Starting manual (beta) Version 0.4 http://www.udoo.
UDOO Starting manual (beta) Version 0.4 Press next until appears “Install” button, and press it. When installation has ended, open Tera Term. http://www.udoo.
UDOO Starting manual (beta) Version 0.4 Configuration Now it is necessary to configure properly the serial port in order to match i.Mx6 debug serial port. Open “Setup” menu and select “Setup port…” In the following picture are shown the correct parameters needed to talk with i.MX6 Debug Serial Port. Press “OK”. Usage Plug the USB cable to CN6 on UDOO and to an USB port of the host PC.
UDOO Starting manual (beta) Version 0.4 Press OK, then turn on UDOO board. 7.2.4.
UDOO Starting manual (beta) Version 0.4 Click on “Connect”. The picture above shows an example of output. http://www.udoo.
UDOO Starting manual (beta) Version 0.4 7.2.6. Final steps By turning on UDOO, a lot of output lines coming out from UDOOs Serial Debug port will be shown on the serial port terminal. About 30 seconds after, it should be possible to access Linux or Android shell. Android: root@android:/ # Linux Ubuntu: Ubuntu 11.10 imx6-qsdl ttymxc1 imx6-qsdl login: http://www.udoo.