嵌入式linux 随笔

来源:互联网 发布:js获取子节点多一个 编辑:程序博客网 时间:2024/06/07 10:12
nfs传文件可以用tcp 速度快 不掉包 

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.136:/webee /mnt

重启 nfs 服务

/etc/init.d/nfs-kernel-server restart

==================================================================================================================================

内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。
那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。

==================================================================================================================================

挂载SD卡

mount -t vfat /dev/mmcblk0p1  /mnt

==================================================================================================================================
python 环境变量

CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar RANLIB=arm-linux-ranlib ./configure --host=i386-linux --build=arm-linux-gnu --prefix=/python


make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux CROSS_COMPILE_TARGET=yes HOSTARCH=i386-linux BUILDARCH=arm-linux-gnu


make install HOSTPYTHON=./hostpython BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux CROSS_COMPILE_TARGET=yes prefix=/python/_install



http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html


2.7.3

#python begin
export PYTHONHOME=/python
export PYTHONPATH=$PYTHONHOME:$PYTHONHOME/lib/python2.7:$PYTHONHOME/lib:$PYTHONH
export PATH=$PATH:$PYTHONHOME:$PYTHONPATH
#python end

/etc/profile 



==================================================================================================================================

s5pv210的wifi驱动 感觉有点艰难,关键是mmc不能识别,很郁闷,是没有唤醒么??但是别人的文章都没提到啊
问题可能出在初始化模块上,PD脚和RESET脚都没有初始化
Marvell linux kernel 3.8

PD脚和RESET已经初始化了 但是还是没有检测到mmc接口

