Olimex IMX233-OLINUXINO-MICRO User guide

OLinuXino-MICRO
Open-source single-board Linux computer
USER’S MANUAL
Revision K, March 2013
Designed by OLIMEX Ltd, 2012
All boards produced by Olimex LTD are ROHS compliant
OLIMEX© 2012 OLinuXino-MICRO user's manual

DISCLAIMER

The software is released under GPL.
It is possible that the pictures in this manual differ from the latest revision of the board.
THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS USED TO CREATE OLINUXINO. THEY ARE CONSIDERED SUITABLE ONLY FOR OLINUXINO.
Page 2 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual
Table of Contents
DISCLAIMER ............................................................................................................. 2
CHAPTER 1: OVERVIEW ........................................................................................ 5
1. Introduction to the chapter ....................................................................................................... 5
1.1 Features ..................................................................................................................................... 5
1.2 The OLinuXino family ............................................................................................................ 6
1.2 Target market and purpose of the board ............................................................................... 6
1.3 Organization ............................................................................................................................. 7
CHAPTER 2: SETTING UP THE OLINUXINO BOARD ..................................... 8
2. Introduction to the chapter ....................................................................................................... 8
2.1 Electrostatic warning ............................................................................................................... 8
2.3 Requirements ........................................................................................................................... 8
2.4 Powering the board .................................................................................................................. 9
2.5 Prebuilt software ...................................................................................................................... 9
2.6 Using BitBurner ..................................................................................................................... 10
2.7 Building the Debian Linux image ......................................................................................... 11
2.8 How to blink the LED ............................................................................................................ 13
2.9 How to setup Arch Linux distribution ................................................................................. 13
2.10 How setup the I2C, SPI, UART .......................................................................................... 14
CHAPTER 3: OLINUXINO BOARD DESCRIPTION ......................................... 15
3. Introduction to the chapter ..................................................................................................... 15
3.1 Layout (top view) ................................................................................................................... 16
3.2 Layout (bottom view) ............................................................................................................. 17
CHAPTER 4: THE iMX233 MICROCONTROLLER ......................................... 18
4. Introduction to the chapter ..................................................................................................... 18
4.1 The microcontroller ............................................................................................................... 18
CHAPTER 5: CONTROL CIRCUITY ................................................................... 21
5. Introduction to the chapter ..................................................................................................... 21
5.1 Reset ........................................................................................................................................ 21
5.2 Clock ....................................................................................................................................... 21
5.3 Power supply circuit .............................................................................................................. 21
CHAPTER 6: CONNECTORS AND PINOUT ...................................................... 23
6. Introduction to the chapter ..................................................................................................... 23
6.1 Debugging interfaces ............................................................................................................. 23
6.1.1 UART debug ........................................................................................................................ 24
6.1.2 SJTAG debug ...................................................................................................................... 24
6.1.3 Classic JTAG debug ............................................................................................................ 25
Page 3 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual
6.2 SD/MMC slot .......................................................................................................................... 27
6.3 UEXT connector ..................................................................................................................... 28
6.4 CON1 and CON2 pads .......................................................................................................... 29
6.5 USB HOST .............................................................................................................................. 33
6.6 PWR Jack ............................................................................................................................... 33
6.7 Headphones and line-in connector ....................................................................................... 34
6.8 Composite video connector ................................................................................................... 34
6.9 Boot mode positions ............................................................................................................... 34
6.10 Jumper description .............................................................................................................. 35
6.10.1 SCL_SW/SCL_HW and SDA_SW/SDA_HW ................................................................ 35
6.10.2 5V_E ................................................................................................................................... 35
6.10.3 3.3V_E jumper .................................................................................................................. 35
6.10.4 Boot mode selecting jumpers ........................................................................................... 35
6.11 Additional hardware components ....................................................................................... 35
6.12 Accessories ............................................................................................................................ 36
6.12.1 USB-SERIAL-CABLE-F .................................................................................................. 36
CHAPTER 7: BLOCK DIAGRAM AND MEMORY ........................................... 37
7. Introduction to the chapter ..................................................................................................... 37
7.1 Memory addresses ................................................................................................................. 37
7.2 Processor block diagram ....................................................................................................... 38
7.3 Physical memory map ........................................................................................................... 39
CHAPTER 8: SCHEMATICS .................................................................................. 40
8. Introduction to the chapter ..................................................................................................... 40
8.1 Eagle schematic ...................................................................................................................... 40
8.2 Physical dimensions ............................................................................................................... 42
CHAPTER 9: REVISION HISTORY AND SUPPORT ........................................ 43
9. Introduction to the chapter ..................................................................................................... 43
9.1 Document revision ................................................................................................................. 43
9.2 Board revision ........................................................................................................................ 45
9.3 Useful web links and purchase codes ................................................................................... 46
9.3 Product support ..................................................................................................................... 47
Page 4 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

