基于linux系统的数码相框开发配置说明

Linux数码相框项目配置说明书:

First:使用TQ2440自带的linux系统,在该系统下进行如下配置:

建议一个数码相框项目使用的根目录,在其下组织响应的目录结构:
如:
a.我使用/home/sky/hjmPhotoFrame目录作为项目的根目录;
b.该目录下,创建my_test2, jpeg-8, freetype-2.3.11, src-X86 共4个目录;
该4个目录说明:
 1.my_test2:存放数码相框主程序(main),背景图片(2008.jpg,976.jpg,2755.jpg),字体模板库(classcircle.ttf)
 用户图片(), 用户音乐(), 音量控制程序(volctrl),图片音乐服务器主程序()
 2.jpeg-8:存放jpg图片解码库(jpeg-8/.libs/libjpeg.so.8.0.0,可能需要其软连接),由主程序使用时进行加载;
 3.freetype-2.3.11:存放字体库解释程序库(freetype-2.3.11/objs/.libs/libfreetype.so.6.3.22,可能需要软连接),
   由主程序使用时进行加载;
 4.src-X6:存放音频mp3文件解码库(src-x86/libid3tag-0.15.1b/.libs,src-x86/libmad-0.15.1b/.libs等);
c.触摸屏的库tslib,由于早期做了不差当的安排,
  与上面的路径不一样:在/opt/下,加进tslib库目录,目录有bin,etc, include,lib 4个目录;lib里保存了触摸屏库;

重点1:需要在/etc/profile里加进这些库路径,让主程序可以找到,执行命令(source /etc/profile)使其生效;
修改后的profile文件如下:
# 前面省略
HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH

PHOTOFRAME_PATH=/home/sky/hjmPhotoFrame
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHOTOFRAME_PATH/jpeg-8/.libs
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHOTOFRAME_PATH/freetype-2.3.11/objs/.libs
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHOTOFRAME_PATH/libmad-0.15.0b/.libs
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHOTOFRAME_PATH/src-x86/libmad-0.15.1b/.libs
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHOTOFRAME_PATH/src-x86/libid3tag-0.15.1b/.libs

#触摸屏库路径
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TS_INFO_FILE=/sys/class/input/input0/uevent
export LD_LIBRARY_PATH=lib:/usr/lib:$TSLIB_ROOT/lib:$LD_LIBRARY_PATH

注意:尽管加入了以上的库路径,但是还可能会提示某些动态库文件找不到,这是因为这些文件为软连接,可能在文件复制的
时候掉失,可以自己手动地在对应位置创建这些软连接,如找不到libjpeg.so.*.*,它指向libjpeg.so.2,
那么就查看对应库目录(可以参考Makefile文件),在该目录下创建对实际库的链接,
如 ln -s libjpeg.so.2 libjpeg.so.*.* 这样就可以了,实在不行就参考PC机里的库的对应目录查看;


重点2:自动启动需要修改/etc/init.d/rcS文件,修改后为:
#前面省略
qtopia &                                 
/bin/hostname -F /etc/sysconfig/HOSTNAME 
                                         
sleep 8                                  
killall qtopia                           
killall qpe                              
killall qss                            
killall quicklauncher                  
                                       
source /etc/profile                    
cd /home/sky/hjmPhotoFrame/my_test2    
./main &

2.my_test2目录下,必须有的文件:
 1.背景图片:2008.jpg,976.jpg,2755.jpg
 2.字体库:classcircle.ttf
 3.主程序:main(可执行文件)
 4.音乐播放程序:madplay(可执行文件)
 5.用户图片目录:picture(目录)
 6.用户音乐目录:music(目录)
 7.音量调整目录:
  volumn(目录)包含音量调整的源文件和可执行程序(volctrl)供main使用,但是要把volctrl放入/usr/bin/目录里;
 8.在线更新服务器目录:
  update_server(目录)包含更新服务器源代码和可执行程序(sever)供PC主机使用,放在主机里;


Second:主机开发配置说明:
建议一个数码相框项目开发的根目录,在其下组织响应的目录结构:
a.我使用/home/linux/hjm/dg_ph_arm_pro/PROJECT目录作为项目开发的根目录;
b.该目录下,有my_test2, jpeg-8, freetype-2.3.11, madplayer,tslib 共5个目录,这写目录为必须的,不可变动其里面的内容,
 因为已经是从压缩包里进行了麻烦的配置了,不懂这些配置最好别动,然后按照上面First的说明,把这些库包拷进开发板里;
 
 该4个目录说明:
 1.my_test2:存放数码相框主程序及所有代码(main),字体模板库(classcircle.ttf)
 用户图片目录(picture), 用户音乐目录(music), 音量控制目录(volctrl),在线更新目录(update_server)
 2.jpeg-8:存放jpg图片解码库(jpeg-8/.libs/libjpeg.so.8.0.0,可能需要其软连接),由主程序使用时进行加载;
 3.freetype-2.3.11:存放字体库解释程序库(freetype-2.3.11/objs/.libs/libfreetype.so.6.3.22,可能需要软连接),
   由主程序使用时进行加载;
 4.madplayer:存放音频mp3文件解码库(src-x86/libid3tag-0.15.1b/.libs,src-x86/libmad-0.15.1b/.libs等);
 5.tslib:触摸屏的使用库;

更新说明:由于技术没到家,暂时把IP地址:192.168.1.10作为服务器地址,写死了进程序,所以,更新时必须把主机地址改成这个
   才能启动服务器,并更新;

改进提示:
 由于早期开发,知识程度较低,整个程序为实现功能为主,程序可能写得很糟糕,后期需要改进,或者使用其他语言进行
 升级,重构界面元素和相应实现算法和逻辑;库的使用用了一个笨方法,后期要学会抽取库有用信息出来,要不浪费开发板
 内存空间;


最后,总结一下所用到得文件,可能不完善,自己看着找找差那个:
1. my_test2目录,主程序源代码,次级音量volumn,更新服务器update_server目录及其源代码,
2. jpeg-8, freetype-2.3.11, madplayer,tslib 共5个库目录;
2. volumn目录,音量控制程序;
3. update_server目录,更新程序;
4. 开发板/etc/profile, /etc/init.d/rcS, /opt/tslib;

当出现问题时:请认真查看以上所有步骤;如:ip地址是否与源程序里的一致,是否使用了正确的命令,库路径是否正确;


命令笔记:

1.挂载命令
mount -t nfs 192.168.0.10:/home/hjm/linux(远程机目录) /mnt(本机目录)
-o nolock (目录必须有读写,执行权限)

2.执行bash脚本命令:
source 脚本.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值