分类: 嵌入式
2013-08-21 16:42:30
首先说明一下软件情况:
vmware workstation 5.5.1
FC9
安装Vmwar Tools
选择VM-->install VMware Tools
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom/
[root@localhost ~]# cd /mnt/cdrom/
[root@localhost cdrom]# ls 后有
VMwareTools-6.5.0-118166.i386.rpm
VMwareTools-6.5.0-118166.tar.gz
[root@localhost cdrom]# cp VMwareTools-6.5.0-118166.tar.gz /tmp //拷贝到/tmp下
[root@localhost cdrom]# cd /tmp/
[root@localhost tmp]# tar zxvf VMwareTools-6.5.0-118166.tar.gz //解包文件
[root@localhost tmp]# cd vmware-tools-distrib/
[root@localhost vmware-tools-distrib]# ./vmware-install.pl //安装开始
一路回车之后出现:
What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]
The path "/usr/src/linux/include" is not an existing directory.
查看目录/usr/src/ 根本没有linux这个目录
只有/usr/src/redhat
安装kernel devel包
先查看内核版本号
[root@localhost ~]# uname -r
2.6.25-14.fc9.i686
[root@localhost ~]# rpm -q kernel-i686-devel
package kernel-xen-devel is not installed
这是i686的内核,所以,要安装对应版本号的 kernel-i686-devel rpm包:
下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/7201713/com/kernel-devel-2.6.25-14.fc9.i686.rpm.html
安装:
[root@localhost ~]# rpm -ivh kernel-devel-2.6.25-14.fc9.i686.rpm
完成安装后,在/usr/src/下已经多出了一个kernels目录
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
[root@localhost src]# cd kernels
[root@localhost kernels]# ls
2.6.20-2925.9.fc7.i686.rpm
表明kernel-xen-devel已经装好了
再次使用vmware-install.pl安装,
./vmware-install.pl
就一直enter,装完VMware Tools
(可自动找到配套的the directory of C header files了,哈)
在安装的最后阶段,会出现:
Do you want to change your guest X resolution? (yes/no) [no] y
Please choose one of the following display sizes (1 - 13):
[1] "640x480"
[2]< "800x600"
[3] "1024x768"
[4] "1152x864"
[5] "1280x800"
[6] "1152x900"
[7] "1280x1024"
[8] "1376x1032"
[9] "1400x1050"
[10] "1680x1050"
[11] "1600x1200"
[12] "1920x1200"
[13] "2364x1773"
Please enter a number between 1 and 13:
[3]
重启系统,OK了
步骤一:在内核文件夹的drivers/char下面编写驱动的.c文件,注意要用misc device(杂项设备)来注册;
步骤二:在同目录下的Kconfig和Makefile文件中做相应的修改;(Kconfig用于make menuconfig用,menuconfig实现具体还要makefile支持是否有模块支持)
步骤三:make menuconfig中加载模块,然后编译内核.bin文件;(对于初学这一步跳过)
步骤四:make SUBDIR=drivers/char/ modules,编译出驱动的.ko文件;
步骤五:编写应用测试程序,.c文件可以在任意的目录下,执行make后生成可执行文件;
步骤六:将内核的.bin文件、驱动的.ko文件以及应用程序的可执行文件一同转入PC机,用串口下载入开发板。(同3,.bin无需)
加入驱动的命令:cd /lib;(/lib/modules/2.6.32.2-FriendlyARM/)
rz;
insmod ***.ko; //得到加载成功的提示
加入应用程序的命令:cd /usr/sbin (或者/sbin); (这一步直接用./led a b (a取0-3,b取0、1)即可验证程序)
rz;
chmod 777 ***; //改变控制级别
***;