Wednesday, April 30, 2008


Memristor is the fourth fundamental circuit element, joining the other three -- resistor, capacitor and inductor.
It is as fundamental to electronic engineering as a chemical element is to chemistry or an electron is to physics
Slashdotted here

Tempest Declassified:

Indian economy given a respite:

Given the "state" of economy today, this is not a bad news.

Tuesday, April 29, 2008

Creating s/w for people like me..

while downloading ubuntu 8.04 vmware for my office machine, got curious as to how Ubuntu reviews are.. I had a rare hick up with my network(but then I blame my ISP for killing my dns once in a while - yep, they route my not found DNS to thier "awesome" webpage..).. but then hit this:

I was like.. hmm.. a story that applies anywhere! I mean, I work officially on a product which tons of developers use.. but never really thought indepth.. Kind of assume all know what a flash device is, what is RAM etc.. but then.. am I right? the average developer is skilled in a specialized area - say multimedia or say GUI development, not all are Linux geeks out there.. hmm... moot point indeed.. I give a message "download" does it mean internet download or what? if i ask the average developer who wants to do GUI/Android development.. go get the kernel from xyz, patch it with blah blah blah, get uboot from abc, flash it with 123, boot up, ohh..yep, u need busybox with blah blah libraries.. drat.. no way to get him up and running in 10 mins.. hmm... not to speak of of gcc versions and gosh.. things I take for granted!

Quilty dear

Kinda learnt what quilt was.. and AM IMPRESSED! I suppose it was kinda a late entry for me, but it is neat. let me put what i learnt.
quilt can manage patches pretty well.. and works pretty well when you are working on something which is git based. here is a excellent doc explaining what it does.
Simple(halfbaked?) steps:
a) pull your git tree.
b) think up a nice sounding name - bingobaba.patch. quilt new bingobaba.diff
c) quilt edit file -> do this to which ever file u want for a related feature. better still to create neat alias (I have qi - instead of vi)..
d) make, debug, fix,re-fix etc.. till u are ready..
e) quilt refresh -> again a nice lil qr alias will do just fine, but the bingobaba.patch will be updated with what ever changes u want.
(oops.. upstream tree changed)..
f) quilt pop -> off disappears ur changes,
g) do a cg-update synced back up.
f) quilt push -> put ur changes back. continue the qi story...
kinda neat..

Monday, April 28, 2008


Duh!! two days to make me sad - pay day and appraisal day.. Sometimes I laugh.. Mebbe I go and work coz I do just like what any soldier goes to war for.. for the guy next to him... not for the cause, not for the pay... "brothers in code"?

Thursday, April 24, 2008

Please contribute your voice

Voice contributions: encouraging an open source speech recognition:

Wednesday, April 23, 2008

Odyssey of a JTAG less debug!

Kinda perked by Dirk's interest in getting a simple blinking led working on beagle over usb/uart, i started off with bare minimum code.. but then, when u download an image and expect it to boot, and it does not, there are millions of places it can go wrong.. It was interesting to think back to the days when I wrote the first lines of sdp2430 u-boot port.. It used to be on Virtio then.. But, having faced similar issues while working in a certain module in CSST, I knew it was not something I would want to do every day - a good challenge though.

The fav trick of mine is to use hang code. usually on SDP, I'd add code to show something on 2 line char LCD.. but the entire idea was to get LED glowing.. getting thru the initial points of setting CPSR was standard omap boot process.. WDT was also easy to think out on.. the ones that did stump me were:
a) LED lines shorted on the board for me: I tried GPIO5 out bits 19->22 and i kept seeing the LED glow for 21 and 22 -> bad part -> both leds were glowing together.. at 1 in the morning no one to shout to.. though the answer was obvious.. i was suspecting strh or str issues in the assembly i wrote.. or mebbe i was not understanding GPIO module well enough or even possibly pulling the pin mux the wrong way.. schematics i did doubt.. but from experience, usually h/w guys dont mess things up as much as I(S/w guy) do. Long story short: i was stumped till GColey explained... JTAG would have allowed me to set the bit in the register and figure it out in a jiffy!!!

