ARM 学习的总结

            闲来无事,总结一下学习ARM嵌入式的一些东西,其中包括SDL库函数里面的代码的简单的运行,Mp3移植,静态库,动态库的编译等, 下面的内容是一个shall脚本,是自己写的,目的是为了减少不必要再一个一个的命令向linux的终端敲而想出的懒招,但是,这确实非常方便,因为linux下的好多脚本都是这样弄的,

                  首先本shall脚本只适合自己写的文件夹,主要是里面进入文件夹的命令不一样(比如:cd  /root/wangjie/yizi/SDL),如果你学过Linux,可以把里面的路径改为自己所放的文件夹的路径,我的文件夹是在-------root------下的,这个文件可以--------详见我上传的文件夹(ARM 学习的总结)。

                  本文所依赖的库是------------SDL-1.2.14.tar.tar -------------libid3tag-0.15.1b.tar.gz  ------------- libmad-0.15.1b.tar.gz  -------------  madplay-0.15.2b.tar.gz  -------------

                 所需要的开发板是ARM6410的开发板。

1.shall脚本如下,首先把文件夹wangjie 放到root下,然后执行命令 ./wang 就可以进入选择界面,你就可以选择自己想要运行的那个程序。

 

#!/bin/bash

#filename:wang


echo "******************************************************"
echo      "1       运行SDL"  ***********echo "2 PC上运行MP3 "
echo      "3     生成静态库"   ***************echo  "4 生成动态库 "
echo      "5  makefile编译 "  ***************echo  "6 运行autotools"
echo      "7           挂载"  ***************echo  "8 开发板播放mp3"
echo      "9  开发板运行SDL"
echo "******************************************************"
echo "Enter Choice"
read CHOICE
case "$CHOICE" in
1)
cd  /root/wangjie/yizi/SDL
 tar -zxvf SDL-1.2.14.tar.tar 
 cd SDL-1.2.14
 ./configure
 make&&make install
 cd test 
 gcc testsprite.c  -o wang1 -I/usr/include/SDL  -L/usr/lib  -lSDL
 ./wang1
;;


2)
cd  /root/wangjie/yizi/mp3
 tar -zxvf libid3tag-0.15.1b.tar.gz 
 cd libid3tag-0.15.1b
 ./configure --prefix=/root/wangjie 
make&&make install
cd ..
tar -zxvf libmad-0.15.1b.tar.gz  
cd libmad-0.15.1b
./configure --prefix=/root/wangjie 
make&&make install
cd ..
tar -zxvf madplay-0.15.2b.tar.gz 
cd madplay-0.15.2b
./configure --prefix=/root/wangjie  LDFLAGS=-L/root/wangjie/lib  CPPFLAGS=-I/root/wangjie/include 
make&&make install
cd /root/wangjie/bin
cp madplay /root/wangjie/yizi/mp3
cd /root/wangjie/lib
cp libid3tag.so.0.3.0  libmad.so.0.2.1 /root/wangjie/yizi/mp3
 cd /root/wangjie/yizi/mp3
./madplay  a.mp3
;;


3)
gcc -c main.c
ar cr libmain.a  main.o
gcc -o wang3 main.c max.c -L. -lmain
./wang3


;;


4)
gcc -c -fPIC main.c 
 gcc -shared -fPIC -o libmain.so main.o
export LD_LIBRARY_PATH=.
 gcc -o wang4 main.c max.c max.h 
./wang4


;;


5)
echo -en file:wang50
gcc main.c max.c -o wang5  >wang60
make -f wang50
 ./wang5
;;


6)
autoscan
aclocal
autoconf
autoheader
automake --add-missing
./configure
make 
./wang6


;;


7)
arm-linux-gcc main.c max.c -o wang7
cd /etc/init.d
 ./nfs stop
./nfs start
cd ~
echo "mountnfs"
minicom
echo "以下不可以在开发板上执行因为开发板上缺少GCC"
mountnfs 192.168.1.18:/root/wangjie  /mnt/nfs
echo "以下不可以在开发板上执行因为开发板上缺少GCC"
cd /mnt/nfs
cd /dev
/mnt/nfs/wang7 >> tty0


