SDL arm linux平台交叉编译(好文章已测试)

 

SDL arm linux平台交叉编译

分类: 嵌入式Linux 驱动及QT   4291人阅读  评论(28)  收藏  举报

 SDL arm linux平台交叉编译

 

以下所涉及到的SDL源码和demo源码,有需要的请留下你的email 我给你发过去.

一.准备条件及环境
   1.主机一台:装有linux操作系统
   2.目标版:arm-linux环境,如mini2440装有linux内核,内核版本高于2.6.0
   3.如果有对等网线可以连接主机与目标版,那么就不用准备U盘

二.准备软件步骤
   1.打开光盘中的SDL1.2.13源码包,拷贝并解压到你的主机目录下如:/root/work/SDL/
   2.打开光盘中的交叉编译工具3.3.2.tar.gz拷贝解压到你的主机目录下如:/root/work/linuxgcc/

三.安装交叉编译器
   1.把交叉编译器(arm-linux-gcc) 版本:3.3.2 文件路径在光盘上的交叉编译工具下
   2.在/usr/local/建立arm目录 
   3.解压缩3.3.2.tar.gz文件到/usr/local/arm/目录下
   4.现在你的交叉编译器的地址为:/usr/local/arm/3.3.2

四.编译安装SDL-1.2.13
   1.在你解压缩后,进入目录/root/work/SDL/
   2.运行配置
      ./configure --disable-video-qtopia --disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --target=arm-linux --host=arm-linux --enable-video-fbcon

          配置中指定使用帧缓冲设备,使用arm-linux-gcc交叉编译

   3. 运行make进行编译
  
   4. 创建目录 /root/work/SDLImage
   5. 创建目录 /root/work/SDLImage/Lib
   6. 创建目录 /root/work/SDLImage/Include
   7. 拷贝目录/root/work/SDL/build/.libs/目录中全部文件到 /root/work/SDLImage/Lib
   8. 拷贝目录/root/work/SDL/include/目录中全部文件到 /root/work/SDLImage/include
   9. 创建程序目录 /root/work/SDLImage/Project
   9. 编译demo程序 
      拷贝光盘上的SDL_DEMO/testalpha.c 文件到你的程序目录 /root/work/SDLImage/Project
      进入程序目录 /root/work/SDLImage/Project
      运行交叉编译命令:

      arm-linux-gcc -o testalpha testalpha.c -I/root/work/SDLImage/include/ -L/root/work/SDLImage/Lib/  -lSDL 
     
      等待运行完成后在该目录下生成一个执行文件:testalpha,
      恭喜你!!,证明你的SDL交叉编译环璋已经建立,该文件可以直接拷贝到arm目标版上运行.

五.在arm目标板上运行程序
   1.请选择主机与目标机的连接方式,这边我介绍两种,一种是对等网线采用NFS方式连接,别一种比较简单一点,用U盘拷贝程序及运行库
   2.采用网线的NFS方式连接 
     打开arm目标板的电源,进入linux系统后,运行命令
     
     mount -t nfs 192.168.0.12:/root/work /mnt/nfs -o nolock
     
    这里的主机IP地址是:192.168.0.12 NFS目录是/root/work

  
  3.采用U盘方式
    首先在目标机上格式化你的U盘为ext2文件格式
    把目录 /root/work/SDLImage/Lib 和 /root/work/SDLImage/Project 两个文件夹全部拷贝到U盘上 这时的U盘目录下就有两个文件夹Lib和Project

    把你的U盘插入arm 目标板后 arm目标版的电源
    进入系统后把U盘挂载到/mnt/nfs目录下
    注:U盘的挂载方法每种开发板都不一定相同,你可以参考开发板的说明文档.
  
  4. arm目标板的NFS挂接目录是:/mnt/nfs
    如果连接不成功请检查各各参数是否设置.

    连接城功后,进入目录/mnt/nfs/SDLImage/
    运行命令:
   
    export LD_LIBRARY_PATH=$PWD/Lib:$LD_LIBRARY_PATH
    
    该命令是设置SDL运行库的路径

    接下来就可以运行SDL Demo程序了
    进入目录:/root/work/SDLImage/Project
    运行命令:
 
    ./testalpha &

    惊喜的时刻到了吧,看看屏幕上有没有出现一个笑脸的图像呢? 到这一该就证明你已经成功移植了SDL到你的arm目标板上了.
    具体SDL程序如何写,请参考光盘上其它的文件.

你可能感兴趣的:(linux,测试,library,平台,编译器,linux内核,嵌入式Linux,驱动及QT)