Tuesday, August 31, 2010

effective tool usage for development

Company
Server:
svn+git+trac+doxygen+bugzilla+apache+(html to pdf and vice versa)

client
svn+git,doxygen,web browser

2.self initializing system and self replicating system
a system can itself send to remote and execute a program,the remote should have a thread,stack

Tuesday, August 24, 2010

eng cont.

1.in addition to con/dec,network .... cloning is a scalable entity
2.mass as trasmit packet, transport system revolution
3.unison of bio and hightech industry
4.mass relocation with clone property , army ,replacement
5.initially law will allow only non-living objects
6.older tranports become legacy
7.mass as packet ...makes existing tech as legacy ...petrol is relocated
8.energy as packet will happen first than mass
9.unified wisdom ....p-s global network is more realistic than other two above
main idea being , wisdom account per person, queries sent to it and result from it obtained
using mobiles
can it create stories
can it create plots
can it create sub-plots

1.user should give feedbacks to the account, day to day basis
2.system on each feedback iterates till balance
3.on queries it gives back the possibilities

cloning can sometimes used as means of info transfer
eg ..the bit state travelling across adjescent blocks and the final one showing the same state

eng

1.3 components
a.vm c++
b.bain loop
c.token-context bucket
1.objects,states,actions(behaviours)
2.input bkt,env bkt,output bkt
3.any of them can be pure object,state,action or combo
4.starts with input ...works through env bkt and ends in out bkt

2.p-s can contain direct tokens or indirect
lock-c, lock-s, door-frame, door
components can have inherited property A on B ...B is A
3.if energy can be packet with mass
4.conv-decon for mass-wave, then efficient transfer as per requirement

1.converter-deconverter,2 to n networking ...scope

Sunday, August 22, 2010

eng

1.a technology that can measure the relative distance between two objects (radar ... in small range)
not indirect .. like from signals of cellphones etc
2.a technology that can recognize an object beyond visual range
not indirect
3.a technology that can recognize a particular object in a moving video
4.a technology that can recognize a sound as belonging to object
5.a technology that can count objects in front
6.a technology that can hijack a nearby connectivity to send emergency, that can detect nearby usable connectivity
7.realtime connectivity ... packet connectivity

1.that can calculate the number of words typed remotely(non indirect)
3.that can replicate a 3 d structure (not indirect)
4.a tecnology that can calculate the exact amount of water,oxygen required for a period of next 1 hr
5.a technology that can measure the infection organisms threashold
6.a technology that can create energy packets .. that can be networked
7.1 to n conversion of any technology
8.a technology that can heal tissue rupture within hours
9.a technology that can calculate and tell if a person is at balance or what is his balance threashold
10.

eng

1.by default control eng is running
2.incoming info is stored in xml format
3.during branch jumps,backlink is maintained, function call simulation
4.during a build cycle the xml info is used to build the target engine
5.existing operating system libraries are used to build this new structure


1.need to define the xml as a summerised problem and solution
2.that will allow to use this information in other scenarios
3.or the machine itself will be able to use this information in other contexts

1.an example representation of the problem,solution is by using sets
eg:a set representing communication domain consisting of 2 component sets sender,receiver
they exchange tokens

2.In a system there will be multiple ,p-s contexts ... it should be link these p-s contexts to
create new p-s contexts, purely by machine

eng

1.default has bain looper with stack and control transport
2.default looper has link to xml token representation
3.the looper can create a system by reading the representation of xml
4.similar to this n number of other xml contexts can be interpreted by the looper
5.the xml contains statics,events,types,states tokens
6.the xml context is again represented in set tokens
7.this notation will help different contexts to work combined way

Saturday, August 21, 2010

eng

1.accounts on a common server,each account having a persistant thread
2.feedback through mail,special xml template
3.account to account communication
4.account to user communication, xml template

1.personal reminders,account settlements,threshold intimations,collaboration updates,database filling,xml based query and transfer

2.step 1 to 5 for goal
step 2 has 3 routes,step 3 has 2 routes
take right step at every instance to reach the goal
borrow information from another account - need to know when information is required and
how to ask for it and where from to ask
make a hypothesis, run it check the result and modify it
once the information is obtained , run it match the intermediate goals
ultimate and intermediate goals

storage,retrieval,verification all expressible by xml template

all action takes place in current context, can have link to other contexts
intermediate goals can pull in other contexts as well

need a sample where one previous state,hypothesis,current context , intermediate goal all
are expressed in xml

focus

1.push button focus is rare
2.natural way is by the process of elimination
3.thinking and retrying about subject or subjects,circling around it,then falling in place

Friday, August 20, 2010

work split

1. 100 for 80 - 20 rule
2. work unit,time unit
3. measure 100 in work and time unit
4. measure 20 in work and time unit
5. implementation should belong in 20, meaningful entity at a time
6.

template query

1.A and B asks the server for similar information
2.A,B gives the template in which the information is sent
3.uses xml for this purpose

Thursday, August 19, 2010

behavioural framework

1.the proto framework -- store,content model
2.control channel , normal channel
3.control mode,normal mode
4.ability to share objects to remote,file transfer

usage
begin with simple objects
sequentially build up the framework
get knowledge from another framework --- info share
motivation and means by which one framework asks another for objects

Tuesday, August 17, 2010

phy



1.http://opencores.org/project,usbhostslave,overview
2 http://opencores.org/project,spimaster

inline

1.inline
2.static inline
3.extern inline

ssh-keygen -t rsa
strip --debug-str[-s,-o file] .ko

google gadgets
site has an editor and api support to create small web gadgets

c++

1.store == prcontext
2.content == prcontext
3.args = prevent
4.single thread while loop
stack of frame
each frame queue of doublet (store,prevent)
loop:
from top
get first doublet
execute ->move_data(prevent)

move_data:
get protolayer context
get buffer
get state
create new arg
find next instruction
enqueue at tail of current frame

c++

1.structurals form locations
2.locations contain other structures
3.*A = B relation
4.location and content are of same type
5.call into location is passed on to the content
6.makes possible for dynamic change of the content
7.content is data or instruction
8.content = content + event

Monday, August 16, 2010

composition

1.dash board arrangement is better during the development stage
2.in class composition at the time of deployment

pathfinder

1.compile a binary
keywords - os, source code, environment, toolchain
2.load os
do action
3.load source code
do
4.load env
5load toolchain
6.compile

problem domain -- has data
1.solution has data + actions

Sunday, August 15, 2010

pathfinder

1.info stored in elements -- represented in xml format(metadata)
2.2 types static , structural info, dynamic info
3.static, basic framework of information domain
4.dynamic includes even state information with metadata
5.static,dynamic prints should be remotable

1.processing steps need to be associated with xml tree traversal,incoming tokens needs to be compared with the paths originating at current context and appropriate branch should be selected

why c++ not in kernel

linux - choice by linus torvalds to keep it out
windows - at the time of nt,xp driverstudio was available written by israeli engineers for c++
support on kernel
now wdf supports it
it needs special libraries, for constructors etc ... exception would be out .. its heavy , RTTI may be out???

ecos is c++, but it doesnt have distinction between kernel and user
there is a kernel written by italian guy which is in c++ ... its makefile is complicated

nachos is c++ , more like an interpreter

these side things will never catch up because for software, progressive development will always preferred rather than starting from scratch

its an art to derive stability out of chaos, many softwares

solutions

1.elimination
2.comparison
3.reinterpreting
4.transformation

pathfinder

1.All practical information needs to be encoded by a process
2.There should be metadata associated with this encoding process
3.The encoded information should be stored in database
4.It should be possible to create new information to be encoded using the previously stored
information as an element
5.It should be possible to solve a problem in a given context using the previously stored encodings
and the current problem context
6.It should be possible to alternate solutions to the same problem using different paths
7.It should be possible to determine if the alternate path chosen is right or wrong based on some
parameters
8.A machine should be able to use this encoded database to define new problems and suggest solutions
9.This machine should definitely be able to solve currently known
10.These problems and solutions the machine should be able to store in its private database which
will have a communication link to public database
11.This machine should be able to collaborate with other similar machines on a concrete platform to
find new problem domains and solutions
12.

organizer

1.should be able to setup on account basis
2.reminders,alarms,thresholds
3.through sms gateway should notify the mobile users

wireless sensors

1.source sends the beam across
2.objects reflect it
3.the reflected beam is interpreted and used to create sounds or vibrations
4.used for disabled persons
5.should be fittable on modile phones

Saturday, August 14, 2010

work flow

1.additional steps include
compilation
modification
debugging

2.favoured flow

50 - tht
20 - 15 code + 5 modification + compile
30 - debug

Thursday, August 12, 2010

protocol

1.dashboard configuration of protocol stack is not feasible because every layer setup
needs info about the previous layer and next layer
2.alternative is to do the setup within a layers context
3.when in the context it sets up the next layer , depth layers can be returned back

android graphics

1.graphics system is based on pipeline
2.A-->B-->rendering
3.in android there is the concept of surfaces,layers
4.its kind of stack arrangement where we see things that are on top
5.a layer can have multiple surfaces and multiple windows
6.a surface gets pushed to hardware for rendering

protocol state machine

below are some state handling scenarios
1.before sending connection request, complete comes
2.before connection request pending, complete comes
3.without a previous connection, connection reconfiguration comes
4.without a previous connection, close comes
5.without sending a connection request accept or reject comes

baseline for some of the in/out requests, checking of states are mandatory
some of them passes through this first layer, another layer of checking


sometimes state transition calls are synchronous
1.nas connection request may call rrc connection request and wait till it is completed
before changing its state

work flow

1.total work progress should follow the ratio of 80/20
2. 80 on abstract level -- tgt
3. 20 on paper -- code

Wednesday, August 11, 2010

storage media

1.boot sector
contains an execitable program within 512 bytes
contains a partition table

2.Partition table
contains entries for the different types of file systems distributes over the entire disk space
contains the addressible max space for the filesystem

Max number of primary partitions is 4

May be chaining of partition tables are possible

msi, msix basic idea

1.legacy system motherboards have the pci interrupt lines hardwired to cpu's in 1 to 1 manner in a SMP system
2.so if a device was allocated INT A line its interrupt would endup on proc 1
3.though the interrupt post processing can happen on any proc x because of DPC
4.msi,msi-x provides mechanism to dynamically decide the destination of an interrupt
5.there is a junction to which the interrupts are routed and where it is decided upon the cpu on which it will end
6. the whole process is transparent to the software
7. in this method additional pre specified context informations can also be specified with the interrupt

8. earlier interrupt handler used to take device_object as the incoming parameter
9. now it will be possible to associate context parameter to different interrupt lines , so that
for that line you will get a corresponding context
10.for eg assume that we have 6 receive queues, that have been programmed to transfer interrupts to 3 lines
11. so every time data comes to a receive queue, interrupt handler with corresponding queue context or device object with a queue number as parameter will be called.

c++ protocol

1. base class level specialization may be required
2. default contexts can increase in number based on specialization
3. demux,mux contexts can vary in implementation based on separate threads or live thread system

engineering everywhere

needs
1.a remote repo
2.basic environment, browser, bin cache(pkg), lib cache(pkg), ide, toolchains should be present in remote repo
3.fast download of the above to local repo
4.local repo has hooks to make the contents active on a button click
5.local repo has a rsync option so that any updation to its contents can be synced to remote repo

way to achieve this
1.use debootstrap , chroot method ... try first on usb pen drive

issues
1.typical remote repo size will be in gb's

compilers

1.cross compilers , host x, target y -- executable x, object-file y
2.cross debugger, host x, target y --- executable x, interprets y

linux kgdb basic idea

1.enable kernel hacking serial option ,select serial hardware
2.change kernel boot parameters,kgdbwait
3.when kernel boots it waits
4.on host open cross debugger,open vmlinuz from the kernel source root,set source path connect
5.to test if working set a well know system entry break point
6.press continue
7.it should hit the breakpoint
8.system.map is not necessary on target, it is used to resolve symbols in case of crashes on the kernel

Tuesday, August 10, 2010

arm board(beagle clones) - how to see it

1. has both wince and linux support
2. has 2 boot options .. from nand and mmc/sd
3. mmc/sd serves the purpose of floppy on desktop
4. with a bareskeleton nand , mmc booting can be used to flash other components to it
5. with a zero nand content , special techniques of using serial null modem cable to set it up for
basic booting
6. binaries used for mmc/sd booting .. MLO,uboot,kernel,rfs .. for nand XLOADER,uboot,kernel rfs
7. another important component the environment variables .. they are stored on the nand
8. there is separate section for mmc/sd env and nand env .. inaddition on the nand there are some other basic data
9. rfs can be on nand or sd interchangebly
10.some useful system running over it wince,0xdroid,rowboat etc

code.google.com

