学习Linux设备驱动,首先要在自己的PC机上安装Linux系统,当然最好还要有一块属于自己的开发板等等,我这里用的是FriendlyARM公司的tiny6410开发板,采用的是S3C6410 ARM11处理器。这些准备工作就不再这里进行讲解了。那么下面我们就将进行设备驱动开发的第一步,建立交叉编译环境。
其实有了自己的开发板之后,开发板自带的资料都会有建立交叉编译环境大概方法,所以这里就tiny6410开发板简单地说一下交叉编译环境的建立。
首先要有 arm-Linux-gcc的压缩包,我这里用的是 arm-Linux-gcc-4.5.1,没有的话可以在网上下载,建立目录如 /opt/ARM/toolschain/4.5.1 将压缩包放入目录进行解压 sudo tar xvzf arm-Linux-gcc-4.5.1-v6-vfp-20101103.tgz 执行该命令后,就将arm-Linux-gcc-4.5.1安装到/opt/ARM/toolschain/4.5.1 目录下来。
第二部,把编译器路径加入系统环境变量,进入你的主目录,新建一个.bash_profile文件,例如在我的 /home/wanchres下 vim .bash_profile,然后将export PATH=$PATH:/opt/ARM/toolschain/4.5.1/bin 写入该文件中。以后进行交叉编译时,在主目录下,在终端中输入 . .bash_profile 就可以了。当然,可以通过echo $PATH 命令查看环境变量。
至此,交叉编译环境就搭建完成你可以通过命令 arm-Linux-gcc -v查看交叉编译环境是否搭建成功,如图:
说明已经成功。
最后将Linux 2.6.38(因为板子的内核版本是2.6.38)的内核解压到工作目录/opt/ARM/tiny6410/Linux中,以后开发驱动程序时方便建立内核源码树。
交叉编译环境搭建完成。