⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何为嵌入式开发建立交叉编译环境 wimax宽带无线网络技术论坛 - www_wimax_org_cn.htm

📁 再做嵌入式开发的时候
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                        <P>配置完后就可以编译和安装 glibc</P><BR>
                        <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                        bgColor=#eeeeee border=1>
                          <TBODY>
                          <TR>
                            <TD><PRE><CODE class=section>
<FONT face="Lucida Console">$make
$make install_root=$TARGET_PREFIX prefix="" install
</FONT></CODE></PRE></TD></TR></TBODY></TABLE><BR>
                        <P>然后你还要修改 libc.so 文件</P>
                        <P>将<BR>GROUP ( /lib/libc.so.6 
/lib/libc_nonshared.a)</P>
                        <P>改为<BR>GROUP ( libc.so.6 libc_nonshared.a)</P>
                        <P>这样连接程序 ld 就会在 libc.so 
                        所在的目录查找它需要的库,因为你的机子的/lib目录可能已经装了一个相同名字的库,一个为编译可以在你的宿主机上运行的程序的库,而不是用于交叉编译的。</P><BR>
                        <TABLE cellSpacing=0 cellPadding=0 width="100%" 
border=0>
                          <TBODY>
                          <TR>
                            <TD><IMG height=1 alt="" src="" 
                              width="100%"><BR><IMG height=6 alt="" src="" 
                              width=8 border=0></TD></TR></TBODY></TABLE>
                        <TABLE class=no-print cellSpacing=0 cellPadding=0 
                        align=right>
                          <TBODY>
                          <TR align=right>
                            <TD><IMG height=4 alt="" src="" width="100%"><BR>
                              <TABLE cellSpacing=0 cellPadding=0 border=0>
                                <TBODY>
                                <TR>
                                <TD vAlign=center><IMG height=16 alt="" src="" 
                                width=16 border=0><BR></TD>
                                <TD vAlign=top align=right><A class=fbox 
                                href="http://www-128.ibm.com/developerworks/cn/linux/l-embcmpl/#main"><B><FONT 
                                color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
                        <P><A name=N102B8><SPAN class=atitle><FONT face=Arial 
                        size=4>建立全套编译器(full gcc)</FONT></SPAN></A></P>
                        <P>在建立boot-gcc 
                        的时候,我们只支持了C。到这里,我们就要建立全套编译器,来支持C和C++。</P><BR>
                        <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                        bgColor=#eeeeee border=1>
                          <TBODY>
                          <TR>
                            <TD><PRE><CODE class=section>
<FONT face="Lucida Console">$cd $PRJROOT/build-tools/build-gcc
$../gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++
</FONT></CODE></PRE></TD></TR></TBODY></TABLE><BR>
                        <P>--enable-languages=c,c++ 告诉 full gcc 支持 c 和 c++ 
                        语言。</P>
                        <P>然后编译和安装你的 full gcc</P><BR>
                        <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                        bgColor=#eeeeee border=1>
                          <TBODY>
                          <TR>
                            <TD><PRE><CODE class=section>
<FONT face="Lucida Console">$make all
$make install
</FONT></CODE></PRE></TD></TR></TBODY></TABLE><BR>
                        <P>我们再来看看 $PREFIX/bin 里面多了哪些东西</P><BR>
                        <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                        bgColor=#eeeeee border=1>
                          <TBODY>
                          <TR>
                            <TD><PRE><CODE class=section>
<FONT face="Lucida Console">$ls $PREFIX/bin
</FONT></CODE></PRE></TD></TR></TBODY></TABLE><BR>
                        <P>你会发现多了 arm-linux-g++ 、arm-linux-protoize 和 
                        arm-linux-c++ 几个文件。</P>
                        <P>G++-gnu的 c++ 编译器。</P>
                        <P>Protoize-与Unprotoize相反,将K&amp;R C的源码转化为ANSI 
                        C的形式,函数原型中加入参数类型。</P>
                        <P>C++-gnu 的 c++ 编译器。</P>
                        <P>到这里你的交叉编译工具就算做完了,简单验证一下你的交叉编译工具。</P>
                        <P>用它来编译一个很简单的程序 helloworld.c</P><BR>
                        <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                        bgColor=#eeeeee border=1>
                          <TBODY>
                          <TR>
                            <TD><PRE><CODE class=section>