1.use eclipse for easier usage
2.install svn,openssh,git-core,git-svn on ubuntu
3.precreate google project
4.add repository path in eclipse
https://prototest.googlecode.com/svn/trunk
5.goto team option in the elclipse project,click on share project
6.when asked for username and passwd goto
https://code.google.com/hosting/settings
7.select files and commit

c++, protocol

1.common class to keep reference count
2.common class to stackup or organize similar objects
3.common class that helps to minimize operations, and demux all operations through a single interface
4.contexts to define an operations ... the operation parameters will be symmetrical across but the context determines what is done

1.context contains src,sink and signature routine that is overloaded and takes a event pointer or void args
2.it moves the data in units , minimal transition in a system
3.All layers are contexts,has a default signature functions
4.a layer has a chain of contexts each having the signature function
5.when the source to signature function is null the signature function may be in a demux context

code.google.com

it has its own repository either svn or mercurial

to add code , local system needs svn or mercurial installed

git and mercurial are alike because they allow collaboration better

there is also a way in which your personal repository can be mirrored on code.google.com.so the
original remains with you and what you see on the web is a mirror.In addition it provides all the
flexibilities of the hosted site

Monday, August 9, 2010

c++ -- protocols

1.the protocol system boundries will have n number of static classes
2.these statics are meant to link the new calls to entry points and in way sync into c++
3.at entries event object that has a span across the layers have to be created
4.if there are 3 layers, the event thus created together with polymorphism ,a single pointer
has to be casted to get appropriate layer data structures
5.physical medium better to design half duplex objects

java abstract, interfaces

concept of abstract === nterface
both needs implementations in the included classes
interfaces can be extended independently

Sunday, August 8, 2010

OFDM - mac

1. bandwidth determines subcarrier frequency spectrum
2. the duration of the data is determined by grant time

3. all 1500 frequencies are required to represent a sequence of symbols

ie IFFT is

1500 x 1 mul 1 x 1500 matrix multiplication

64 QAM at a go can decode 1 symbol of 8bits or 1 byte, in the cartisian coordinates amplitude and angles representthe 64 points on the graphs each representing particular symbol

incoming bitstream is organized as a 8bits or 1 symbol, they are then imprinted on a frequency, converted to time domain, raised by central frequency and sent out

phy starts with broadcasting zadoff-chou preambles from common shared set, eNb uses a ra process to select the UE and assigns dedicated resource for future communication with the UE

so when contention is resolved or a dedicated zadoff-chou preamble is detected , phy becomes ready to forward the accompanying messages to FFT of eNb side

phy view
phy has two threads
one deals with RACH
other with other channels

when RACH thread is done ,it handovers to other thread
when other thread needs RACH it invokes that

OFDM - mac

each ue has 3000 subfrequencies to work with, maybe 1500 are usable for data, 1 usable for synchronization

ue will not use all of them together, for max bandwidth

it will use a subset at a time, lower bandwidth

the allocation of the specific frequency set is indicated by eNb

so at a time multiple UE's will talk with eNb under different subsets of 3000 frequencies

if an eNb is overutilised another eNb in the same area can taken over more connections than 3000

the spectrum will be shared between different eNbs in the area

each spectrum band is split into 3000

Transport Block - mac unit

the centre frequency 1500 is used for special purpose

lte - mac

1.RACH - random access channel
2.DLSCH - downlink shared channel
3.PUSCH - uplink channel
4.BCH - broadcast channel
5.PCH - paging channel
6.MCH - multicast channel

the system begins by activities on the RACH, to get initial access ie exclusive radio access
once it it done control data is sent using the accquired resource

virtual memory, physical memory and os

In windows mdl holds an association between the physical pages and virtual buffers

A scatter gather entry represents a contiguous physical memory
It can span multiple pages if the vm associated extends
mostly the first SGE will have this

in this case from the virtual address find the corresponding physical address
this physical address will be on a page boundry by default
then calculate the offset of vm by finding the nearest page rounded vm and taking the difference
apply this difference to physical address

then start calculating the pages till but the last one

find the offset of the last one

In linux the procedure is same but the skb contains SGL with SGE's

protocol implementation

basic requirements

each layer of the protocol has a control block, and a set of callback functions and call forward functions

control block to store all the protocol related variables
callback functions for the lower layer to call into this layer
call forward functions to call into the lower layer

inaddition to this sublayering can be done in each layer