CHAPTER 1: OVERVIEW

1. Introduction to the chapter

Thank you for choosing the OLinuXino single board computer from Olimex! This document provides a user’s guide for the Olimex OLinuXino-MICRO board. As an overview, this chapter gives the scope of this document and lists the board’s features. The differences between the members of the OLinuXino family are mentioned. The document’s organization is then detailed.
The OLinuXino development board enables code development of applications running on the microcontroller i.MX233, manufactured by FreeScale Semiconductor.
OLinuXino is an open-source, open-hardware project and all documentation is available to the customer.

1.1 Features

iMX233 ARM926J processor at 454Mhz
64 MB RAM
SD-card connector for booting the Linux image
TV PAL/NTSC video output
1 USB High Speed Host
three Buttons
2x30 pin GPIO for connection of other hardware
PCB dimensions: 3.00'' x 1.70'' (76.2mm x 43.2mm)
Nominal dimensions: 3.40'' x 1.70'' (86.4mm x 43.2mm)
Page 5 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

1.2 The OLinuXino family

Table of comparison
OLinuXino-MICRO OLinuXino-MINI OLinuXino-MAXI
Processor iMX233 @ 454Mhz iMX233 @ 454Mhz iMX233 @ 454Mhz
Ram [MB] 64 64 64
# USB hosts 1 3 2
100/150 Mbit Ethernet*
No/WIFI option** No/WIFI option*** Yes/WIFI option**
GPIO connector 60pins 40pins 40pins
# Buttons 3 2 2
Reset button Yes Yes Yes
DC power supply 5V 6V-16V 6V-16V
Dimensions 3.40'' x 1.70'' 3.70'' x 2.65'' 3.70'' x 2.65''
Breadboarding Yes No No
Audio IN connector No Yes Yes
Audio OUT connector No Yes Yes
UEXT connector No Yes Yes
Built-in USB hub No Yes Yes
* 100Mbit Ethernet for the wired network of OLinuXino-MAXI. 150Mbit for the WIFI following
811.02n standard.
** All three boards have the option to work with MOD-WIFI_RTL8188, which is USB WIFI modem with RTL8188CU chip and can be purchased separately. MOD-WIFI_RTL8188 can be connected to any of the OLinuXino boards via the USB.
*** OLinuXino-MINI has additional option of having RTL8188CU hardware mounted! If you wish RTL8188CU embedded in the device you should purchase OLinuXino-MINI-WIFI. Choosing the embedded WIFI option will leave your USB-HOSTs available for use.

1.2 Target market and purpose of the board

The boards from the OLinuXino family are ready to use, easy to setup and are suitable for embedded programming enthusiasts, Linux hobbyists, gadget fans and also professionals (since its low cost makes it very good solution for application orientated embedded systems). The main usage of the board is software embedded development without the urge of understanding perfectly the hardware.
The strong points of the boards are the processor speed, the mobility of the board and the low price.
Page 6 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual
Customers have full access to the technical documentation of the board. The software is released under General Purpose License and the board is considered open-hardware.

1.3 Organization

Each section in this document covers a separate topic, organized as follow:
Chapter 1 is an overview of the board usage and features Chapter 2 provides a guide for quickly setting up the board and software notes Chapter 3 contains the general board diagram and layout Chapter 4 describes the component that is the heart of the board: the iMX233
microcontroller
Chapter 5 is an explanation of the control circuitry associated with the microcontroller to
reset. Also shows the clocks on the board
Chapter 6 covers the connector pinout, peripherals and jumper description Chapter 7 shows the memory map Chapter 8 provides the schematics Chapter 9 contains the revision history, useful links and support information
Page 7 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

CHAPTER 2: SETTING UP THE OLINUXINO BOARD

2. Introduction to the chapter

