Welcome to Embedded System World

Productive Knowledgeable Innovative

Tuesday, June 8, 2010

Convert

convert(1) convert(1)

NAME
convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on,
flip, join, re-sample, and much more.

SYNOPSISലിനക്സ്
convert input-file [options] output-file

OVERVIEW
The convert program is a member of the ImageMagick(1) suite of tools. Use it to convert between image for-
mats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much
more.

For more information about the convert command, point your browser to file:///usr/share/doc/ImageMag-
ick-6.3.5/www/convert.html or http://www.imagemagick.org/script/convert.php.

DESCRIPTION
Image Settings:
-adjoin join images into a single multi-image file
-affine matrix affine transform matrix
-antialias remove pixel-aliasing
-authenticate value decrypt image with this password
-background color background color
-bias value add bias when convolving an image
-black-point-compensation
use black point compensation
-blue-primary point chromaticity blue primary point
-bordercolor color border color
-caption string assign a caption to an image
-channel type apply option to select image channels
-colors value preferred number of colors in the image
-colorspace type alternate image colorspace
-comment string annotate image with comment
-compose operator set image composite operator
-compress type type of pixel compression when writing the image
-debug events display copious debugging information
-define format:option
define one or more image format options
:

Monday, June 7, 2010

LTP


The Linux™ Test Project is a joint project started by SGI™ and maintained by IBM®, that has a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The LTP testsuite contains a collection of tools for testing the Linux kernel and related features.
The OSDL™, Group Bull®, and Wipro Technologies have been key contributors and those interested are encouraged to join the project.
Refer to the "LTP HowTo" and "Inside LTP Testsuite" for documentation on the test suite, as well as ways to do anonymous downloads.

Contribution to LTP from 1st December, 2007 onwards would require Developer's Certificate of Origin ("sign-off") process.. Please see "DCO.txt" for more information. LTP is subscription only list. You need to subscribe to LTP mailing list here to see the efforts in Linux Testing, and be able to send mails to this list. If you wish to pick up LTP OLD Releases, they can be found here. The Source code of LTP is hosted here. Information on how to write LTP test cases, post them to community & become an LTP developer can be found here. All active LTP works can also be found here.
You Could Learn A lot From The LTP.

Friday, June 4, 2010

Writing a Device Driver for Video-Capture - Rare information..valuable one

In order to explain the video-capture interface I will use the example of a camera that has no tuners or
audio input. This keeps the example relatively clean. To get audio capabilities, you can combine this
month’s driver with last month’s driver example.
Before I get into the details of video-capture devices, a little background on the technology is in order.
Full-motion video, even at television resolution (which is relatively low) is resource-intensive. These
devices continually pass megabytes of data every second from the capture card to the display. Because
copying this amount of data through a user application is often unfeasible, several alternative
approaches to television tuners have been developed.
The first is to transfer the television image onto the video output directly. This is also how some add-on
3D-rendering cards work, dropping the video into any chosen rectangle of the display. These cards,
which include most MPEG-1 cards that use a feature connector, aren’t very friendly in a windowing
environment. They don’t understand windows and clipping rectangles, which means that the video
window is always on top of the display.
Chromakeying is a technique used by cards to get around this. It is an old television mixing trick in
which you mark all the areas you wish to replace with a single clear color not used in the image — TV
people use an incredibly bright blue for this, while computing people tend to use a particularly virulent
purple. This is because bright blue occurs on the desktop, and anyone with virulent purple windows has
another problem besides their TV overlay.
The third approach is to copy the data from the capture card to the video card, but to do it directly
across the PCI bus. This relieves the processor from doing the work but does require some intelligence
on the part of the video-capture chip, as well as a suitable video card. Programming and debugging
these cards can be extremely tricky. There are some complicated interactions with the display, and you
may also have to cope with various chipset bugs that show up when PCI cards start talking to each
other directly (rather than via the CPU).
To keep our example fairly simple we will assume a card that supports overlaying a flat rectangular
image onto the frame-buffer output, uses chromakey for selecting the region on which to draw, and can
also capture video into processor memory.
The functions supported by our video-capture driver are shown in Listing One.
Listing One: Video-capture Driver
static struct video_device my_camera
{
“My Camera”,
VID_TYPE_OVERLAY|VID_TYPE_SCALES|VID_TYPE_CAPTURE|
VID_TYPE_CHROMAKEY,
VID_HARDWARE_MYCAMERA,
camera_open.
camera_close,
camera_read,
NULL, /* no write */
camera_poll,
camera_ioctl,
NULL, /* no special init function */
NULL /* no private data */
};
We are going to need a read function, which is used for capturing data from the card, and a poll
function so that a driver can wait for the next frame to be captured.
There are several additional video-capability flags that did not apply to the radio interface. These are:
VID_TYPE_CAPTURE: We support image capture.
VID_TYPE_TELETEXT: A teletext capture device (vbi[n])
VID_TYPE_OVERLAY: The image can be directly overlaid onto the frame buffer.
VID_TYPE_CHROMAKEY: Chromakey can be used to select which parts of the image to display.
VID_TYPE_CLIPPING: It is possible to give the board a list of rectangles to draw around.
VID_TYPE_FRAMERAM: The video capture goes into the video memory and actually changes it.
Applications need to know this so they can clean up after the card.
VID_TYPE_SCALES: The image can be scaled to various sizes, rather than being a single fixed size.
VID_TYPE_MONOCHROME: The capture will be monochrome. This isn’t a complete answer to the
question, since a mono camera on a color capture card will still produce monochrome output.
VID_TYPE_SUBCAPTURE: The card allows only part of its field of view to be captured. This
enables applications to avoid copying all of a large image into memory when only some section is
relevant.
We set VID_TYPE_CAPTURE so that we are seen as a capture card, VID_TYPE_CHROMAKEY so that
the application knows that it is time to draw in particularly virulent purple, and VID_TYPE_SCALES
because the video can be resized.