<FONT face="Lucida Console">#include <STDIO&#46;H>

int main(void)
{
	printf("hello world\n");
	return 0;
}

$arm-linux-gcc helloworld.c -o helloworld
$file helloworld
helloworld: ELF 32-bit LSB executable, ARM, version 1, 
dynamically linked (uses shared libs), not stripped
</FONT></CODE></PRE></TD></TR></TBODY></TABLE><BR>
                        <P>上面的输出说明你编译了一个能在 arm 体系结构下运行的 
                        helloworld,证明你的编译工具做成功了。</P><BR>
                        <TABLE cellSpacing=0 cellPadding=0 width="100%" 
border=0>
                          <TBODY>
                          <TR>
                            <TD><IMG height=1 alt="" src="" 
                              width="100%"><BR><IMG height=6 alt="" src="" 
                              width=8 border=0></TD></TR></TBODY></TABLE>
                        <TABLE class=no-print cellSpacing=0 cellPadding=0 
                        align=right>
                          <TBODY>
                          <TR align=right>
                            <TD><IMG height=4 alt="" src="" width="100%"><BR>
                              <TABLE cellSpacing=0 cellPadding=0 border=0>
                                <TBODY>
                                <TR>
                                <TD vAlign=center><IMG height=16 alt="" src="" 
                                width=16 border=0><BR></TD>
                                <TD vAlign=top align=right><A class=fbox 
                                href="http://www-128.ibm.com/developerworks/cn/linux/l-embcmpl/#main"><B><FONT 
                                color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
                        <P><A name=resources><SPAN class=atitle><FONT face=Arial 
                        size=4>参考资料 </FONT></SPAN></A></P>
                        <UL>
                          <LI>Wookey ,Chris Rutter, Jeff Sutherland, Paul Webb 
                          ,《The GNU Toolchain for ARM Target HOWTO》<BR><BR>
                          <LI>Karim Yaghmour,《Building Embedded Linux 
                          Systems》,USA:O'Reilly,2003</LI></UL></TD></TR></TBODY></TABLE></SPAN><BR><!----></TD></TR>
              <TR vAlign=bottom bgColor=#ffffff>
                <TD colSpan=6><!----></TD></TR>
              <TR vAlign=bottom bgColor=#ffffff>
                <TD colSpan=5><!----><FONT color=red>[楼 主]</FONT> 
                  <!----><B>Posted:</B>2006-03-15 10:04|</TD>
                <TD align=right><A href="javascript:scroll(0,0)"><IMG alt=顶端 
                  src="如何为嵌入式开发建立交叉编译环境 WiMAX宽带无线网络技术论坛 - www_wimax_org_cn.files/top.gif"></A> 
                </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
      <TABLE width="99%" align=center>
        <TBODY>
        <TR>
          <TD height=1></TD></TR></TBODY></TABLE><!----><BR>
      <TABLE cellSpacing=0 cellPadding=0 width="99%" align=center>
        <FORM name=jump method=post>
        <TBODY>
        <TR>
          <TD align=left></TD>
          <TD vAlign=center align=right><SELECT 
            onchange="Fjumpr(this.options[this.selectedIndex].value,'../../..')"> 
              <OPTION value="" selected>快速跳至</OPTION> <OPTION value=6>&gt;&gt; 
              无线网络技术主版块</OPTION> <OPTION value=13>&nbsp;|- 无线网络技术基础</OPTION> 
              <OPTION value=12>&nbsp;|- WiMAX技术动态</OPTION> <OPTION 
              value=14>&nbsp;|- 方案和应用</OPTION> <OPTION value=7>&nbsp;|- 
              无线网络安全</OPTION> <OPTION value=19>&nbsp;|- 无线上网相关问题</OPTION> 
              <OPTION value=15>&nbsp;|- 3G技术动态</OPTION> <OPTION 
              value=16>&nbsp;|- LINUX和无线网络</OPTION> <OPTION value=22>&gt;&gt; 
              招聘和求职</OPTION> <OPTION value=23>&nbsp;|- 无线人才网罗</OPTION> <OPTION 
              value=17>&gt;&gt; 灌水和版务</OPTION> <OPTION value=20>&nbsp;|- 
              版务和建议</OPTION> <OPTION value=21>&nbsp;|- 无限灌水</OPTION></SELECT> 
        </TD></TR></FORM>
        <TR>
          <TD align=left><BR><IMG 
            src="如何为嵌入式开发建立交叉编译环境 WiMAX宽带无线网络技术论坛 - www_wimax_org_cn.files/home.gif" 
            align=absBottom>&nbsp;<B><A 
            href="http://www.wimax.org.cn/index.php">WiMAX宽带无线网络技术论坛</A> -&gt; 
            <A 
            href="http://www.wimax.org.cn/thread.php?fid=16">LINUX和无线网络</A></B></TD>
          <TD align=right><BR><A 
            href="http://www.wimax.org.cn/post.php?fid=16"><IMG 
            src="如何为嵌入式开发建立交叉编译环境 WiMAX宽带无线网络技术论坛 - www_wimax_org_cn.files/post.gif"></A> 
            <A 
            href="http://www.wimax.org.cn/post.php?action=vote&amp;fid=16"><IMG 
            src="如何为嵌入式开发建立交叉编译环境 WiMAX宽带无线网络技术论坛 - www_wimax_org_cn.files/vote.gif"></A> 
            <A 
            href="http://www.wimax.org.cn/post.php?action=reply&amp;fid=16&amp;tid=354"><IMG 
            src="如何为嵌入式开发建立交叉编译环境 WiMAX宽带无线网络技术论坛 - www_wimax_org_cn.files/reply.gif"></A> 
          </TD></TR></TBODY></TABLE><BR>
      <FORM name=FORM action=../../../post.php method=post>
      <TABLE class=i_table cellSpacing=1 cellPadding=0 width="99%" 
        align=center><TBODY>
        <TR>
          <TD colSpan=2>
            <TABLE cellSpacing=0 cellPadding=0 width="100%">
              <TBODY>
              <TR>
                <TD class=head><B>快速发帖</B></TD>
                <TD class=head align=right><A 
                  href="http://www.wimax.org.cn/htm_data/16/0603/354.html#top"><B>顶端</B></A></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD 
          style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; PADDING-TOP: 7px" 
          vAlign=top width="20%" 
            bgColor=#ffffff><!-- 20宽跟下面搭配 --><B>内容</B>:<BR><FONT 
            face=verdana>HTML 代码不可用<BR><BR><INPUT type=checkbox CHECKED value=1 
            name=atc_usesign>使用签名<BR><INPUT type=checkbox CHECKED value=1 
            name=atc_convert>Wind Code自动转换 <INPUT type=hidden value=1 
            name=atc_autourl><BR><BR>[<A 
            href="javascript:checklength(document.FORM,'500000');">查看帖子长度</A>] 
            </FONT></TD>
          <TD 
          style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; PADDING-TOP: 7px" 
          width="80%" bgColor=#ffffff>标题: <INPUT maxLength=45 size=45 
            value=Re:如何为嵌入式开发建立交叉编译环境 name=atc_title> <!---->┆点击下拉:<SPAN 
            title=显示/隐藏表情图标列表 style="CURSOR: hand" 
            onclick="smilelist.style.display=smilelist.style.display=='none'?'block':'none'">[<B>表情图标</B>]</FONT></SPAN>
            <SCRIPT language=JavaScript src=""></SCRIPT>
             
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY id=smilelist style="DISPLAY: none">
              <TR>
                <TD>
                  <FIELDSET style="WIDTH: 99%"><LEGEND>选择表情:</LEGEND>
                  <DIV style="OVERFLOW: auto; HEIGHT: 0px">
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD><!-- --><A href="javascript:addsmile('[s:1]')"><IMG 
                 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -