Friday, March 20, 2009

SDCC Makefile for PIC14

OBJS=test.o
PRJ=test
PLATFORM=16f690
LIB=-I/usr/local/share/gputils/lkr -I/usr/local/share/sdcc/lib/pic

.c.o:
sdcc -V -mpic14 -p$(PLATFORM) --opt-code-speed --stack-auto --main-return -c $<

$(PRJ).hex: $(OBJS)
gplink -m -s $(PLATFORM).lkr -o $(PRJ).hex $(OBJS) $(LIB) -f 0 libsdcc.lib pic$(PLATFORM).lib libm.lib

clean:
rm $(OBJS)
rm $(PRJ).cod
rm $(PRJ).hex

Small Embedded Linux board

Beagleboard Site:
http://beagleboard.org/

BeagleBoard Shopping List
http://code.google.com/p/beagleboard/wiki/BeagleBoardShoppingList

Wednesday, January 28, 2009

New Wireless Standard Promises Ultra-Fast Media Applications

New Wireless Standard Promises Ultra-Fast Media Applications
Georgia Institute of Technology (01/22/09) Fernandez, Don

The Georgia Institute of Technology's Georgia Electronic Design Center (GEDC) has developed a complementary metal oxide semiconductor (CMOS) chip capable of transmitting 60 GHz digital radio-frequency signals. GEDC researchers say the technology could lead to the rapid transfer of high-definition movies and other large files from a PC to a cell phone, virtually wireless desktop computers and data centers, wireless home DVD systems, in-store kiosks that can download movies to mobile devices, and the ability to move gigabytes of photos or video files from a camera to a PC almost instantly. "We believe this new standard represents a major step forward," says GEDC director Joy Laskar. "Consumers could see products capable of ultra-fast short-range data transfer within two or three years." GEDC's chip provides multi-gigabit wireless transmissions by combining 60 GHz CMOS digital radio capabilities and multi-gigabit signal processing in an ultra-compact device. Laskar says the new technology represents the highest level of integration for 60 GHz wireless single-chip solutions. "Multi-gigabit technology definitely has major promise for new consumer and IT applications," says Microsoft Research's Darko Kirovski. GEDC researchers say they have already achieved high data transfer speeds that could lead to unprecedented short-range wireless speeds, including 15 Gbps at 1 meter, 10 Gbps at 2 meters, and 5 Gbps at 5 meters.

Tuesday, December 23, 2008

User Timer in Linux/Unix


#include <sys/time.h >
#include
<signal.h >
#include <stdlib.h >
#include <stdio.h >

#define MAX_COUNT 100

/* This flag controls termination of the main loop. */
volatile sig_atomic_t counter = 0;

/* The signal handler just clears the flag and re-enables itself. */
void
catch_alarm (int sig)
{
counter++;
signal (sig, catch_alarm);
// printf("\nCatch an alarm!\n");
}


void do_stuff (void)
{
static unsigned long c = 0;
printf ("Doing stuff while waiting for alarm (myCounter = %u, Counter=%u) \r", ++c, counter);
}

void set_timer_val(struct itimerval *t, const unsigned long ival_usec, const unsigned int val_usec)
{
//period between successive timer interrupts
t->it_interval.tv_usec = ival_usec % 1000000;
t->it_interval.tv_sec = ival_usec / 1000000;
//period between now and the first timer interrupt
t->it_value.tv_usec = val_usec % 1000000;
t->it_value.tv_sec = val_usec / 1000000;
}

int main (void)
{
struct itimerval ival, oval;

/* Establish a handler for SIGALRM signals. */
signal (SIGALRM, catch_alarm);

/* Set an alarm to go off in a little while. */
// one-shot timer
set_timer_val(&ival, 1000000, 500000);
setitimer (ITIMER_REAL, &ival, &oval);

/* Check the flag once in a while to see when to quit. */
while (counter < MAX_COUNT)
do_stuff ();

printf("\n");
return EXIT_SUCCESS;
}