Monday, March 31, 2008

create branch/ tag with tortoise SVN

Select the folder in your working copy which you want to copy
to a branch or tag, then select the command

The default destination URL for the new branch
will be the source URL on which your working copy is based.
You will need to edit that URL to the new path for your branch/tag.
So instead of

you might now use something like

Working / Using EEPROM in WinAVR (AVRGCC)

Include the EEPROM API file (module which handles the interface on behalf of you)


Define the Variable (where you want to put it)

#define BK_LIGHT_SETNG 0x00

write to the location

eeprom_write_byte((uint8_t*)BK_LIGHT_SETNG,0x7); //! read the settings

Reading the byte

xx = eeprom_read_byte((uint8_t*)BK_LIGHT_SETNG);


you don't need to do anything from scratch, The work has already been done for you just use the interface header files.
AVR GCC Rocks... Free of cost... save lot of development time... and even the compiler is free, up to date with solid tools... (where you need to pay nearly $4000 + for tools like Keil)

Friday, March 28, 2008

Working / Using EEPROM in WinAVR ( AVR GCC )

Include the EEPROM API file (module which handles the interface on behalf of you)


Define the Variable (where you want to put it)

#define BK_LIGHT_SETNG 0x00

write to the location

eeprom_write_byte((uint8_t*)BK_LIGHT_SETNG,0x7); //! read the settings

Reading the byte

xx = eeprom_read_byte((uint8_t*)BK_LIGHT_SETNG);

you don't need to do anything from scratch, The work has already been done for you just use the interface header files.
AVR GCC Rocks... Free of cost... save lot of development time... and even the compiler is free, up to date with solid tools... (where you need to pay nearly $4000 + for tools like Keil)

Working / Using EEPROM in WinAVR (GCCAVR)

VR microcontrollers like many any other Harvard architecture MCU's are ships with some amount of EEPROM (Electronically Erasable Read-Only memory
) memory. This type of memory allows developers to store program
parameters, constants, menu strings etc. EEPROM memory is good that you
can read like one byte and store modified, while FLASH memory usually
is written in pages.

In this article I am going to show how to store data to EEPROM by defining a particular variable types.

For this we need to include eeprom.h header library from avr directory #include “avr/eeprom.h”.

Following is simple variable declaration using simple attribute word EEMEM:

#include “inttypes.h”

#include “avr/io.h”

#include “avr/iom8.h”

#include “avr/eeprom.h”

//store initial byte to eeprom

uint8_t EEMEM eeprombyte=0x10;

//store initial word to eeprom

uint16_t EEMEM eepromword=0x5555;

//store string to eeprom

uint8_t EEMEM eepromstring[5]={"Test\0"};

int main(void)


//RAM byte variable

uint8_t RAMbyte;

//RAM word variable

uint16_t RAMword;

//RAM array of bytes

uint8_t RAMstring[5];

//read byte from EEPROm and store to RAM

RAMbyte = eeprom_read_byte(&eeprombyte);

//read word from EEPROM and store to RAM

RAMword = eeprom_read_word(&eepromword);

//copy string fro mEEPROM to RAM

eeprom_read_block ((void *)&RAMstring, (const void *)&eepromstring,5);

return (0);


keyword indicates to compiler that variables has to be stored in EEPROM
memory and it creates separate .eep file which has to be written to
chip separately during AVR microcontrolling programming..

Lets see what I have got after compiling with AVR-GCC compiler the above example code:

Size after:

main.elf :

section size addr

.text 156 0

.data 0 8388704

.bss 0 8388704

.noinit 0 8388704

.eeprom 8 8454144

.stab 876 0

.stabstr 132 0

.debug_aranges 20 0

.debug_pubnames 74 0

.debug_info 486 0

.debug_abbrev 316 0

.debug_line 240 0

.debug_str 271 0

Total 2579

You can see compiler information about compiled code sizes. The bold line (.eeprom 8 8454144)
is indicating the size of occupied EEPROM memory in EEPROM memory
space. In this particular case we see that size is 8 bytes: one byte
variable, one word (two bytes) and five byte array – total 8bytes.

If you open .eep file located in project folder – you will see Hex File of EEPROM data:



first line shows 8 byte data stored at address location 0. Second line
is the same for all hex files – it indicates end of file record.

forget, that .eep file has to be written to avr microcontroller
separately as writing compiled program doesn't write EEPROM data. If
you use PonyProg programmer this
can be done easily. Open .eep file by selecting File->Open Data
(EEPROM) File...and then select command: Command->Write Data
(EEPROM). The same can be done with tool-bar buttons.


the PonyProg memory viewer there are both memory locations displayed:
Flash and EEPROM. You may noticed that EEPROM memory area has different
color than Flash. I hope this helps to some of you to get the picture
and can start working with AVR EEPROM memory.

Thursday, March 27, 2008

Hello World with CUDA

Writing Hello World in CUDA is bit difficult ( CUDA does not support strings)

But the following is a vector addition program which may be a good starting point

Simple code to add two vectors.(Blue colour)

#include "stdio.h"

__global__ void add_arrays_gpu( float *in1, float *in2, float *out, int Ntot)
int idx=blockIdx.x*blockDim.x+threadIdx.x;
if ( idx

int main()
/* pointers to host memory */
float *a, *b, *c;
/* pointers to device memory */
float *a_d, *b_d, *c_d;
int N=18;
int i;

/* Allocate arrays a, b and c on host*/
a = (float*) malloc(N*sizeof(float));
b = (float*) malloc(N*sizeof(float));
c = (float*) malloc(N*sizeof(float));

/* Allocate arrays a_d, b_d and c_d on device*/
cudaMalloc ((void **) &a_d, sizeof(float)*N);
cudaMalloc ((void **) &b_d, sizeof(float)*N);
cudaMalloc ((void **) &c_d, sizeof(float)*N);

/* Initialize arrays a and b */
for (i=0; i
a[i]= (float) i;
b[i]=-(float) i;

/* Copy data from host memory to device memory */
cudaMemcpy(a_d, a, sizeof(float)*N, cudaMemcpyHostToDevice);
cudaMemcpy(b_d, b, sizeof(float)*N, cudaMemcpyHostToDevice);

/* Compute the execution configuration */
int block_size=8;
dim3 dimBlock(block_size);
dim3 dimGrid ( (N/dimBlock.x) + (!(N%dimBlock.x)?0:1) );

/* Add arrays a and b, store result in c */
add_arrays_gpu<<>>(a_d, b_d, c_d, N);

/* Copy data from deveice memory to host memory */
cudaMemcpy(c, c_d, sizeof(float)*N, cudaMemcpyDeviceToHost);

/* Print c */
for (i=0; i
printf(" c[%d]=%f\n",i,c[i]);

/* Free the memory */
free(a); free(b); free(c);
cudaFree(a_d); cudaFree(b_d);cudaFree(c_d)


Running the Code

Copy the code in a file
Compile it with nvcc: nvcc -o add_vector
Run it: ./add_vector

If you don't have a Cuda capable GPU, compile it in emulation mode:
nvcc -deviceemu -o add_vector_emu
Run it: ./add_vector_emu

Wednesday, March 26, 2008

Latest Search engines ( best )

Try it Today and be up to date with the cutting edge technology

Searchme logo

Requires to get a login as it's under beta phase.

  • gives you option of various categories
  • looks very good
  • fast search
  • content can be previewed
  • flipping through the pages allowed (like a book)
  • internet trafic requirement is hig
Register you beta trial today to explore !!


An innovative search engine. instead of looking at contents t gives you the overview of the nine pages at a time.
as the big images.

  • scrolling and other features
  • side panels
  • good looks
  • no login required !!

Saturday, March 22, 2008

RTOS cost and Feature comparison

Embedded Real-Time Operating System (RTOS) Vendors
Vendor URL RTOS Proprietary API Processors
Licensing Target
MontaVista Software Hard Hat Linux No, extensions,
Posix and Everything Linux Supports
x86, PPC, MIPS and ARM N/A No Linux kernel/drivers, no target license fee
New Mexico Tech RT-Linux No, extensions x86 ? GPL license No Linux kernel/drivers, no target license fee
Lynx LynxOS Yes,
POSIX.1/.1b/.1c, Unix BSD 4.3
x86, 68k, PPC, microSPARC, microSPARC II, PA-RISC PosixWorks Development Seat: US$10,000
Open Development Environment License: US$7000
Yes ?
CMX Systems CMX Yes 68k, PPC, 68HC11, 683xx 1,200+ and 300+ per seat, 900+ and 200+ per seat No ?
VenturCom RTX Yes, Win32 x86, P5, P6 $150/RTX license; quantity discounts available. $4,950 + w/ tools and support Yes Only Windows NT platforms, last of the embedded NT companies
Enea OSE Systems Enea OSE Yes,
IEC 61508, POSIX, DO178-B
StarCore SC140, C64x, C55x, 68k, PPC, ARM, C166 $7000 to $15000 Yes New, limited targets, big backing
Integrated Systems, Inc. pSOS Yes, POSIX.1c 86, 68k, PPC, 683xx, CPU32(+), MIPS R3000/4000/5000, Coldfire 510x/520x, i960, ARM 7 (TDMI), SH1/2/3, M32R $17,000 per seat, per unit shipped Yes ISI recently merged with Wind River Systems, old customers forced into new licensing scheme, which apparently is more $
Wind River Systems Tornado, VxWorks Yes, POSIX.1b, Unix x86, 68k, PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS $16,500 per seat Yes Dominant embedded RTOS, very expensive licensing
Micro Digital Inc SMX Yes, ANSI C,Berkeley Sockets, DPMI 80x86 family, PowerPC, ColdFire, 68K, and CPU32 $3500 to $10000 per site No ?
Kadak Products Ltd AMX Yes x86, 68k, PPC, ARM, i960, 29K, R30xx, Z80/HD64180, Coldfire, LR33xxx, CW40xx $1,900 to $7,900 per site No ?
Precise Software Technologies, Inc. Precise/MQX Yes x86, 68k, PPC, TMS320C3x, TMS320C4x, TMS320C6x, 683xx, ColdFire, MPC8xx, SHARC, MIPS, ARM, 56K, m-core $9000 per project No ?
dSPACE Gmbh dSPACE Yes many ? ? Just partnered with The MathWorks, which should increase their market share for DSP
Computer IO Corp Easy I/O Yes many ? ? ?
TimeSys TimeSys Linux/RT No, extensions many ? ? Linux kernel, drivers?
Microware OS-9 V3.0 Yes x86, 68k, PPC, SH3, StrongARM N/A Yes ?
Microware Systems Corp Ariel Yes MCORE, ARM/Thumb, SH-2 N/A No ?
3L Limited Diamond,
Parallel C,
3L supports a number of DSP board vendors, including Bittware, Blue wave systems, Pentek, Spectrum, Transtech.
C62x,C67x, C4x,SHARC, Transputers (T4/T8) ? ? ?
Spectron Microsystems, Inc. SPOX Yes TMS320C3x/4x/5x/8x, 2106x, 5630x $8,500 per seat Yes ?
Texas Instruments DSP/BIOS Yes TI C62xx, C67xx, C54x, C64x ? ? SPOX is being phased out for DSP/BIOS,
SPOX originally supported many vendors DSPs
Eonic Systems Virtuoso Nano/Classico Yes TI C3x, C4x, C62xx, Mot 56K, 563xx, 96K, ADI 21020, 2106x SHARC, DSP GroupOakDSPCore, ARM6, ARM7, ARM7T, Hyperstone $10,000 (SP version) $20,000 (VSP version). Single site/single seat license. OEM licensing. Yes ?
Perihelion Distributed Software Helios Yes, POSIX ARM RISC family, Transputer, TMS320C80 $3950. Licenses are required for all target copies of Helios, these are available under two low cost options suitable for both high and low volume projects. No ?
Accelerated Technology Inc. Nucleus PLUS Yes x86, 68k, PPC, MCORE, National Semiconductor NS CR16A/16B/32A, 29K, TMS320Cxx, MIPS, H8, i960 (rx, hx, ix, kx, sx), Coldfire, MN10200, 8xx, PowerPC 403/505/601/821/823/860, SHARC $7,495 No ?
Byte-BOS Integrated Systems BYTE-BOS Yes x86, 68k, 8096, 8051, 68HCxx, 64180, Z180, 630x, H85xx, H83xxH, H83xx, SHx, 37700, C16x, TMS320C2x/3x/4x/5x, ARM, THUMB per site Yes ?
White Horse Design µC/OS-II Yes x86, 68k, 68HC11, 68HC16, CPU32, Z-80, MCS-251, XA,H8/300H, ARM, 80196 N/A Yes ?
Locamation ARTOS Yes x86,68k $1500 for basic development licence/user
$3000 for complete development licence/user
$150 for basic runtime licence/system
$300 for complete runtime licence/system
Yes ?
DNA Enterprises, Inc. ASP6x Yes ? $995 for a developer's kit No ?
Brainstorm Engineering Co. Brainstorm Object eXecutive Yes x86,68k,PPC, All N/A No ?
JMI Software Systems Inc. C Executive Yes
POSIX.1 (60%), Unix
x86, 68k, PPC, Pentium, 386EX PM, 683xx, R3000/4000, i960, V810/V830, SH7000,
ARM7/ ARM7TDMI/ StrongARM, TMS320C3x
$2,500, $3,750 No ?
Sun Microsystems Chorus/OS POSIX .1/.1b/.1c/.1g, ANSI, UNIX SVR4 x86, 68k, PPC, SPARC, ARM, MIPS.. $11,000 per seat (CHORUS/ClassiX base price) Yes ?
Australian Real Time Embedded Systems (ARTESYS) Cortex Yes TI TMS320C3X, Hitachi H3/8003, POSIX.4 (SUN SPARC) N/A No ?
GOOFEE Systems CREEM Yes 8051, more coming Free No ?
StarCom CRTX Yes x86 (DOS) $99 Yes ?
Cygnus Solutions eCos Yes PPC, ARM7,7T,9,StrongARM; AM31,AM33; PPC (MPC821, 823, 850, 860); NEC Vr4300; SPARClite MB8683x; SH; TX39 (MIPS R3900 core); x86/Linux (synthetic target only). Free No ?
Tao Elate(RTM) Yes,
PersonalJava(TM) 1.1+, EmbeddedJava(TM) 1.0+, POSIX and ANSI C Libraries
Arm 6/7/9, Hitachi SH3/SH4, IBM PowerPC, Intel 386/ 486/ Pentium I,II,III and compatables, LSI SC2000, MIPS R3000/ R4000/R5000, Motorola Coldfire/ M*Core/ PowerPC, N N/A Yes ?
General Software, Inc. Embedded DOS 6-XL Yes,
x86 $2,500 per site Yes ?
Etnoteam S.p.A. EOS Yes 86, 68k, PPC, ARM 6/7 TMDI, Motorola MC68HC11, PowerPC, MC68332, Hitachi H8/300H, H16, Philips XA, Hyperstone E1-32, Intel 386/486 DOS, Siemens C167, OAK, GEC Plessey Butterf unlimited production license $15,995 Yes ?
OSEK V2.1r1
Hitachi SH70xx, Infineon C16x/ST10, Infineon TriCore, Mitsubishi M32R, Motorola 683x6 and 6837x (CPU32 + CTM), Motorola 68HC12, Motorola MPC5xx, NEC V85x, Texas Instruments TMS470 $4000 Yes IEC61508 certified for safety-relevant applications.
Mantha Software, Inc. EspresS-VM Yes x86, 68k, PPC Developers' 5x5 package (5 seats x 5 incidents) = $3500. Licensing is based on volume model Yes ?
Dr. Kaneff Engineering Consultants EUROS Yes,
x86, 68k, 80C16x, ARM Development and run-time packages No ?
Pacific Softworks Fusion OS Yes ? N/A Yes ?
Ingenieursbureau B-ware Granada Yes,
Posix, Ansi C
x86 N/A Yes ?
Institute for Information Technology, National Research Council of Canada Harmony RTOS Yes 68k, PPC N/A No Research project. Commercially sold.
Hewlett-Packard HP-RT Yes HP PA-RISC $9,995 per seat, volume discounts Yes ?
Nematron Corporation Hyperkernel Yes,
NT Network standards
x86, X86 from 80486 through Pentium line $495.00 single developmnet, volume discounts avail
$5,995.00 for development system
No ?
Integrated Chipware icWorkshop Yes 68k, PPC, Coldfire, ARM, MIPS N/A No ?
Lucent Technologies Inferno Yes,
x86, StrongARM, MIPS, SPARC Cumaltive Unit Volume Per Year/Price Per Client
Yes ?
Green Hills Software, Inc. INTEGRITY Yes x86, 68k, PPC, MIPS, SH, Alpha, V800 N/A No ?
Radisys Corp. INtime (real-time Windows NT), iRMX Yes x86 N/A Yes ?
Silicon Graphics, Inc. IRIX (React) No,POSIX SGI N/A Yes ?
In Time Systems Corporation ITS OS Yes, POSIX x86, 68k One time licensing, $900 to $9000 depending on the processor. Licensing is good for life of product. Yes ?
esmertec ag Jbed Yes, JAVA 68k, PPC, Intel, MIPS, ARM $9,800 Yes ?
JARP JOS Yes HC11, 78K0 $2500 No ?
Mercury Computer Systems MC/OS Yes,
68k, PPC, i860, SHARC 21060, TMS320C80 $11,000 Yes ?
University of KarlsruheInstitute of Industrial Information Systems ~osek/ OSEK/VDX Yes, OSEK/VDX ? N/A Yes ?
Wind River Systems MotorWorks Yes, OSEK/VDX standard ? N/A Yes Automotive control OS. Based on ProOSEK kernel developed by 3Soft
Telenetworks MTEX Yes x86, 68k, PPC, NSC 16xxx N/A No ?
Microprocessing Technologies NevOS Yes x86 $95 Yes ?
Eyring Corporation Systems Software Division PDOS Yes,POSIX x86, 68k, PPC, 683xx $700 Yes ?
NewMonics Inc. PERC - Portable Executive for Reliable Control Yes x86, 68k, PPC, ARM, MIPS For binary licenses, there is a "Development Kit" license fee plus binary distribution license fees. $150,000 - $500,000 for source code licenses. Yes ?
Forth, Inc. pF/x Yes x86, 68k, 8051/8031, 8096/80196, 80186/ 80188, 68HC11, 68HC16, 68332, 68K,
TMS320C3x, RTX2010
$1,995 per seat No ?
Concurrent Computer Corporation PowerMAX OS Yes, SVR4.2MP-based UNIX, POSIX 1003.1b,POSIX .1/.1b/.1c, Unix, SVID release 4, XPG4 PPC $2,500 for 2 users Yes ?
SSE Czech und Matzner PRIM-OS Yes,CORBA (preliminary) TMS320C4x, AD SHARC per development environment, per kernel runtime Yes ?
HighTec EDV Systeme GmbH PXROS Yes, POSIX x86, 68k, PPC, Siemens C16x, SGS Thomson ST10, NSC DM 980.00 ($580.00) Development Licenses: User Dependent, Package pricing. Distribution License: Per Unit or Buyout.Maintenance and Support: As Needed. Consulting and Development: On Request Yes ?
POSIX.1/.1b/.1c/.1d,.2, Unix, APIW
AMD ÉlanSC300/ 310/ 400/ 410, AM386 DE/SE Intel386 EX, Intel486, ULP Intel486, Pentium, Pentium Pro, and NatSemi NS486SXF. Pricing is based on OS modules used on the target system and per unit shipped. Yes ?
Encore Real Time Computing Inc. Real-Time Software Yes, P10003.x ALPHA 1 copy of software per UNIX Node (No runtime license required)
$9,500. $5,000 (With System Purchase Only)
Yes ?
Modular Computer Services, Inc. REAL/IX PX Yes, POSIX.1, Unix x86, Pentium $2,990 Yes ?
TECSI REALTIME CRAFT Yes, SCEPTRE x86, 68k, PPC, H8/300H, ARM, NEC-V25, ST9, AMD29K, 80C166, MIL-STD1750A 17.000 FF to 30.000 FF No ?
Phar Lap Software, Inc. Realtime ETS Kernel, TNT Yes x86, ALL 32-bit x86 processors TNT Embedded Toolsuite, Realtime Edition is US $4,995.00 per seat. Redistribution of the kernel or its subsystems requires a run-time license. Yes ?
Siemens AG RMOS Yes x86 N/A Yes ?
Cornfed Systems, Inc. Roadrunner Yes x86 $49.00 Yes ?
Carnegie Mellon University RT-Mach Yes x86 Free No ?
OAR Corporation RTEMS Yes x86, 68k, PPC, i960, SPARC, etc. Free No ?
On Time Informatik GmbH RTKernel-C Yes, Real Mode, DPMI16, DPMI32 x86 DM 800 ($400?) No ?
On Time Informatik GmbH RTTarget-32 Yes x86 $1000 to $1950, many add-ons No ?
x86, 68k, PPC, SPARC, MIPS $3,995 per site Yes ?
Institut fuer Regelungstechnik, Universitaet Hannover RTOS-UH/PEARL Yes 68k, PPC N/A Yes ?
Keil Electronik GmbH RTX-51, RTX-251, RTX-166 Yes 8051/2, 8031/2, Siemens 161/3/5/6/7 $1,995 (8051), $3,495 (Siemens 166/167) per seat No ?
Embedded System Products, Inc. RTXC Yes x86, 68k, PPC, ARM, H8/300H, HC11, HC12, HC16, Pentium, x96, 8051, 251, ColdFire, XA, 16x, TMS320C3x, TMS320C2xx, TMS320C5x, TMS320C54x, TMS370C16 $ 2000 No ?
Technosoftware AG RTXDOS Yes, DOS, Win32 x86, Pentium, 386ex 28 US $ run-time, 290 US $ development system Yes ?
Arcticus Systems AB Rubus OS Yes, ISO 12207, POSIX x86, 68k, PPC, Siemens 80C167, 68HC12, Mitsubishi M16C $7000 Yes ?
Api Software RxDOS Yes x86 $3/copy down to $.50/copy No ?
U S Software Supertask! Yes x86, 68k, PPC, Pentium Protected Mode, i960, 80251, 80960, Z80/180, 68HC11, 68HC16, 680x0/683xx,COLDFIRE, R3000, SPARC, SH, ARM, MIPS N/A No ?
Forth, Inc. SwiftX Yes x86, 68k, 8051/8031, 8096/80196, 80186/80188, 68HC11, 68HC12, 68HC16, 68K & ColdFire, PTS1000, UT69R000, Atmel AVR $1,995.00 per seat No ?
Express Logic, Inc. ThreadX Yes x86, 68k, PPC, i960, ARM, C3x/C4x, 68HC11/16, Coldfire, MIPS, H8/SHx, TMS320C4x $3,500-$7,500 No ?
S&H Computer Systems, Inc TSX-32 Yes x86, 68k $300-2900 (depending on quantity, # of users) Yes ?
Green Hills Software, Inc. velOSity Yes x86, 68k, PPC, MIPS, SH, V800, Alpha N/A, must buy compiler/MULTI SW development No ?
Microtec Research VRTX Yes x86, 68k, PPC, i960, ARM $2,000 per seat Yes Purchased by Mentor Graphics
Microsoft Windows CE,
Pocket PC
Yes ? N/A Yes ?
TMO NIIEM XOS/IA-32 Yes x86 Free Free ?
  1. Prices Last Updated on 9/29/99
  2. More info on some DSP RTOSes:
  3. Please email for changes to this table
  4. Ref :