Wednesday, June 2, 2010


Linux Mint 9 LXDE RC released!

This article was posted on: Sat, 29 May 2010 16:07:58 +0000

The team is proud to announce the release of Linux Mint 9 LXDE RC. Linux Mint 9 LXDE New features at a glance: New LXDM Display Manager Improved PCManFM2 file manager New Software Manager 30,000 packages Review applications straight from the Software Manager APT daemon Visual improvements New Backup Tool Incremental backups, compression, integrity checks Backup/Restoration of the software selection Better


New features at a glance:

* New LXDM Display Manager
* Improved PCManFM2 file manager
* New Software Manager
o 30,000 packages
o Review applications straight from the Software Manager
o APT daemon
o Visual improvements
* New Backup Tool
o Incremental backups, compression, integrity checks
o Backup/Restoration of the software selection
* Better look & feel
o Backgrounds
o Welcome screen
o Update Manager
* System improvements
o Windows installer
o Husse quotes
o Default software selection
o Local repository and Gnome-PPP
o Apt hold/unhold/held commands
* Project changes
o Community Website
o Community Editions
* Upstream improvements
o Faster boot
o Long Term Support

For a complete overview and to see screenshots of the new features, visit: “What’s new in Linux Mint 9 LXDE“.

Known problems:

* Splash screen resolution
* Windows installer
* Moonlight
* Menu localization
* Applications in the file manager
* Menu launcher color
* Upstream issues

To get more information about these problems and their solution, read the “Known problems” section of the release notes

System requirements:

* x86 processor
* 192 MB of system memory (RAM)
* 3 GB of disk space for installation
* Graphics card capable of 800×600 resolution
* CD-ROM drive or USB port

Monday, May 31, 2010

QEMU


QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures.

In conjunction with CPU emulation, it also provides a set of device models, allowing it to run a variety of unmodified guest operating systems; it can thus be viewed as a hosted virtual machine monitor. It also provides an accelerated mode for supporting a mixture of binary translation (for kernel code) and native execution (for user code), in the same fashion as VMware Workstation and Microsoft Virtual PC.

QEMU can also be used purely for CPU emulation for user level processes; in this mode of operation it is most similar to Valgrind.

One feature exclusive to QEMU is that of portability: the virtual machines can be run on any PC, even those where the user has only limited rights with no administrator access, making the "PC-on-a-USB-stick" concept very real. Similar applications exist (such as MojoPac) but they currently require administrator rights to run, making them useless in areas such as public libraries, internet cafes, and so on.

Wednesday, May 26, 2010

CooCox Free RTOS Dedicated to ARM Cortex Family

http://www.coocox.org/

CooCox CoOS is an embedded real-time multi-task OS specially for ARM Cortex M series.

CoOS Features:

* Free and open real-time Operating System
* Specially designed for Cortex-M series
* Scalable, minimal system kernel is only 974Byte
* Adaptive Task Scheduling Algorithm.
* Supports preemptive priority and round-robin
* Interrupt latency is 0
* Stack overflow detection option
* Semaphore, Mutex, Flag, Mailbox and Queue for communication & synchronisation
* Supports the platforms of ICCARM, ARMCC, GCC

Friday, May 21, 2010

A Java Technology overview for the Embedded Linux market

If the shoe fits . . .The vast array of disparate hardware and software architectures present throughout the embedded market begs for a common language and platform with which to develop applications. It was to address this issue that Sun initially developed the Java technology platform.Java, according to Sun's vision, would provide a unifying platform for embedded devices through a Virtual Machine (VM) which would execute Java byte codes portably and transparently. The goal was: "Write once, run anywhere" (WORA).Unfortunately, problems with Java's speed and predictability in the early days prevented it from delivering on this vision. Today, however, vast increases in microprocessor speed and execution efficiency, combined with improvements in Java technology itself, have greatly mitigated the performance issues. Additionally, in today's increasingly networked world it has become highly desirable to freely move applications from one system to another, in some cases running web-based applications on "thin" clients of varying architectures. Obviously, the ability to run a single software implementation written in Java byte codes on multiple machines, rather requiring than numerous machine specific binaries, presents a tremendous value proposition.