;;




8)
cd  /root/wangjie/yizi/mp3
 tar -zxvf libid3tag-0.15.1b.tar.gz 
 cd libid3tag-0.15.1b
 ./configure --prefix=/root/wangjie  --host=arm-linux 
make&&make install
cd ..
tar -zxvf libmad-0.15.1b.tar.gz  
cd libmad-0.15.1b
./configure --prefix=/root/wangjie  --host=arm-linux
make&&make install
gedit Makefile
echo "请修改Makefile文件"
echo "Do you wang to continue"
read ANSWER
if [ $ANSWER=y -o $ANSWER=Y ]


make&&make install
cd ..
tar -zxvf madplay-0.15.2b.tar.gz 
cd madplay-0.15.2b
./configure --prefix=/root/wangjie  LDFLAGS=-L/root/wangjie/lib  CPPFLAGS=-I/root/wangjie/include  --host=arm-linux
make&&make install  
cd /root/wangjie/bin
cp madplay /root/wangjie
cd /root/wangjie/lib
cp libid3tag.so.0.3.0  libmad.so.0.2.1 /root/wangjie
then 
exit
fi
 
cd /etc/init.d
 ./nfs stop
./nfs start
cd  ~
minicom
echo "以下不可以在开发板上执行因为开发板上缺少GCC"
mountnfs 192.168.1.18:/root/wangjie /mnt/nfs
cd /mnt/nfs
cp libid3tag.so.0.3.0  libmad.so.0.2.1 /mnt/nfs/Qtopia/lib -f
./madplay  a.mp3


;;
9)
cd  /root/wangjie/yizi/SDL
 tar -zxvf SDL-1.2.14.tar.tar 
 cd SDL-1.2.14
./configure --prefix=/usr/arm  --enable-shared=yes --enable-nasm=yes  --enable-audio=yes --enable-oss=yes --enable-joystick=no  --enable-cdrom=no --enable-threads=yes --enable-timers=yes  --enable-file=yes --enable-esd=no --enable-arts=no --enable-nas=no --enable-diskaudio=no --enable-mintaudio=no  --enable-video-x11=no --enable-dga=no --enable-video-x11-vm=no --enable-video-x11-dgamouse=no --enable-video-x11-xv=no --enable-video-x11-xinerama=no --enable-video-x11-xme=no --enable-video-dga=no --enable-video-photon=no --enable-video-directfb=no --enable-video-ps2gs=no  --enable-video-opengl=no --enable-pth=no --enable-pthreads=yes --enable-pthread-sem=no --enable-input-events=no --build=arm --host=arm-linux CC=arm-linux-gcc AR=arm-linux-ar --enable-input-tslib=yes CPPFLAGS=-I/usr/arm/include LDFLAGS=-L/usr/arm/lib
make&&make install
cd test
arm-linux-gcc testsprite.c -o wang9 -I/root/wangjie/arm/include/SDL  -L/root/wangjie/arm/lib -lSDL


cd /etc/init.d
 ./nfs stop
./nfs start
cd ~
echo "以下不可以在开发板上执行因为开发板上缺少GCC"
minicom
echo "*****"
mountnfs 192.168.1.18:/root/wangjie /mnt/nfs
cd /mnt/nfs
cp /root/wangjie/lib/libSDL* /mnt/nfs/Qtopia/lib -f
cd SDL-1.2.14
cd test
./wang9

;;
 

esac 

2.运行 结果:

1.SDL 的运行结果如下

2.MP3运行的结果是可以再linux或者是开发板上播放一首歌曲

3.静态库,动态库,和makefile文件和运行autotools 都是运行编写的简单的代码,根据输入的两个数,求他们的最大值的不同方法,

4.开发板上运行的SDL和pc机上运行SDL的效果是一样的所以就没必要在贴图了

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

既然都看到这里,领两个红包在走吧!
以下两个红包每天都可以领取

1.支付宝搜索 522398497,或扫码支付宝红包海报。

支付宝扫一扫,每天领取大红包

2.微信红包,微信扫一扫即可领取红包

 

微信扫一扫,每天领取微信红包

小礼物走一走,来简书关注我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值