QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2369|回复: 6

大家讨论讨论怎么交叉编译吧,把好的软件都用到嵌入式系统里

[复制链接]
发表于 2006-1-7 09:19:03 | 显示全部楼层 |阅读模式
请有成功交叉编译经验的前辈多指点迷津,让大家少走弯路啊!
 楼主| 发表于 2006-1-7 09:25:15 | 显示全部楼层
先介绍一个在hhcn上看到的goahead webserver的移植方法,在s3c2410上试过绝对可行,如下:

  前一段时间, 弄了hh2410用的boa, 虽然能跑起来,总boa不太理想, 只支持cgi,不支持windows 常用的asp, 例外在网页权限方面虽然有人做过, 可挺麻烦, 运行只能在与特定的目录中运行(有defines.h 等确定) .于是,我在网上搜了一下, 发现了 goahead webserver,也可用于嵌入系统, 花了几天时间,把它移植到 hharm2410-r3 上运行了.支持asp,cgi,javascript,支持用户权限(我还没试过).可使用于linux,ucos,beos,windows等系统. 现把移植中与到的问题及解决方法告诉大家
1 下载后,解压到redhat9 的任一目录,例如 /web
2 在 /web/LINUX 目录中,修改 makefile 文件

原码有1MB多,无法附出,自己到网上找吗
  将 CC=/arm-linux-gcc
     AR=/arm-linux-ar
加到文件开始处,jiang其他处的 cc,ar改为 $(CC),$(AR)
3 在2410的 /etc/modules.conf 中加入
alias binfmt-464c off
4 make 生成 webs wj文件
5 在主机上运行minicom后 ,命令下运行 hostname localhost, 这个问题化了我很多时间,因为2410-r3 运行后没有 host名,不信,你运行 hostname看看,我得到的结果是 none,如果这样 webs 就无法运行
6 到主机 /web/LINUX,运行./webs&, 然后到任一主机浏览器上(同一网段),在地址处输入2410板的ip地址, 会看到 webserver 自带的页面,怎么样,蛮好看的吗

忘记说了,编译后用 strip 裁减生成的静态库与 webs 的文件大小,两个都在 120kb 左右,否则两个有 1.5MB

注:6 是接着 5 的, 在minicom下通过 nfs (华恒的说明书上有指导),到主机的 /web/LINUX 里运行交叉编译的 webs
回复

使用道具 举报

发表于 2006-1-10 15:56:47 | 显示全部楼层
不知道楼主可遇到过,在cross-compile的时候在configure的时候有test过不去`
是一个二进制的编译检测`,如果改变configure文件。重新autoconf又不成功
我就是这样干脆就直接用编译器scratchbox了`
回复

使用道具 举报

发表于 2006-2-17 15:56:06 | 显示全部楼层

在windows下做的网页移植到开发板服务器上打不开

先感谢楼主所作的贡献!
我用楼主介绍的方法成功在9200开发板上安装运行了goahead webserver,然后将我自己在windows下用dreamweaver做的 网页拷贝到web页面的文档目录,在pc机的ie浏览器上找不到我的页面,而且我的页面拷贝在linux后的文件颜色和服务器自带的页面文件颜色不一样,这是什么原因?
回复

使用道具 举报

发表于 2006-2-17 15:58:21 | 显示全部楼层
先感谢楼主所作的贡献!
我用楼主介绍的方法成功在9200开发板上安装运行了goahead webserver,然后将我自己在windows下用dreamweaver做的网页拷贝到web页面的文档目录,在pc机的ie浏览器上找不到我的页面,而且我的页面拷贝在linux后的文件颜色和服务器自带的页面文件颜色不一样,这是什么原因?
把网上任意的页面考到web页面的文档目录后,还是找不到页面,颜色还是和原带的文件不一样。
回复

使用道具 举报

发表于 2006-2-17 17:31:07 | 显示全部楼层
只要有了cross-toolchain。所有的软件都可以交叉编译到嵌入式系统中。
主要问题,多是依赖关系处理不好
回复

使用道具 举报

发表于 2006-2-18 11:20:58 | 显示全部楼层
Yes! When you got a package which you want to use in embedded sys. You should first read those config stuff first. Sometimes, I have to manually cross-compile the package... Long time ago, I did it for "sqlite" running on uCLinux and armLinux.

As to BOA, it's easy to use it with cross-compiler and references correctly setup. Furthermore, you can google for the references.
Good Luck!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 15:28 , Processed in 0.049384 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表