b) Timing.. with a while(count--); equivalent code, there was no way i can keep it predictable, so i had written code for using sync32.. only i messed up CMP+BLT,BHT instructions' register sequences.. in short my code never got thru.. for a time I was thinking mebbe i did miss the interface clock to func32 clk.. bah!!! had to give up on this and did dig a xds-560+CCS to look at the assembly code flow instead of spending another 3 hrs on thinking it through... Total time taken = 1 hr or so.

Complete thread of this odyssey is here. You can even find the integrated code in the thread here

I cant use XDS and CCS to debug u-boot or anything.. but nice to go thru plain assembly and touch registers than play around with head in a bucket.. I love JTAG debuging.. probably though I'd even settle for gdb hooks at the earliest possible moment..flyswatter is also a nice idea - if it works on Cortex-A8, I might even buy one for use at home..

Sunday, April 20, 2008

bruce and security


Saturday, April 19, 2008

linux irc woes

After trying a bunch of terminal irc clients, i decided i wanted an irc client which with go as a task icon to prevent things getting into my way. The closest i got thru was with konversation. Then, RoadRunner my ISP seems to be frequent in having hung DNS, and kaput - konversation goes beserk.. finally i fall back on the legendary x-chat(2) - i need something for office environment, and i have been using icechat for it..(not to mention i hated the interface), anyway.. saw this: x-chat2 Windows.. gotta try it.. now i need to get rid of akregator for RSS.. it is all nice and neat.. but i hate having my rss feeds of one feed end up in another..

Now, why the hell did I not go with x-chat long back?? darn!! I now have tons of plugins also including ones which use festival to call out the message to me when my nick is called.. anyways.. I usually hang out in these irc channels:
irc:// - Omap Linux
irc:// - Memory technology devices
irc:// - U-Boot
irc:// - LM-Sensors channel
irc:// - The tiny beagle site..

Friday, April 18, 2008

plethora of platforms has some interesting article of Ubuntu on ARM..

Another interesting look I got from Jadon on the beagle irc : Poky Linux:

Recently, I have been looking for UI for which I have certain custom requirements, and ended up with tons of options.. all not working due to licensing.. will such a story strike the mobile development platform - plethora of platforms, but none just the right thing coz efforts are put in all directions? I dont know.. just musing..

Tuesday, April 15, 2008

Bingo! 32nm - what next 20nm?

And I thought 45nm is bleeding edge? take that! 32nm from IBM!!!
Darn.. what is the life time of a fab in this fight??

This is kinda interesting Opera following Android foot steps:

Found this funny: missing five minutes for morons (that includes me;) ).

Monday, April 14, 2008

Embedded systems conf and Intel embedded!

Embedded and Intel.. (funny to see flash, Lia welcoming us around..)..

If you are interested.. Embedded Systems Conference is to shoot off in Mid April in San Jose.. will probably add more info later..

Checkout this weeks' newsletter for more articles.. some papers are pretty interesting.. I am duly interested in UML for embedded sytems, static code analysis (yet to see something better than lint) - but there is some interesting security aspect as presented here..

Saturday, April 12, 2008

open source in curriculum - good thought

kicked me off thinking: Dude!How many of the new kids passing out the engineering colleges know the true impact of opensource? For that matter, did I know about the impact until a few days back? I don't think I really did!

My 2 cents on "the essense of Open Source":
A bit of background: I love this statement I picked up in some novel long back: "there are two kinds of people: the pianos and the piano players". I love another saying from my home state Kerala in India "if you are at the age of 18 and not a communist, you don't have a heart. if you are the age of 30 and still a communist, you don't have a brain!". Time for an confession: Being in kerala, I have been thru the kerala philosophy.. Boy! does it not feel good to throw it out? :) Now, I dont usually speak political things in my blog, but you cannot speak of opensource without one of the extreme feelings in your heart.. I hope most of my readers feel the zeal of "yes! this is way things should be" when they hear the term "open source"..

