iMX233-OLinuXino building Kernel/RootFS with OpenEmbedded

Image

iMX233-OLinuXino BSP layer for OpenEmbedded is implemented by Radoslav Kolev http://tech.groups.yahoo.com/group/olinuxino/message/401

what does this means? now we can cross-compile trouble free thousands of packages which to include in our linux image:  including GTK+, Qt, the X Windows system,
Mono, Java, and about anything else you might ever need. The only limit if our memory footprint of 64MB, so generally we can include anything which runs in such memory.

iMX233 battery power supply tests

Image

Once we solved all battery power supply issues on iMX233-OLinuXino-Maxi today we tested how it works with our Li-Po battery http://www.olimex.com/dev/battery-lipo1400mah.html

We got very interesting results!

The LAN9512 USB hub + Ethernet takes about 250mA when used, total consumption is around 320 mA when all peripherials are used and Ethernet is working with the 1400mA battery this means around 4 hours of continuous operation on backup battery for iMX233-OLinuXino-Maxi.

Then we disconnected the LAN9512 to see how power hungry will be iMX233-OLinuXino-Mini and whoa during the boot the consumption is around 120mA, then at linux console working with the board the power consumption drop to 75mA! this means about 18 hours work on battery! Then we put the board in suspend mode with the PWR/REC button in this mode the processor is IDLE and just the RAM is refreshing, and the power went down to 30mA.

Now I’m really puzzled does 454Mhz ARM926J processor consumes only 45mA when run at full speed?

On Linux console running “top” show CPU use 3% when you do simple shell commands. So let’s make the CPU a bit busy with:

$ cat /dev/urandom > /dev/null &

$ top

Now we see CPU is used at 100% and the power consumption rise from 75 to 120mA! Ahaaa so Linux kernel does some kind of flexible power management depend on the CPU load, so the power consumption vary. Anyway if we assume the DDR still takes about 30mA the power consumtion of just 45-90mA of 454Mhz ARM9 processor is remarkable (well let’s not forget that iMX233 was designed with portable media player in mind so working on battery was design goal for the engineers who created it, well done!).

Conclusions:

1. on battery with USB hubs ON, Ethernet ON etc. the total power consumption is about 1.35W (4.2V x 0.32A)

2. without LAN9512 USB hubs and Ethernet the total power vary from 0.3W to 0.5W depend on CPU load

3. In suspend mode OLinuXino needs just 0.1W

Tagged , , , , , , , ,

BUILDING OLinuXino LINUX KERNEL WITH LTIB

Image

I was trying to build my first Linux kernel following the instructions Raivis posted on OLinuXino Yahoo group http://tech.groups.yahoo.com/group/olinuxino/message/235 , but being total linux noob there were always issues of this or that package missing during the build process. My OS is Ubuntu 11.10 32bit and there were lot of packages missing.

Trygve made some more patches and posted them on Github which bring me much further http://tech.groups.yahoo.com/group/olinuxino/message/341 but still the kernel build was stopping at sparse compilation complaining for some files, then I found http://imxcommunity.org/forum/topics/ltib-on-11-10-host and after downloading VJ package and executing $ ./sparse.sh ~/opt/ltib the necassary paths were set and LTIB finally built successfully :)

Now have to read the documentation :) and try experimenting with tweaking the kernel and experiment with building images, this is not lighting fast process and takes about 45 minutes.

 

Tagged , , ,

iMX233-OLinuXino-Micro – 76×42 mm Single Board Linux Computer!

Image

Today we made the preliminary schematic of iMX233-OLinuXino-MICRO, the smallest OLinuXino single board computer.

It will be 2 layers design in very compact form, on the left side you see the TV-OUT + USB-host where you can connect Keyboard, Mouse or WIFI dongle, on the right side you see the SD-card and miniUSB which is used as power supply 5V connector.

My rough estimations are that the BOM of this board will be around EUR 12 even for small quantities like 100 pcs, our plans are to release assembled and tested module for EUR 19.95.

Two 0.1″ step 30 pin rows connectors have all iMX233 signals and you can use breadboard like BREADBOARD-1 to breadboard your next LINUX project at home :)

Specifications remain iMX233 454Mhz ARM9 processor, 64MB RAM.

The CAD files are on the usual place in GitHub:  https://github.com/OLIMEX/OLINUXINO

OLinuXino board discussion group is at: http://tech.groups.yahoo.com/group/olinuxino/

Tagged , , , , ,

STM32-H407 PROTOTYPES ARE READY

Image