effectively top layer should handle serialization, and each lower layer handles only discontinuities

queues might be required at each layers

pre allocated buffers can be allocated for data

mostly cannot do away with dynamic allocation because there will be some linked list structures

if these can be populated during initialization all is good, otherwise need to handle systemwide
discontinuity

memory barrier

In SMP cpus sync with each other using MESI protocol

suppose a drivers buffer and a variable is declared side by side in its control block

ie

struct device {

char a;
char buff[x];
};

Unfortunately if the variable and the buffer happen to share same cache line , problems can arise

see the sequence
1.Dma writes to the buffer with shared cache line
2.user thread writes to the variable with shared cacheline
3.please note that the cpu handling dma write after process and the cpu associated with thread
might be different
4.so if the dma write after processing happens first and variable write after processing happends next the original dma content will be overwritten by the variable write

wince

wince has support for 8139 and NE2000 hardware under KITL
what it means is that in addition to normal 8139 and NE2000 drivers , its initialization
code has a custom driver (which is not the other 8139,NE2000 driver) that gets initialized
at the booting time.This will get discarded later if its not used by KITL

so if we need to debug a network driver in wince we need atleast 2 n/w interfaces once being
8139 compatible for eg dlink

its too difficult with the wince to bootup with usb,but since most of the time the images are on the usb so you cannot do without it too

Need dos to format the usb to create a FAT partition with bootsector written and command.com

later the loaded wince image can be made to use another partition on the usb as its filesystem

How to see linux

1.basic linux infrastructure contains
grub,initrd,kernel,rootfs

we need grub preinstalled on the boot medium
initrd binary
kernel binary
and expanded rfs or ramdisk rfs

each of the 4 can be setup independent of each other(compare with windows .. do we have this flex)

Interestingly initrd is almost similar to rfs, so what really happening is that at one stage of
booting kernel chooses initrd as its rfs and later switches to another rfs and this can be continued further if required

so rfs and kernel highly flexible design

now another interesting thing, all the devices are also files, it gives yet another level of
powerful feature

at the time of boot up kernel loads all the drivers and is initialized ... but if the device
nodes are not present as files on the rfs devices are unusable

so simply we can create device files in the filesystem on the fly to add devices to the system


as different rfs can be mounted on any rfs recursively its possible to switch between them at will

Qemu

Qemu without the guest:
1.has a mechanism by which it will advertise the availability of 8139,NE2000 network controllers
to the guest. So when the guest boots up it will automatically pick up 8139 and NE2000 drivers
from the kernel
2.So only these two drivers can be used to create a virtual ethernet driver on top of the host network system using qemu
3.It utilises bridging utilities brutility to create a virtual network comprising of guest networks
and host network
4.there is also a mode in qemu where an application tcpip stack is used to simulate the network

5.Again similar to the n/w interface UART is also advertised by the qemu

kqemu + processor hardware support can give near equal performance for a guest os

Saturday, August 7, 2010

electronics - 1

1.slingbox and .... are great products for home electronic enthusiasts
2.wide variety of receiver solutions are available for home, but as long as speakers
are wired cannot really have a integrated , extensible solution
3.Need to see the viability of using multiple small lcd screens to show a large picture,the simplest
solution for this

Friday, August 6, 2010

apartment wiring - 2

1.the dash box mostly at a common place at the basement contains the starting point of the cat3 cable that moves through the apartment

electrical - fuse,trips

1.magnetic -- these type of trips will break based on the fact that when more current passes through
a metal it will have higher magnetic properties . This is made use in breaking
2.Thermal -- when more current is passed through a metal high heat causes it to expand , this property is also made use in creating trip

electrical - extension box

1.plug points are considered to be ideal, with voltage at them as per specification.
2.if extension boxes are used then, the voltage at ext points will have a drop proportional to
extension wire impedence, hence the appliances connected to it will have a different life span
than specified in its manual over long use.
3.since the points are connected in serial, the point farthest from the extension box will have
more drop compared to near one

ofdm-2

1.television broadcasts also use ofdm to multiplex channels,but rather than air they do it on a
metallic medium

2.lan hmmm it seems is not FDM and its TDM or its neither

Thursday, August 5, 2010

oven details

Modes in oven
1.microwave
2.grill
3.convection