I think of open source and community as a nice way of doing things -> a more realistic ideal of sharing, living and let live, with the right checks and balances, than the "Utopian" concepts of Karl Marx. Open source is NOT communism. it is lot better! it is lot real! it is lot correct! if I am a zealot of Open source, I'd say - All software should be open source. I am not one. I do my work on proprietary software, come home, in my free time tinker along with things, pass what i learn to the world when i can. I love tinkering with things. But that is what it is all about rt?

Summary: learn the good, do the good, share the good! if the good is good enough then it will be accepted..

Corporates and Open source:
I work for a service company, and in that position, have had the fortune to work with some product companies I have admired. In fact majority of my resume, if I manage to take time and write one, would be my work on closed source products. But dreams of free and open software is like a simmering fire some where in the back of my mind.. I have since learnt over time to understand that world is not filled with, what I'd call,"nice people". Few folks want to grab other's work and claim their own, steal and not share and the likes.. But still, this is the very few..

Every organization is defined by a simple bottom line: Money. They lived with the constant fear of not making enough money to keep their stake holders happy. Now, I don't blame them for it. I buy a piece of land, put couple of coconut trees, i do expect to get coconuts - agreed that software is not exactly coconuts.. even then, I don't share it coz i am scared I'd loose my Money..

Ask anyone in an organization; the bottom line of decision is always be "cost" Vs "benefit". The exact nature of cost and benefit may vary - they need not be monetary in objective always (yes, even within organizations!).

My feelings on Open source:
I am not a financial person. I have been looking at taxes - in fact they look so tough to me, that I'd rather spend 60 dollars at H&R block to get them done with.. my friends usually laugh at me, and i'd cook up some new reason as to why it is difficult for me to do the taxes. I just love living the life! But at my work, I cannot use the nonchalant attitude I live with. Similarly, at home, I dont use the strict logic with which i work! at odds with most things I guess..

I don't like "cost" vs "benefit" deciding things. I like "emotion" deciding things.. the sheer adrenaline junkie who like to crack a problem just for the heck of it.. I don't care who, if ever uses it. I just need to solve the issue and get it out of my system. I cannot sleep, eat, live normally without thinking about a problem which is not solved.. The nice part is, I do know people who are like me.. so i have something of a camaraderie with like minded folks.. Good!

open source is my solution to normal office work. How ever, my college life never prepared me for it. I lived in the utopia that i could do what ever i wanted in open source. This is generally not the case - u do need to think of certain aspects of your parent companies also. I loved the Hacker Spirit -> before the news media decided to make the word apply to the mythical "super wiz who use some poor schedule-pressured coder's mistake against the world of users who use the product". I love the "can do" attitude. I love it when some tells me "Nishanth, do u have a min.. wanna see what i got running?" I love to walk down, and see this neat setup where his board is plugged to his laptop with USB, see RNDIS doing network. i am like "wow.. that is a neat thing to think of .. i think many will find it useful.." I admire such people.

Truly, my essence today is to take a balance approach.. there is many problems out there without a solution.. I love solution.. at the same time stay away from issues which conflicts with the interests of my companies... I know many would call me "lackey" and other "not-so-nice" words.. but it is a good approach, in fact i wish i could go to Harvard, and learn about this thing which people call "open source"... all-over-again...

I do not want patents for my thoughts and nor am I money crazy .. I just love the feeling of a free bird.. writing the code for things I enjoy and I love to share those out..

Wednesday, April 09, 2008

OMAP34xx TRM online!!

Mebbe I am seeing this late.. searching for something else.. hit this link:
then I see this:
OMAP34xx Wireless Technical Reference Manual (swpu114g.pdf, 47 MB)
03 Apr 2008 Download

Uboot-v2 - Kinda neat!!

