1.layer abstraction
2.unified events and serialization
3.reference counting based ... serialization with no context information
4.discontinuities in the layers
Sunday, August 1, 2010
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
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
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
~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
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
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
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
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
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
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
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
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
Subscribe to:
Posts (Atom)