OLIMEX OLinuXino-NANO, OLinuXino-MICRO, OLinuXino-MAXI, OLinuXino-MINI User Manual

OLinuXino-MINI
Open-source single-board Linux computer
USER’S MANUAL
Revision H, April 2015
Designed by OLIMEX Ltd, 2012
All boards produced by Olimex LTD are ROHS compliant
DISCLAIMER
© 2015 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product names may be trademarks of others and the rights belong to their respective owners.
The information in this document is provided in connection with Olimex products. No license, express or implied or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Olimex products.
The Hardware project is released under the Creative Commons Attribution-Share Alike 3.0 United States License. You may reproduce it for both your own personal use, and for commertial use. You will have to provide a link to the original creator of the project http://www.olimex.com on any documentation or website.
You may also modify the files, but you must then release them as well under the same terms. Credit can be attributed through a link to the creator website: http://www.olimex.com
The software is released under GPL.
It is possible that the pictures in this manual differ from the latest revision of the board.
The product described in this document is subject to continuous development and improvements. All particulars of the product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information or any incorrect use of the product.
This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes only and is not considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling the product must have electronics training and observe good engineering practice standards. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards.
Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is not exclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein.
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 46
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.3 Target market and purpose of the board ............................................................................... 7
1.4 Organization ............................................................................................................................. 7
CHAPTER 2 SETTING UP THE OLINUXINO BOARD ...................................... 8
2. Introduction to the chapter ....................................................................................................... 8
2.1 Electrostatic warning ............................................................................................................... 8
2.2 Requirements ........................................................................................................................... 8
2.3 Powering the board .................................................................................................................. 9
2.4 Prebuilt software ...................................................................................................................... 9
2.5 Using BitBurner ..................................................................................................................... 10
2.6 Building the Linux image ...................................................................................................... 11
2.7 How to blink the LED ............................................................................................................ 13
2.8 How setup the I2C, SPI, UART ............................................................................................ 14
2.9 First steps with iMX233-OLinuXino-MINI ........................................................................ 14
CHAPTER 3 OLINUXINO BOARD DESCRIPTION .......................................... 15
3. Introduction to the chapter ..................................................................................................... 15
3.1 Layout (top view) ................................................................................................................... 15
CHAPTER 4 THE iMX233 MICROCONTROLLER ........................................... 16
4. Introduction to the chapter ..................................................................................................... 16
4.1 The microcontroller ............................................................................................................... 16
CHAPTER 5 CONTROL CIRCUITY AND HARDWARE MODULES ............. 19
5. Introduction to the chapter ..................................................................................................... 19
5.1 Reset ........................................................................................................................................ 19
5.2 Clocks ...................................................................................................................................... 19
5.3 Power supply circuit .............................................................................................................. 20
CHAPTER 6 CONNECTORS AND PINOUT ....................................................... 22
6. Introduction to the chapter ..................................................................................................... 22
6.1 Debugging interfaces ............................................................................................................. 22
6.1.1 UART debug ........................................................................................................................ 23
6.1.2 SJTAG debug ...................................................................................................................... 23
6.1.3 Classic JTAG debug ............................................................................................................ 24
6.2 SD/MMC slot .......................................................................................................................... 25
6.3 UEXT module ......................................................................................................................... 26
Page 3 of 46
6.4 GPIO (General Purpose Input/Output) 40pin connector .................................................. 27
6.5 USB HOSTs ............................................................................................................................ 30
6.6 PWR Jack ............................................................................................................................... 30
6.7 Headphones and line-in connector ....................................................................................... 31
6.8 Battery connector ................................................................................................................... 32
6.9 Composite video connector ................................................................................................... 32
6.10 Boot mode positions ............................................................................................................. 33
6.11 Jumper description .............................................................................................................. 34
6.11.1 SCL_SW/SCL_HW and SDA_SW/SDA_HW ................................................................ 34
6.11.2 5V_E ................................................................................................................................... 34
6.11.3 3.3VIO_E and 3.3V_E jumpers ....................................................................................... 34
6.11.4 Boot mode selecting jumpers ........................................................................................... 34
6.12 Additional hardware components ...................................................................................... 35
6.13 Accessories ............................................................................................................................ 35
6.13.1 USB-SERIAL-CABLE-F .................................................................................................. 35
CHAPTER 7 BLOCK DIAGRAM AND MEMORY ............................................. 36
7. Introduction to the chapter ..................................................................................................... 36
7.1 Memory addresses ................................................................................................................. 36
7.2 Processor block diagram ....................................................................................................... 37
7.3 Physical memory map ........................................................................................................... 38
CHAPTER 8 SCHEMATICS ................................................................................... 39
8. Introduction to the chapter ..................................................................................................... 39
8.1 Eagle schematic ...................................................................................................................... 39
8.2 Physical dimensions ............................................................................................................... 41
CHAPTER 9 REVISION HISTORY AND SUPPORT .......................................... 42
9. Introduction to the chapter ..................................................................................................... 42
9.1 Document revision ................................................................................................................. 42
9.2 Board revision ........................................................................................................................ 44
9.3 Useful web links and purchase codes ................................................................................... 45
9.4 Product support ..................................................................................................................... 46
Page 4 of 46
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 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
3 USB High Speed Hosts
Stereo Audio Input
Stereo Headphones Audio Output
Two Buttons
UEXT connector for connection of different peripherial modules
40 pin GPIO for connection to external hardware
Board is in the proper shape and dimensions to fit inside Pactec JM42 plastic box
http://www.pactecenclosures.com/pdfs/drw_JM-42.pdf
Power supply input 6-16VDC
optional WIFI RTL8188CU module
PCB dimensions: 3.70'' x 2.15'' (94.0mm x 54.6mm)
Nominal dimensions: 3.70'' x 2.65'' (94.0mm x 67.3mm)
Page 5 of 46
1.2 The OLinuXino family
Table of comparison
OLinuXino-NANO OLinuXino-MICRO OLinuXino-MINI OLinuXino-MAXI
Processor
iMX233 @ 454Mhz iMX233 @ 454Mhz iMX233 @ 454Mhz iMX233 @ 454Mhz
Ram [MB]
64 64 64 64
# USB hosts
1 1 3 2
100/150 Mbit Ethernet*
No/WIFI option**
No/WIFI option** No/WIFI
option***
Yes/WIFI option**
GPIO connector
40pins 60pins 40pins 40pins
# of buttons
3 3 2 2
Reset button
Yes Yes Yes Yes
DC power supply
5V 5V 6V-16V 6V-16V
Dimensions
3.00'' x 0.80'' 3.40'' x 1.70'' 3.70'' x 2.65'' 3.70'' x 2.65''
Breadboarding
Yes Yes No No
Audio IN connector
No No Yes Yes
Audio OUT connector
No No Yes Yes
UEXT connector
Yes No Yes Yes
Power jack
No**** Yes Yes Yes
VGA connector
No Yes 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.
Page 6 of 46
1.3 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. The very well documented Freescale iMX233 is another solid feature.
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.4 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 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 46
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.2 Requirements
In order to set up the OLinuXino optimally, the following items are required:
- 6V to 16V source of power with 1A maximum amperage.
- SJTAG interface programmer
- USB keyboard
- Monitor with composite interface or Personal Computer + USB-SERIAL-CABLE-F
- 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) SY0612E – power supply adapter 12V/0.5A for iMX233-OLinuXino-MINI
Page 8 of 46
2.3 Powering the board
The board is powered either via the PWR jack or via a battery. It should be supplied from a 6V to 16V source with maximum current of 1A from the power jack.
All measures below are taken at 10V.
If measuring the current consumption it should be around 0.06A before initializing all the peripherals. The consumption raises to 0.12A without WIFI and USB hosts initialized and Linux running. The consumption goes up 0.15A with the Linux running when WIFI and both USB hosts initialized.
If you have a standard USB flash drive attached to a USB host, Linux and WIFI running the typical consumption is around 0.20A.
When powered by the typical 3.7V battery the WIFI and USB-hosts will be disabled if you use external 3.3 DC-DC (not mounted by default).
For the European customers we sell a power supply adapter 12V/0.5A – SY0612E.
2.4 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 write it yourself.
When we program the boards we change the default position of the following HW_OCOTP_ROM0 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.
Page 9 of 46
2.5 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 make a custom cable that connects a USB with the 3 pin holes found at the bottom of the board named “GND”, “DP”, “DM” (check the picture below for a better view how the three wires must be connected.
After soldering the three wires you can place a marker on each of them or use colored wires to be able to distinguish them. You can also use some gel to keep them tight on the USB connector. On the opposite side of the cables you might place 50mil (1.27mm) male connector following the order of the signals. Please also restrain from using wires longer than 20 cm since that might make the connection unreliable.
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. If you check the fuses we have already burned the application should show an image as the one on the next page.
Page 10 of 46
2.6 Building the 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
Page 11 of 46
3) Created directory for the project and download the BSP source from the git repository:
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
Page 12 of 46
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.
2.7 How to blink the LED
In this 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:
Page 13 of 46
./gpio
The LED should start blinking with 0.5Hz.
2.8 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
2.9 First steps with iMX233-OLinuXino-MINI
A very good customer-made web page on “First steps with iMX233-OlinuXino-MINI”:
http://azug.minpet.unibas.ch/~lukas/bricol/olinuxino-imx233/index.html
Page 14 of 46
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 differ from the names used to describe them. For the actual names check the OLinuXino board itself.
3.1 Layout (top view)
Page 15 of 46
Loading...
+ 32 hidden pages