STM32-H407 is our new board with STM32F407ZGT6 168Mhz Cortex M4 microcontroller with 1MB of Flash, 192KB RAM.

This is OSHW design and once we validate the design the CAD files will be uploaded on GitHub.

STM32-F407 board have:
- Input DCDC power supply which allow operation from 6-16VDC source
- USB-OT
- USB host
- micro SD card
- Reset and User buttons
- Arduino platform
- UEXT connector
- JTAG connector
- 4 full 32-bit Ports with the external memory bus for add-on modules

Here you can see STM32-H407 loaded with SHIELD-EKG/EMG:

Image

After the prototype validation we will move this board for production and it will be available around end of May. The preliminary target release price is EUR 29.95

Tagged , , , , , , , ,

TMS320-XDS100-V3 PROTOTYPES ARE READY

Image

XDS100V3 is the newer and faster low cost JTAG for Code Composer Studio. You can learn more about it from http://processors.wiki.ti.com/index.php/XDS100#XDS100v3_Features

It’s IEEE 1149.7 capable USB emulator and it supports ARM Single Wire Output (SWO), having FPGA on it allow JTAG clocks up to 25Mhz.

The supported devices with CCS 5.1.x are:

TMS320C28xx, TMS320C54xx, TMS320C55xx, TMS320C674x, TMS320C64x+, TMS320C66x, ARM9, ARM Cortex A9, ARM Cortex A8, ARM Cortex M3, ARM Cortex R4

The production is scheduled and this device will be in stock in May, the price will remain as on TMS320-XDS100-V2 which will be replaced i.e. EUR 54.95

Tagged , , , ,

iMX233-OLinuXino-Mini blank PCB prototypes ready

Image

The OSHW iMX233-OLinuXino-Maxi was designed on 4 layers and everything worked from the first prototype, so we moved forward and re-routed the iMX233-OLinuXino-Mini version which have no Ethernet on 2 layer to unleash the hobby designs with iMX233.

Do you see the weird drill slots around the mount holes? This briliant ides was proposed on Yahoo Groups OLinuXino forum, we made the board to fit in low cost plastic enclosure, but someone suggested that many would not need plastic box if they want to put this board in industrial enclosure, so mounting holes are necessary. The Maxi and Mini boards are so dense populated that you can see there is not much space for mount holes, then somebody proposed to make this drill slot design which allow mounting but if one want to place the board in box can simple bread them away and put the board in the box. This just show how viable is the open source idea, many heads think better and find smarter solutions than one :)

Now have to test if the DDR RAM will work reliable at full speed with 2 Layers.

Image

iMX233-OLinuXino-Mini is OHSW as well and the CAD files will be available on GitHub once we debug and make sure everything works as expected.

 

Tagged , , , , ,

PASCAL is STILL ALIVE :-)

Image

For those who remember with sentiment the old days of Turbo Pascal there is one good news.

Although Pascal lost the battle as programming language of choice mostly because of the Linux fame, Prof. NIklaus Wirth continued the language development with the project Oberon.

Some of Prof. Worth books which were used by generation for teaching of structural programming are now available for free download: Algorithms + Data Structures = Programs, Theory and Techniques of Compiler Construction.

CFB Software has released Astrobe Oberon language development IDE for LPC Cortex M3 family, so you can now program your LPCxxx microcontrollers in Pascal-like language.

These devices are supported for the moment: LPC1343 / 1313 / 1759 / 1758 / 1756 / 1754 / 1752 / 1751 / 1769 / 1768 / 1767 / 1766 / 1765 / 1764 / 1763.

And there is BSP for Olimex LPC-P1343 and LPC-1766-STK

On this video you can see program written on Oberon working on LPC2378-STK so Astobe Oberon supports ARM7 too.

Here is the Oberon language definition by Niklas Wirth.

Tagged , , , , , ,

Cortex A8 in TQFP? sure Allwinner A13

Image

Allwinner is Chinese SoC manufacturer, they released Allwinner A10 processor end of last year and wiped out the competition.

A10 is Cortex A8 processor running on 1.2Ghz but could be overclock up to 1.5Ghz.
The features are impessive: support for up to 1GB RAM, USB2.0 OTG, USB2.0 HOST x2, HDMI1.3/1.4., LCD, CVBS-OUT, VGA-OUT, SATA,Line-In, Headphone, 10/100M Ethernet, Camera Sensor Interface x2, support for SDIO WIFI, GPS, Gyroscope, Light Sensor, Bluetooth, Compass.
Can boot from NAND FLASH, SD/MMC Card, USB

Image