This section helps you set up the OLinuXino development board for the first time. Please consider first the electrostatic warning to avoid damaging the board, then discover the hardware and software required to operate the board.
The procedure to power up the board is given, and a description of the default board behavior is detailed.

2.1 Electrostatic warning

OLinuXino is shipped in a protective anti-static package. The board must not be exposed to high electrostatic potentials. A grounding strap or similar protective device should be worn when handling the board. Avoid touching the component pins or any other metallic element.

2.3 Requirements

In order to set up the OLinuXino-MICRO optimally, the following items are required:
- 5V source of power with 1A maximum amperage.
- SJTAG interface programmer
- USB hub (USB splitter)
- USB keyboard
- Monitor with composite interface or Personal Computer + USB-SERIAL-CABLE
- SD card with Linux image
Note that the board arrives without SD card or Linux image. You can purchase a card with Linux separately. It is recommended that the user has basic Linux experience.
Some of the suggested items can be purchased by Olimex, for instance:
iMX233-OLinuXino-SD - SD card with the Linux image USB-SERIAL-CABLE-F - USB serial console cable female (check “6.1.1 UART Debug” for info
how to connect it to the board) SY0605E - power supply adapter 5V/1A for iMX233-OLinuXino-MICRO
Page 8 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

2.4 Powering the board

The board is powered either via the PWR jack or via a battery. It should be supplied by 5V source with maximum current of 1A from the power jack.
All measures below are taken at 5V.
If measuring the current consumption it should be around 0.06A before initializing all the peripherals.
IMPORTANT! We discovered a situation which might leave some of the SD cards (iMX233­OLinuXino-SD) in unrecoverable state when powering OLinuXino-MICRO. The problem might occur if two specific conditions are met simultaneously:
1)Plugged iMX233-OLinuXino-SD micro SD card with holographic sticker on its back side (some of the cards we have distributed are from a brand that places holographic sticker on their backs, the other half lack such a sticker)
2)Plugged USB-SERIAL-CABLE-F at the moment when powering the board
If you happen to have received SD card with holographic sticker on its back side and you use it with OLinuXino-MICRO and you plug USB-SERIAL-CABLE and then you power the board there is a chance of malfunction of the SD card.
There are two possible workarounds to protect the SD card. The first one is simpler and the second one requires some soldering experience.
Workaround 1: First insert the iMX233-OLinuXino-SD card and then power the board (and if powering the board from a battery also press the PWR button). Wait 4-5 seconds and then connect the USB-SERIAL-CABLE-F. After the initial power-up it is safe to use the reset button.
Workaround 2: You will need a Shottky diode. The Shottky should be soldered on the USB­SERIAL-CABLE-F TX line/wire (RED cable) with anode towards the board.
When you power the board by battery you have to press the PWR_BUT to start the board. If you start Linux and it is already running no matter which powering method you use (PWR_JACK or BAT) pressing the PWR_BUT will put the Linux in power-save mode.
For the European customers we sell a power supply adapter 5V/1A – SY0605E.

2.5 Prebuilt software

Note that the boards arrive without Linux or SD card. The Linux image can be purchased separately on a SD card or you can built and adjust it yourself.
When we program the boards we change the default position of the following HW_OCOTP_ROM0
Page 9 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual
fuses of the processor:
SD_MBR_BOOT(3) - Blown SD_POWER_GATE_GPIO(21:20) – 10-PWM3
For burning the fuse position we use the BitBurner software. This operation is discussed in details before. Proceed with great caution when burning fuses since it is irreversible operation.
The first batches of the board and the SD-card used the Debian Linux image. After that we switched over to ArchLinux for the ease of the package manager. Instructions how to build the ArchLinux can be found at the gitHub address of OLinuXino.

2.6 Using BitBurner

IMPORTANT! MODIFYING THE FUSES IS IRREVERSIBLE PROCESS! BURNING THE WRONG FUSES MIGHT DAMAGE OLINUXINO IRREVERSIBLY! BURNING WRONG FUSES MIGHT CAUSE BOOT PROBLEMS!
BURN FUSES AT OWN RISK!
The bit burning is done via the USB of the computer connected to the OLINUXINO board and the BitBurner software. To be able to burn the fuses you will need to connect a USB-A to USB-A cable between a computer and the board's USB-HOST connector.
Download BitBurner from https://www.olimex.com/dev/OLINUXINO/iMX233-
OLINUXINO/BitBurner.v1.0.4.6.zip. Extract it and start the .exe. If you connect everything you
should see and choose HID-compilant device from the “Select device” drop-down menu.
Page 10 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