诡异 




 417 struct s3c_sdhci_platdata s3c_hsmmc2_def_platdata = {
 418         .max_width      = 4,
 419         .host_caps      = (MMC_CAP_4_BIT_DATA |
 420                            MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
 421         .cd_type        = S3C_SDHCI_CD_PERMANENT,


http://download.csdn.net/detail/bighead_uestc/6891789

补丁


解决办法,添加SD卡的检测,初始化PD和RESET脚

==================================================================================================================================

http://www.linuxidc.com/Linux/2011-10/45202.htm


wpa的移植
==================================================================================================================================
sqlite3.6移植

http://life.zhourunsheng.com/post/2008-05-26/6535182

要改的代码在260 262行

==================================================================================================================================

S5PV210 USB HOST 

http://blog.csdn.net/girlkoo/article/details/8772221

0xEC20_0000
0xEC2F_FFFF
USBHOST_EHCI
0xEC30_0000
0xEC3F_FFFF
USBHOST_OHCI

==================================================================================================================================

u-boot 
uboot_Webee210\uboot_Webee210\arch\arm\cpu\armv7\s5p-common\cpu_info.c
uboot_Webee210\uboot_Webee210\common\cmd_menu.c

=================================================================================================================================
qt4
vi /bin/qt4
vi /ect/profile

==================================================================================================================================

python 

cp python2.7 /bin/python
cp lib/sqlite libsqlite3.so.0.8.6 /lib



==================================================================================================================================

AT070TN92
显示屏型号,下定决心,不用某家的破技术支持了


==================================================================================================================================

http://www.arm9home.net/read.php?tid=27536

添加编译工具所在目录到PATH
        vi ~/.bashrc 
        在文件末尾增加以下四行,添加完成后执行source ~/.bashrc 
        # set PATH here
        PATH=/opt/FriendlyARM/toolschain/4.5.1/bin:$PATH
        # export PATH
        export PATH

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

==================================================================================================================================

解决触摸屏没反应的问题。

触屏在/dev/input/event2

vi /etc/friendlyarm-ts-input.conf

TSLIB_TSDEVICE=/dev/input/event2


TSLIB_TSDEVICE=/dev/input/event1

==================================================================================================================================
交叉编译 
ghostscript

嵌入式Linux系统中打印机驱动的移植

[日期:2011-04-10]来源:Linux社区  作者:liaozhenqiu[字体:大 中 小]

一、开发环境

硬件环境:DM365

打印机型号:HP P1007

虚拟机系统:Red Hat Enterprise Linux 5

交叉编译环境:Ti交叉编译环境安装包

二、详细步骤

1.下载Ghostscript 9.01

2.解压,tar xzvf ghostscript-9.01.tar.gz

3.执行cd ghostscript-9.01  

4.执行./configure

5.执行make,生成x86下的gs,在源代码的bin目录下

6.解压,mkdir ghostscript-9.01.arm  tar xzvf ghostscript-8.15.tar.gz -C ghostscript-9.01.arm

7.进入ghostscript-9.01.arm,执行./configure --host=arm_v5t_le --prefix=/opt/printer(注:如果是在三星的板子上,修改--host=arm_linux)

8.执行make ,出错,复制ghostscript-9.01/obj目录下的mkromfs可执行文件拷贝到ghostscript-9.01.arm/obj目录下

9.重新执行make编译生成bin/gs,有17M的大小,再执行make install,将bin/gs拷贝到开发板中/bin目录下

10.在开发板中执行gs -h(x86下编译出来的gs),可获取gs的帮助信息,从中了解到相应支持的打印机的类型

11.将虚拟机中的/opt/printer,拷贝到开发板中相应的目录下。将源代码中的./Resources/Font拷贝到开发板中的/opt/printer1/share/ghostscript/9.01/Resource/Font下

12.虚拟机中执行arm_v5t_le-ldd bin/gs,查看可执行文件依赖的库文件,并将依赖的库文件拷贝到开发板中

13.下载foo2zjs

14.执行:tar zxf foo2zjs.tar.gz,cd foo2zjs ,make,并将生成的arm2hpdl保存下来

15.修改Makefile,使得CC=arm_v5t_le-gcc,执行make,(注:这里编译生成的结果是错误的,具体解决办法看下面)

16.配置虚拟机可上网,执行./getweb P1007,下载得到惠普打印机P1007的固件sihpP1005.img

17.将步骤14中保存的arm2hpdl替换步骤15编译生成的arm2hpdl二进制文件,执行./arm2hpdl sihpP1005.img > sihpP1007.dl

18.将foo2xqx及sihpP1007拷贝到开发板文件系统中的/bin目录下

文中要用到的Ghostscript 9.01与foo2zjs文件下载在Linux公社论坛的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:www.linuxidc.com

密码:www.muu.cc

在 2011年LinuxIDC.com\4月\嵌入式Linux系统中打印机驱动的移植

下载方法见 http://www.linuxidc.net/thread-1187-1-1.html



http://www.linuxidc.com/Linux/2011-10/45135.htm


Android 上移植 Ghostscript 9.04 静态编译

[日期:2011-10-12]来源:Linux社区  作者:maohuiabc[字体:大 中 小]

一、说明

因为Android没有glib库,而gcc默认为动态编译,为了使程序能在开发板上运行,我们自己的C程序需要采用静态编译。

ghostscript的下载地址为http://downloads.ghostscript.com/public/。我用的是ghostscript-9.04。

二、网上常见的方法

1.获取源代码

解压ghostscript-9.04.tar.gz ,并将解压后的ghostscript-9.04目录拷贝成ghostscript-9.04-pc和ghostscript-9.04-arm两分,分别用于编译PC主机上的gs和arm-linux上的gs。

命令:

#tarzxvf ghostscript-9.04.tar.gz

#cpghostscript-9.04 ghostscript-9.04-pc -R

#mvghostscript-9.04 ghostscript-9.04-arm

2.编译PC主机上的gs

命令:

#cdghostscript-9.04-pc/

#./configure

#make

这样就编译出了PC机上的gs,后面交叉编译时需要用到这一步编译出的中间文件,在./obj/aux/目录。

3.编译arm-linux上的gs

配置环境变量:

在环境变量PATH中添加交叉编译工具链的路径(arm-linux-gcc的路径)。

命令:

#exportPATH=$PATH:/toolschain/4.5.1/bin

开始编译:

这里的./configure命令需要与PC主机上的不同。

命令:

#cd../ ghostscript-9.04-arm/

#./configure--host=arm-linux

#make

编译过程会出现下面的错误

出现错误:

./obj/aux/echogs-w ./obj/devs.tr - -include ./obj/unix_

./obj/aux/echogs:1: Syntax error: word unexpected (expecting ")")

make:*** [obj/devs.tr] 错误 2

出错原因:

编译过程需要一些中间文件(echogs、genarch、genconf、mkromfs),这些文件在这里被编译成了arm-linux的,要在PC主机上运行者些文件是不行的,只好从ghostscript-9.04-pc/obj/aux/拷贝过来。

解决方法:

将ghostscript-9.04-pc/obj/aux/的三个文件echogs、genarch、genconf拷贝到ghostscript-9.04-arm/obj/aux/

命令:

#cp../ghostscript-9.04-pc/obj/aux/echogs ./obj/aux/echogs

#cp../ghostscript-9.04-pc/obj/aux/genarch ./obj/aux/genarch

#cp../ghostscript-9.04-pc/obj/aux/genconf ./obj/aux/genconf

#make

出现错误:

./obj/aux/mkromfs:2: Syntax error: word unexpected (expecting ")")

make:*** [obj/gsromfs1_.c] 错误 2

解决方法:

将ghostscript-9.04-pc/obj/aux/的文件mkromfs拷贝到ghostscript-9.04-arm/obj/aux/。注意,mkromfs需要更新修改时间, 否则它会被重新创建

命令:

#cp../ghostscript-9.04-pc/obj/aux/mkromfs ./obj/aux/mkromfs

#touch ./obj/aux/mkromfs

#make

编译完成,但是并没有静态编译,这样不能在Android下运行。主要是最后链接时没有使用-static。

找到./base/unixlink.mak,这个文件最后一部分用于最后链接。

将56行

$(ECHOGS_XE)-a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS)

改为

$(ECHOGS_XE)-a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS) -static

命令:

#rmbin/gs

#/bin/sh<./obj/ldt.tr

编译成功,可以下载到开发板上试试了

三、我对移植ghostscript-9.04过程的改进

#tarzxvf ghostscript-9.04.tar.gz

#cd ghostscript-9.04

#./configure--host=arm-linux

修改Makefile:

320行:修改STDLIBS=-lpthread-lm 为STDLIBS=-lpthread -lm-static

387行:修改CCAUX=arm-linux-gcc为CCAUX=gcc

#make

比上步省事多了吧。



http://www.linuxidc.com/Linux/2011-04/34420.htm

http://bugs.ghostscript.com/show_bug.cgi?id=692443
make XCFLAGS=-DHAVE_SYS_TIME_H=1





CCAUX  应该是生成工具的编译器的配置吧

最终的过程

修改STDLIBS=-lpthread-lm 为STDLIBS=-lpthread -lm-static

修改CCAUX=arm-linux-gcc为CCAUX=gcc



/configure --host=arm-linux --disable-fontconfig

make XCFLAGS=-DHAVE_SYS_TIME_H=1



得到gs 

可以配合Pychart

==================================================================================================================================


==================================================================================================================================


==================================================================================================================================


==================================================================================================================================


==================================================================================================================================







0 0
原创粉丝点击