Linux 下 6410开发板 SDL 图形库的移植
本文档由 flyyang 编写 时间: 2012年12月4日 如若转载 请注明出处
1、首先我们要做的就是要准备我们要挂载的SDL压缩文件包 这里我所实验的是SDL-1.2.14.tar SDL的一个比较重要的文件 SDL中有好多个用一实现各个功能的文件 SDL_gfx-2.0.20.tar() SDL_image-1.2.10.tar(支持时下流行的图像格式:BMP、PPM、XPM、 PCX、GIF、JPEG、PNG、TGA) SDL_mixer-1.2.12.tar(更多的声音输出函数以及更多的声音格式支持) SDL_net-1.2.8.tar(网络支持) SDL_rtf-0.1.0.tar(简单的 RTF 渲染支持) SDL_ttf-2.0.11.tar(TrueType 字体渲染支持) 等这些个文件
2、当我们准备好了我们将要移植到6410开发板上的SDL的图形库文件以后 我们就可以进行移植了 哦 对了 我们要先进入Linux系统下 呵呵 这是非常重要的 因为我们做的就是Linux 下 6410开发板 SDL 图形库的移植
3、在Linux系统下面我们可以建立一个文件目录 用于存放我们的SDL图形库的压缩文件 这里我就把设个目录建立在usr下的 名字叫 fly的目录下的 这样我们就可以启动终端了
4、在移植SDL到6410上最为重要的一步就是文件系统的挂载 这里我就说一下文件系统的挂载
首先检查PC机与开发板的连接 串口 网线 电源 等连接是否错误 若出现错误 改正
在Linux系统下 打开终端 输入 minicom -s 按回车键 跳出菜单项 检查设置是否正确 然后选中 exit 退出 然后打开开发板电源 执行 成功进入6410终端
再打开一个终端输入窗口,然后分别在PC机和6410的终端上 输入 ifconfig 查询各IP地址是多少 (注:假设PC机的IP为 192。168.1.1)
我们获得了PC机和6410的IP地址后 在PC机终端下 输入 ping 192.168.1.199 检查PC机网络与6410的联通 再在6410的终端下 输入 ping 192.168.1.1 检查是否联通
若我们检查网络连通正常 如果不正常检查网线连接 我们把我们想要挂在的目录 配置到 /etc/expots 下( 假设我们想要挂载的目录是 /usr/fly ) /usr/fly 192.168.1.199 (rw sync ) 也就是把这句 写到 /etc/expots 下保存 即可
然后 我们回到 6410的终端下面 在终端下面 我们就可以输入 挂载的命令了
6410# mountnfs 192.168.1.1:/usr/fly /mnt/nfs
然后 回车 或许我们可能会挂载 失败 出错的信息 我就不打出来了 反正就是执行这样的命令以后就是没有挂载成功
如果我们 没有挂载成功 我们就需要 重新启动一下 nfs 了 我们只需 cd /etc/init.d/ 下 然后我们 ./nfs restat 这样 nfs 就重新启动 然后我们就再次执行以下# mountnfs 192.168.1.1:/usr/fly /mnt/nfs 命令 即可 挂载成功
1.我们要查询是否挂载成功了 只需 cd /mnt/nfs 下 然后 ls 一下 就会显示列出你挂载的目录下的文件
5、当我们的文件系统挂载成功了也就为我们的移植做好的及其重要的铺垫 下面我们就进行SDL的移植工作 首先我们要移植的是SDL-1.2.14.tar
移植 SDL-1.2.14.tar
首先我们要建立我们要安装的目录 这里我们就 /opt/fly 下
进入存放SDL文件的目录下面
解压该SDL-1.2.14.tar 压缩文件
#tar -zvxf SDL-1.2.14.tar
#cd SDL-1.2.14.tar
然后我们就进行最为重要的一步 configure 的配置
#./configure --prefix=/opt/fly --disable-video-nanox -disable-video-qtopia --disable-video-photon --disable-video-ggi --disable-video-svga --disable-video-aalib --disable-video-dummy --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-video-x11 --disable-nasm --enable-joystick --enable-input-tslib --enable-video-fbcon --host=arm-linux --build=i386
# make
#make install
这样我们的SDL的SDL-1.2.14.tar 就编译安装好了 这时候我们就可以进入我们的安装目录 在 我们的安装目录下面 的include 下面是我们SDL的头文件 在我们的lib 目录下是我们的SDL函数库文件 这时候我们要做的就是把我们编译所生成的库文件 先拷贝到 我们共享的挂载的目录下面 然后在我们的6410的终端下面 进入cd /mnt/nfs 下 ls 可以查看到我们拷贝过去的 库文件 然后我们要做的就是 再将这下面的库文件 利用 cp 命令 拷贝到 /mnt/yaffas/Qtopia/lib 下面 (命令 cp )这样我们在6410开发板上要运行可执行的文件 所要用到的 库 就已经 装载完成了 哈哈 至此我们的SDL图形库就已经算是移植成功了 剩下的就是我们在Linux下PC机下利用arm-linux-gcc 命令编译 .c 的文件了 只是进行的测试 哈哈 期待结果的出现吧 。。。。
在Linux下PC机下利用arm-linux-gcc 命令编译 .c 的文件 我们 所要要试验的在我们移植的SDL-1.2.14.tar 下test下 的一些测试的程序 我们进入test目录下以后 选定我们要编译的.c 文件 假设我们要编译testspring.c 文件 利用以下命令编译即可(注: 必须用arm-linux-gcc 进行编译 )
#arm-linux-gcc testspring.c -I /opt/fly/include/SDL -L /opt/fly/lib -l SDL -o arm-test
这样我们就生成了arm-test 可执行文件 当让用arm-linux-gcc 所生成的可执行文件在Linux下是不能执行的 原因就是 Linux 和 6410开发板所使用的 指令集 不一样 这个我就不在多做解释了
当我们利用arm-linux-gcc 编译生成 了 可执行文件以后 我们 是要让他在6410 开发板上执行的 所以呢 我们所要做的就是要把 我们编译 所生成的 可执行文件和他执行所要的文件一并拷贝到 我们的共享目录下面 也就是我们挂载到6410卡发版上的那个目录下面
当我们完成了拷贝以后呢 哈哈 我们的测试马上就要成功了 我们在6410的终端下面 进入我们共享的目录 只需运行我们 的arm-linux 执行文件即可 哈哈 祝贺你 看板子 成功了 还是比较漂亮的吧 自己给自己呱唧两下 鼓励一下喔。。。。。
最后 写的有些罗嗦 希望不要见怪 这都是为了让那些初学者看懂。。。