linux dvbh driver

Hey this is Michael's current job, write device driver under linux. DVBH player is the first project for me and I've already finished it. Here in this blog,I'm recording my result.

Website Counter

星期三, 二月 14, 2007

We're about to start our project

Today we discussed our project, we'v decide to start it.
It's mainly based on T-DMB and GPS. The device we're going to
design gonna be a car terminal embedded with T-DMB player and GPS browser

Hope this can be done

星期三, 十二月 13, 2006

tinyx build problem

Today I tried to build tinyx. Accroding to the INSTALL.txt I've to build ncurses first.
This "ncruses" is very hard to compile, I met problems, such as:


make[2]: Entering directory `/mnt/tmp/study/tinyx/ncurses-5.5/Ada95/gen'

./gen '' B A >Character_Attribute_Set_Rep
./gen: error while loading shared libraries: /mnt/tmp/study/tinyx/ncurses-5.5/lib/libncurses.so.5: ELF file OS ABI invalid

Any way, after make, I found these's libcurses.so.xxx. then I tried to make install, ignore that error. Then I finished compile the tinyx. Here I gonna place some detail infomation about build tinyx

星期二, 十二月 12, 2006

tslib download and cross compile for arm

Mine MatchBox>K+ & TinyX board is running,except the touch screen.
and tslib is the program I need. I met problem during the download and compile as many other people. So here I write download the download address and how to do the cross compile.

1. Where to download tslib source code.

Well, the tslib source code is maintained on a cvs server from handheld.org. you can get the latest version there:
export CVSROOT=:pserver:anoncvs@cvs.handhelds.org:/cvs
cvs login
(password:anoncvs)
cvs co apps/tslib

I downloaded 2 version through http, for I can't access the CVS server outside our company. Here are the addresses:
addr1 http://www.zelow.no/floppyfw/download/Development/src/ (I suggest use this one)
addr 2 http://mail.pdaxrom.org/download/1.1.0beta3/src/

2. How to compile
We've to manual set soem enviroment virables. and correctly configure the source code. I show you a build file wrote myself:
#step 1 play a trick
echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.autogen

#step 2 set the enviroment
export CC=/cross-compile/bin/arm-linux-gcc
export CXX=/cross-compile/bin/arm-linux-g++
export CONFIG_SITE=arm-linux.autogen
#step 2
./configure --build=i386-linux --host=arm-linux --target=arm --disable-inputapi --prefix=$PWD/build
do make and make install,you will get what you want under ./build. Actually you can set the prefix as your root_fs befor hand then after the "make install" these file are stay on position.


3. How to install
3.1 initialize the enviroment setting first, you'd better place them in /etc/profile or other place you like.
#haigang added this for tslib
export TSLIB_TSEVENTTYPE=H3600
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/touchscreen/0
export TSLIB_CALIBFILE=/usr/etc/pointercal
export TSLIB_CONFFILE=/usr/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts

3.2 modify the ts.conf file, pay attention here: you've got two things to do, first ,uncomment the correct device your board is using;second delete the commented lines. If you don't do the second step, you will met segment falt error.

4. run the programs
./ts_calibrate will do a calibrate
run ./ts_test you can play with your touchscreen! :^)

星期四, 十二月 07, 2006

How to Cross Compile DirectFB

How to Cross Compile DirectFB
haigang.xu@samsung.com

Now I've successfully made DirectFB running. It's very interesting to do this: grab some software from the open source and compile them made them running on my board.

Well, I played some trick on making the directFB running.
DirectFB introduction,please see the wiki page http://www.directfb.org/wiki/

What I did
1. Get the source code from dirctFB
I download DirectFB-1.0.0-rc2.tar.gz

2.configure and compile
Let me suppose you've already set the enviroment for cross-compiling,indicating that you've already got the cross-compiler. I'm using 3.4.4.

I made a BUILD file ,you can refer to this and modify according to your path setting.

export CC=/cross-compile/bin/arm-linux-gcc
export AR=/cross-compile/bin/arm-linux-ar
export LD=/cross-compile/bin/arm-linux-ld
export RANLIB=/cross-compile/bin/arm-linux-ranlib
export PREFIX=/tftpboot/root/usr
./configure --host=arm-linux --build=i386-linux --target=arm --prefix=$PREFIX --libdir=$PREFIX/lib --include=$PREFIX/include --disable-x11 --enable-debug --disable-voodoo --disable-mmx disable-see --disable-sdl --enable-jpeg --enable-zlib --enable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --with-gfxdrivers=none --with-inputdrivers=none


3. Modify something on the configure file
3.1 add one line
"have_linux=yes"
if the have_linux is not enabled, the FBDev will not be selected

3.2 Change the MODULEDIR
from MODULEDIR=$libdir/$MODULEDIRNAME
to MODULEDIR=/usr/lib$MODULEDIRNAME

4. run ./BUILD, this script will finish the configure work
if you met problems, check the config.log,you will find something. "Every problem has a reason", said one of my colleagues.

5. make
Sometimes if you met "undefined symbol" problem, check the LDFLAGS or CFLAGS and add the path of these .h files or lib files

6 make install
make sure the prefix is correctly set(CAUTION:it should be under your rootfs path otherwise your Host system file will be covered then your linux will not be boot successfully next time), then do the make install


I'm newbie to GUI compiling. I'm a kernel device driver and now I am interested in the GUI porting.

星期三, 十月 25, 2006

2.6-udev hint


I've compiled the udev and copied these binary image such as "udevstart udevd" etc. And now I'm trying to configure the cramfs so that the kernel can works with udev.

Now the problem goes like this:
Udev will create the device node automatically during the booting time of the kernel. Because the /dev need to be remounted as ramfs. ( I'm using cramfs in my arm11 board) So the /dev need to be remounted like: /sbin/mount -t ramfs /dev/ramfs /dev.

So how to configure the script so that the kernel will create all these nodes necessary such as /dev/console,/dev/fb0,/dev/tty etc?

I've read the article <<2.6>> http://linuxfromscratch.org/pipermail/hints/2004-February/002397.html it's helpful but still I don't know how to configure the udev script.

I need to know the detail sequence of booting .

星期五, 十月 20, 2006

2.6 Kernel Deleted the DEVFS and I've to use the newly designed udev


Udev is said to be better than DEVFS. And I 've to choice, the 2.6 kernel source tree has deleted the devfs.
What below is some useful articles about what udev is and how to use it.(I'm trying to use udev now in my arm11 board,whose name is called mdiracIII+

The useful articles: http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
The source code of udev : http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/
How to use udev: http://www.reactivated.net/writing_udev_rules.html

Hope you can learn from them

星期二, 八月 29, 2006

I'm looking for something about tinyx

linux mobile blog
http://blog.csdn.net/absurd/category/177437.aspx
A korean linux tech website, focus on linux, I found this when I was looking for tiny x porting
these's porting guide on that website.
http://www.korone.net/bbs/board.php?bo_table=qt_lecture&wr_id=105&page=4&sfl=&stx=&spt=&page=4&cwin=#c_293