Was finally getting time to lookinto uboot-v2 again today (atleast for 1 hr before my mailbox announced another firefighting.. :( ).. anyways.. in that time here goes....

Weee.. using uboot sandbox was a breeze.. but u need gcc 4.1.3 (4.1.1 did not compile neat for sandbox in my office vmware.. anyways, did not dig in to the reasons)..
menon@coyote:~/Src/opensource/clone/u-boot.v2$ gcc --version
gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
nmenon@coyote:~/Src/opensource/clone/u-boot.v2$ make sandbox_defconfig;

This is kind of neat - for folks working with kernel.. this is right up your alley...
* Network drivers
smc911x ethernet driver (DRIVER_NET_SMC911X) [N/y/?] n
tap Ethernet driver (DRIVER_NET_TAP) [N/y] n
* SPI drivers
MC13783 a.k.a. PMIC driver (DRIVER_SPI_MC13783) [N/y] (NEW) n
* flash drivers

# configuration written to .config
If you are interested.. you can do a make menuconfig and enable, disable items.. now.. dont i love that and no more messing around with include/configs/xys.h and no more tons of #define blahblah..

a simple make reveals the similar framework it has with linux kernel..
CC arch/sandbox/lib/tap.o
LD arch/sandbox/lib/built-in.o
LDS arch/sandbox/lib/
CC board/sandbox/board.o
CC board/sandbox/clock.o
CC board/sandbox/hostfile.o
CC board/sandbox/console.o
LD board/sandbox/built-in.o
LD uboot

then.. the fun part running uboot on my laptop.. and folks who love uboot are gonna love this, and linux users are potentially gonna get confused..;)
nmenon@coyote:~/Src/opensource/clone/u-boot.v2$ ./uboot

U-Boot 2.0.0-rc5-git (Apr 9 2008 - 17:42:31)

Board: sandbox
Malloc Space: 0x2ab609d11010 -> 0x2ab60a511010 (size 8 MB)
Open /dev/env0 No such file or directory
running /env/bin/init...
not found
uboot:/ ls -al
ls: invalid option -- a
drwxrwxrwx 0 .
drwxrwxrwx 0 ..
drwxrwxrwx 0 dev
uboot:/ ls /dev
console0 mem
uboot:/ ls -al /dev
ls: invalid option -- a
c--------- 0 console0
crw------- 4294967295 mem
Now, Does that look familiar.. dont blame me for doing a "ps -ef" and doing a "ls /proc /sys" :D only Ctrl+C, CTRL+\ etc seem not to kill it.. (did a kill -9 pid worked).
Heh heh.. there are things now I can interestingly do with it.. need to figure more out.. but guess what? it is lot cleaner..

Friday, April 04, 2008


--Chip industry confronts 'software gap' between multicore,programming--The industry is just starting to address what's being called asoftware gap between a rising tide of multicore processors and a lackof parallel programming tools and techniques to make use of them.

--ARC, Toshiba extend licensing deal--ARC International and Toshiba have extended their partnershipdeveloping configurable multi-processor technology and, as part of thedeal, the Japanese chip maker has also extended its license to use theARChitect Processor Configurator.

--Consolidating the MCU market around the ARM architecture--It's inevitable. ARM's Cortex-M3 processor core is going dominate theMCU market - so says Jean Anne Booth of ARM microcontroller companyLuminary.

I am curious about multi core apps esp on linux.. mebbe something to dig into esp since i have a intel dual core laptop.. as such the load balancing on my ubuntu 7.10 does not look efficient enough (esp when i am watching mebbe something esle is missing in my kernel configuration...

Thursday, April 03, 2008

Dreamer Dream on....

Imagine spending time b/w 11pm and 3 am dreaming about embedded computing (as opposed to mobile computing) - technology and hardware is available today
I was given a and am now spending time dreaming about using the tiny computing powerpack and unable to sleep.. kinda wierd.. but then.. imagine this:
linux+android(?) running over s-video on a and a headset to give commands, my GPS +USB wlan+ webcam plugged over USB - if i can get to work on omap3430, the possibilities are awesome... no more cellphones! i can even think of stereoscopic vision(using the additional dvi output). pure open source and free - covering sight, hearing (I cant do much about touch,smell and taste ;) ). but that should account for a pseudo virtual-real world embedded human-machine combination.. i guess i am truely rambling on.. but i am going to give it a shot and see how far i can get..