2.7 Building the Debian Linux image

Note that building the Linux image from scratch is a time-consuming task. Even with powerful machine and fast internet connection it might take few hours compiling. Some Linux distributions might lack the tools required to compile/build/execute scripts/download from repository – how to get those is not discussed below.
The Linux image is created and downloaded from https://github.com/Freescale/fsl-community-bsp-
platform. For the test here we used Debian 6.0 with GNOME visual libraries. The steps we did:
1) From the terminal created folder “bin” in home folder:
user@dist$: mkdir bin user@dist$: cd bin
Add bin directory to PATH in order to do the next steps easier. Else navigate to the right folders.
2) Installed `repo` utility needed for the bitbake file fetching from the repository:
user@dist$: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo user@dist$: chmod a+x ~/bin/repo
3) Created directory for the project and download the BSP source from the git repository:
Page 11 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual
user@dist$: mkdir fsl-community-bsp user@dist$: cd fsl-community-bsp
~/fsl-community-bsp$: repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b
denzil ~/fsl-community-bsp$: repo sync
4) You can change the settings for the build if you want at fsl-community-bsp/build/conf/local.conf. I changed the “machine” name to “imx233-olinuxino-maxi”. For Linux kernel configurations and settings you can do (of course you can use also the default settings):
~/fsl-community-bsp$:. ./setup-environment build ~/fsl-community-bsp/build$:bitbake linux-imx -c menuconfig
Check the image below:
5) Now to start building the image:
~fsl-community-bsp$:. ./setup-environment build
~fsl-community-bsp/build $: bitbake core-image-minimal
Note: on different Linux distributions you might have different tools installed and you will probably need to install dependencies needed for the compile/build scripts. Here are some (but not all) of the mandatory ones: G++; diffstat; texi2html; chrpath; gawk; texinfo; some git client.
To ensure you have the latest version supported with all the updates visit
https://github.com/OLIMEX/OLINUXINO and https://github.com/Freescale/fsl-community-bsp­platform.
Page 12 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

2.8 How to blink the LED

In this sub-chapter you will find a way to achieve the most basic task in electronics – the “Hello World” of electronics - blinking the LED.
First we set the pin responsible for the LED as an output and we can set its value manually to high or low position – make it blink manually. The LED mounted on the board uses GPIO65. You can use external diode instead of the one mounted - you have to look at the table “The Linux implementation of pins” in the hardware section to get the correct linux name for the GPIO pin.
echo out > /sys/class/gpio/gpio65/direction echo 1 > /sys/class/gpio/gpio65/value
If you want to set the blink off you should change the value on the second line to:
echo 0 > /sys/class/gpio/gpio65/value
To show the info for all GPIOs:
ls /sys/class/gpio
To make it turn on – turn off automatically (e.g. blink) we use the text redactor VI to write the Linux script:
echo out > /sys/class/gpio/gpio65/direction while true do echo 1 > /sys/class/gpio/gpio65/value sleep 1 echo 0 > /sys/class/gpio/gpio65/value sleep 1 done
We save it as as “gpio” and we make it executable with
chmod +x gpio
then we execut the script with:
./gpio
The LED should start blinking with 0.5Hz.

2.9 How to setup Arch Linux distribution

You can refer to the manual of OLinuXino-MAXI for general build instructions but mind we haven't tested the algorithm listed there on the MICRO. There shouldn't be significant differences. If you meet such head over to the OLIMEX forums.
Page 13 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

2.10 How setup the I2C, SPI, UART

There are number of examples with our extension module board to achieve those connections on the UEXT. The examples might be used as an example for I2C, SPI or UART communication. You can find them at our GitHub page:
https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/iMX233
Page 14 of 47
OLIMEX© 2012 OLinuXino-MICRO user's manual

CHAPTER 3: OLINUXINO BOARD DESCRIPTION

3. Introduction to the chapter

Here you get acquainted with the main parts of the board. Note the names used on the board might differ from the names used below to describe them. For the actual names check the OLinuXino board itself.
The top and the bottom view can be viewed on the next two pages of the manual. There is explanation of the different peripherals in the following chapters of the manual.
Page 15 of 47
Loading...
+ 32 hidden pages