1.microwave
uses wave properties to vibrate food molecules and generate heat,and thus it cooks the food
inside out.cannot use to toast bread, toasting needs only the surfaces to be heated

2.grill
resembles traditional cooking
1.direct and indirect grill
one with lid open,other with lid closed
the coil used to heat mostly is on the top side, traditional cooking fire and bottom of the food are closer, in oven grill the coil and top of the food is closer

3.convection
grill + fans
grill cooks the food closer to the coil first, because the temperature is more at the top
convection uses fans to distribute the hot air evenly and thus cooks all the surfaces evenly

Sunday, August 1, 2010

driver design

1.layer abstraction
2.unified events and serialization
3.reference counting based ... serialization with no context information
4.discontinuities in the layers

home data wiring

usually at apartments uses cat3 wires with 2 data wire pairs, maximum data rate is 10mbps
apartments use serial wiring , if any point is currently unused it will be in the shorted stage
even cable wiring inside the home is serial wiring

wifi routers can act as clients , ie we can chain wifi routers
netgear router needs fw upgrade

protocol and hardware comparison

driver handles the events from system and the hardware, rest everything is data
when a protocol is added to this , it needs to interpret events originating at the remote system as well, so data in the previous case gets categorised into protocol events and data

hardware development

xilinx board
~75k
opencore libraries -- opencore.org
verilog code
opencore lib for pc interface --- pci

electrical connections

230v

2 Amps sockets
5 Amps sockets
16 Amps sockets

circuit breakers

inverters
power conditioners
KVA ratings %load

thick copper more conductivity than thin copper

memory barriers

smp systems have multiple processors
each processor has a cache
a cache can have multiple banks (odd and even)

a cache is a hash table
4 bit table with 2 entries -- total 16 + 16 entires -- both code and data lines
bit 8-11 are used a lines rest 8 bits form the cache line

on a dual processor system 2 threads are executing each one one proc,both accessing the flag
if one proc writes to the flag, behind the scene the value needs to be taken from the cache,moved
through the cache interconnect to the memory and again the interconnect need to update the cache of the second processor

Android - display

Android has a 2D and 3D software renderer

2D sw renderer the skia library

3D sw renderer is called pixel flinger

in addition hw support can be provided for 3D rendering

libhgl.so is the hardware renderer support .so

overlay engine is used for video acceleration

choice of 3D sw and hw renderer can be made by an activity using setEgl.... command

skia is used by default for menus

GL and canvas are different entities

both are bound to an activity using instance.. analogy ... like socket, process and tcp driver(==graphics driver)

an activity has a surface by default in view root,all menus are drawn on it, surfaceview and GLSurface view creates additional associated surfaces with the activity.Each surface is associated
with a graphics context ... context is either canvas by reference or EGL context by reference

wince

debugging
1.Needs two ethernet interfaces to properly use debugging over ethernet
2.KITL

Android - components

booting
1.Kernel loads into ram, starts initialization
2.searches init in initrd,
3.initrd mounts ramdisk or RFS and calls init
4.init searches for system.img , mounts

kernel debug

to redirect the console over a serial cable
1.enable settings in kernel hacking
2.dont forget to select serial option
3.additional settings in kernel arguments

to enable kgdb based debugging
1.again repeat the same above
2.put additional settings in kernel arguments
3.on the remote side start gdb with vmlinuz as arg
4.specify the source path
5.system.map is relevent only for target system , if the kernel crashes the target refers to
symbols in system.map its not relevent on kgdb based debugging
6.additional steps are required for module debugging

OFDM

how the data rides on a wave

1.A stream of data is organized into manageble chunks
2.Perception changed from stream of bytes to stream of bits
3.Bits are grouped in symbols
4.~1200 symbols are passed through a serial to parallel converter
5.each parallel line is connected to an IFFT line of 2048 lines
6.output is a matrix representation of the input in the frequency domain
7.this is passed to D/A converter and raised by a dash? frequency
8.the outgoing wave contains the data

exactly the opposite happens on the receiving side

emdedded development

Requirements
1.hardware
devkit8000 omap353x based development board
approx price 17k IR
2.software:
kernel,toolchain binaries got with the cd
download android eclair from embest git repository
download embest kernel patch for devkit8k from web
No charge

Thats all

way to go:
1.prepare the binaries
2.prepare the RFS
3.partition the mmc
4.put the bineries into respective partitions
5.change the mmc kenel arguments
6.boot from mmc