第一次建立ARM9的QT开发平台,必须先编译开发ARM9功能所需的核心程式。一开始先将s3c2410_kernel2.4.18_r1.1_webcam.tar.bz2档放至个人 /root 资料夹中,然后开启终端机模式,切换到个人 /root 资料夹输入解压缩指令 root@ashou :~/#tar xvfj s3c2410_kernel2.4.18_r1.1_webcam.tar.bz2 解压缩完毕后,在个人 /root 资料夹中产生s3c2410_kernel2.4.18_r1.1_change的目录,此目录存放的是更改后的核心程式s3c2410_kernel2.4.18_r1.1。与原来核心程式版本的差异在于旧核心程式版本只支援到PWC-8.6;更改后的核心程式版本支援至PWC-8.8 。目的在于让2410能支援我们所买的webcam,型号为logitech quickcam 4000 pro 。为了日后可以使用核心程式来加速开发撰写ARM9的程式,我们将s3c2410_kernel2.4.18_r1.1_change搬移到 /usr/src目录中,在个人/root 资料夹输入指令如下 root@ashou:~/#mv /root/s3c2410_kernel2.4.18_r1.1_change /usr/src 如果一切顺利,s3c2410_kernel2.4.18_r1.1_change目录移至/usr/src资料夹内,画面如图1所示 图1. 更改后的核心程式目录s3c2410_kernel2.4.18_r1.1_change 为了日后可以使应用程式能include核心程式所提供有关于webcam的资料结构和驱动程式,切换至/usr/src,建立名称为linux的连结,指令如下 root@ashou :/usr/src#ln –s s3c2410_kernel2.4.18_r1.1_change linux 将s3c2410_kernel2.4.18_r1.1_change目录以softlink的形式连结至linux目录,以便能编译ARM9核心程式以及使用此更改后的核心程式来开发应用程式。 编译ARM9的核心程式(kernel)有两种方法:1.文字模式2.图形模式。文字模式 用Y/N的问答方式,不管是否有无变动都需做Y/N的问答,如此需要约2000次的问答;因此 用文字模式编译ARM9的核心程式太繁琐。 用图形模式编译ARM9的核心程式是针对须更动的部份做问答;如此大幅简化编译ARM9核心程式的过程。为了 用图形模式来编译ARM9的核心程式(kernel),我们必须安装libncurses5-dev套件。切换至/usr/src目录,然后下指令 root@s608:/usr/src#apt-get install libncurses5-dev 顺利安装libncurses5-dev套件后,开始编译核心程式指令如下 root@s608:/usr/src #cd linux root@s608:/usr/src/linux#make menuconfig 如果一切顺利,会出现图2的画面 图2 安装libncurses5-dev套件 下make menuconfig指令后,进入编译核心程式的视窗如图3所示 图3. 编译核心程式的视窗 选择 multimedia devices选项如图4所示 图4 选择 multimedia devices选项 按 enter键后如图5所示 图5. 选择 Video for Linux选项 然后按空白键选择Video For Linux,Video For Linux选项前面应出现<M>的符号,再按箭头键选择 Video For Linux --->,如图6所示。 图6. 出现<M>符号的Video for Linux选项 点选Video For Linux --->后会出现四个模组选项,分别是 Mediavision Pro Movie Studio Video For Linux CPiA Video For Linux CPia USB lowlevel Support NetWinder Video For Linux (EXPERIMENTAL) 这四个模组选项都需重新编译。首先按enter键点选Mediavision Pro Movie Studio Video For Linux,点选后该选项前面会出现<M>符号。以同样的方法点选其它三个选项,因此最后这四个选项前面都应该有<M>符号,如图7所示。 图7 出现<M>符号的四个子模组选项 点选完毕后按两次Exit选项,再点选 USB support如图8所示。 图8. 点选USB support选项 然后再点选 USB Philips Cameras选项,点选完毕后USB Philips Cameras选项前面会出现<M>符号,如图9所示 图9. 点选USB Philips Cameras选项 点选完毕后再按Exit选项出现图10画面,选Yes即储存新的核心程式设定。 图10. 选Yes储存新的核心程式设定 储存新的核心程式设定后,ubuntu作业系统自动进入文字模式的终端机视窗。检查/usr/src/linux/arch/arm/mach-s3c2410资料夹下的pcibuf.c的内容,有关MAX_SAFE、SIZE_SMALL及SIZE_LARGE参数必须设定如下:
H. 若~/root_english/Qtopia/qtopia-free-1.7.0/sets目录下没有(qcop-msg-language、qcop-msg-launchersettings、qcop-msg-qpe、qcop-msg-quicklauncher、qcop-msg-systemtime)这些档桉,则建立这些档桉:
M. 在~/root_english/usr/目录下新增share资料夹: root@s608:~#mkdir ~/root_english/usr/share
N. ~/qtopia_arm/qtopia-free-1.7.0/etc/目录下的zoneinfo档桉至~/root_english/usr/share目录中: root@s608:~#cp -rf ~/qtopia_arm/qtopia-free-1.7.0/etc/zoneinfo ~/root_english/usr/share
O. /usr/local/arm/2.95.3/arm-linux/lib/目录下的libuuid.so*档桉至~/root_english/lib/目录中: root@s608:~#cp /usr/local/arm/2.95.3/arm-linux/lib/libuuid.so* ~/root_english/lib/
P. 使用mkcramfs指令产生将root_english 目录下的档桉系统转换为.cramfs的档桉型态: root@s608:~#mkcramfs ~/root_english ./qtopia-1.7.cramfs
5. 将.cramfs档桉烧录至ARM-9 将档桉下载至ARM9的tmp资料夹有透过(telnet, ncftp)、minicom和(telnet, wget)三种方法。当档桉较小时,用com port 透过minicom传输较方便。如果忘记ARM-9的IP位址,也可透过minicom进入ARM-9查看ARM的IP位址。但是欲下载的档桉较大时,用minicom传输较费时,这时候建议使用(telnet, wget)的传输方法。 使用wget指令时,须先将欲下载的档桉放在/var/www资料夹内。