搜档网
当前位置:搜档网 › 我的ARM移植记录

我的ARM移植记录

1,下载LINUX-2.6.24的代码
2,修改Makefile 里面的ARM和ARM-LINUX-
3,将ARM下面的CONFIG里面的SMDK_S34。。的CONFIG文件复制到根目录的.config
4,开始修改MTD中的DEFUALT的分区,

static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "Bootloader",
.size=0x40000,
.offset = 0,
},
[1] = {
.name = "kernel",
.size=0x200000,
.offset = 0x200000,
},
[2] = {
.name="RootFile",
.size=0x0FB80000,
.offset=0x00400000,
},
};


5,分区完了之后移植CS8900的驱动。
6,这个时候就可以配置MENUCONFIG来启动内核了
7,我加入了LED的驱动,正常使用中。。。
8,我加入了YAFFS2的文件系统支持,正常使用中。。。
9. 接下来我做了LCD的移植,耗时1天。关键是下面的代码


static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
{
/* Configuration for 640x480 SHARP LQ080V3DG01 */
.lcdcon5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (1<<5) | (1<<3) |(0<<1) | (1),
.type = S3C2410_LCDCON1_TFT,
.width = 320,
.height = 240,

.pixclock = 80000, /* HCLK/4 */
//.setclkval = 0x3,
.xres = 320,
.yres = 240,
.bpp = 16,
.left_margin = 28,
.right_margin = 24,
.hsync_len = 42,
.upper_margin = 6,
.lower_margin = 2,
.vsync_len = 12,
}
};

static struct s3c2410fb_mach_info smdk2410_lcd_cfg __initdata = {
.displays = qt2410_lcd_cfg,
.num_displays = 1,
.default_display = 0,

.gpccon= 0xaaaaaaaa,
.gpccon_mask= 0xffffffff,
.gpcup= 0xffffffff,
.gpcup_mask= 0xffffffff,
.gpdcon= 0xaaaaaaaa,
.gpdcon_mask= 0xffffffff,
.gpdup= 0xffffffff,
.gpdup_mask= 0xffffffff,

.lpcsel = ((0xCE6) & ~7) | 1<<4,
};
10.之后就做触摸屏的移植,详情很多
11.移植TSLIB
注意:
先解压压缩包后 TSLIB1.4
>./autogen.sh
>echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
>./configure --host=arm-linux --prefix=$PWD/image --cache-file=arm-linux.cache --enable-inputai=no
>make
>make install
拷贝到image,改名为TSLIB,ARM根目录下
1,修改TS.CONF,在TSLIB中的ETC中
2,修改环境变量



export TSLIB_ROOT=/tslib
export TSLIB_TSDEVICE=/dev/event0
export LD_LIBRARY_PATH=/tslib/lib:$LD_LIBRARY_PATH
export QWS_SIZE=320x240
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/tslib/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export QT_QWS_FONTDIR=/qte/fonts
export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"


12.QTE移植
先解压
然后
./auto....sh
然后按照下面的配置configure

./configure -prefix /usr/local/QtEmbedded-4.6.2-arm
-opensource -confirm-license -r

elease -shared -embedded arm
-xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake
-pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype
-little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl
-no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis
-no-opengl -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info
-nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
-D__ARM_ARCH_5TEJ__


然后gmake
然后gmakeinstall

00-26-9e-15-00-16
0915*******
307826




相关主题