as you can see A10 is highly integrated chip and only needs one power supply managment IC AXP209 and Ethernet PHY to make computer.Soon after the launch it wiped all competition and if you now search ebay you will see that it dominates the 7″ tablet PCs as price/performance ratio.

A10 is around $7 for 5 numbers purchase and around $12-14 for smaller quantities.

In April 2012 Allwinner released the A13 strip down version of A10 which is same but without SATA interface and HDMI, targeting purely the Tablet market. The new chip is $5 if you by any chance decide to buy one million chips from Allwinner and can be purchased for $10 in smaller quantities.

You can learn a lot for A10 from http://rhombus-tech.net/ web site (where I first learned for A10 from).

The best of all is that A13 comes in … eLQFP176 package as you can see on the picture above. This is the first Cortex A8 device running at 1Ghz in this package. Which makes it perfect for next …you guess right OLinuXino :)

So I’m waiting first samples of A13 to be on my desk next week and Allwinner promised to send me more info for A13 in May so we can start the new A13-OLinuXino board development.

The best of all is as A13 is very highly integrated we will be able to release the new 1GHz board in the same price around EUR 30, but this time with 256 or 512MB of RAM and 1GHz processor.

What is the trade off with A13? There are few actually:

1. A13 is not in industrial temperature range, which limits it use to 0-60C applications
2. A13 have no ANY official documentation, you can read more for the Chinese SoC business model at: http://lists.phcomp.co.uk/pipermail/arm-netbook/2012-March/002881.html
in short they sell 10 millions of chips per month and do not care than they can sell 1000 more or less if they release proper documentation

So after all iMX233-OLinuXino will be still live and kicking even after the launch of the big brother with A13 in applications where -25+85C temperature range and noise immunity is necessary. Also the absence of documentation with A13 means there will be no linux support for the handy GPIOs, ADCs, SPI, I2C, etc.  like you have with iMX233-OLinuXino.

A13-OLinuXino will be more or less higher performance RPi-like toy suitable for home use, 3D graphics and Flash Games. You can play or write code with A13-OLinuXino as you do on your desktop PC and you will have Android 4.0 and Debian Linux images and sources. A13 actually will be like desktop computer in just smaller package.

As you can see on http://lists.phcomp.co.uk/pipermail/arm-netbook/ forum there is active group of developers who work on A10 up to date linux kernel and drivers. SO things may change in the future and proper documentation and complete linux support for A10 / A13 to be available.

The board preliminary specifications and A13 brief info is on our web: www.olimex.com/dev/a13-olinuxino.html and of course we are looking forward for your comments and suggestions as always. We got very valuable advises when developed iMX233 board and we took most of them into consideration, we’ll do the same with A13.

Tagged , , , , , , ,

Blinking LED with Linux or Hello World with iMX233-OLINUXINO

Image

Today I did my first Linux shell script with iMX233-OLinuXino. I used to use Windows for many years, then recently moved to Ubuntu but never had to deal with shell scripting till now.

We should make GPIO testing bench to do functional test of the iMX233-OLinuXino GPIO ports, so I had to learn some new stuff.

Raivis installed so called SYSFS package in the OLinuXino Linux kernel which allow you to access the GPIOs from the linux shell so I had to read some more about Linux shell scripting to may make the board GPIO tester.

After reading about SYSFS it seems pretty easy to manipulate the GPIOs from the shell.

To make GPIO1 output and set in “1″ for instance this should be executed:

echo out > /sys/class/gpio/gpio1/direction
echo 1 > /sys/class/gpio/gpio1/value

and to make GPIO2 as input and read it could be done with this script:

echo in > /sys/class/gpio/gpio2/direction
echo cat /sys/class/gpio/gpio2/value

echo will return 0 or 1 depend on GPIO2 state

All gpios can be seen with

$ ls /sys/class/gpio

So my first thing was to attach LED to PIN9 (CONNECTOR.PIN19) which correspondents to gpio0 in Linux (yes I know it’s confusing, there is one cross table and Linux kernel assign the numbers not exactly as per our schematic :-o )

Then run VI and created my first linux script:

echo out > /sys/class/gpio/gpio0/direction
while [ 1 -eq 1 ]
do
echo 1 > /sys/class/gpio/gpio0/value
sleep 1
echo 0 > /sys/class/gpio/gpio0/value
sleep 1
done

saved it as “gpio” and made it executable with

$chmod +x gpio

then executed the script with:

$./gpio

as expected the LED start blinking with 1Hz which you can see on the video: http://youtu.be/4FvNwmmj_X8

Tagged , , , ,
Follow

Get every new post delivered to your Inbox.

Join 34 other followers