<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
作者:孙天泽,华清远见嵌入式学院金牌讲师。
和Windows下的开发不同,嵌入式Linux开发显得有些复杂。其实并不是复杂,而是我们面前的新知识有点多:Linux操作系统、交叉编译器、库、大小端、软浮点...
前几天用cross-3.3.2编译器编译Linux-2.6.14内核,就出现了链接错误。对于初学者,这类非语法类错误是非常难查的,所以我只能建议大家换编译器版本。比如这个cross-3.3.2编译器在编译u-boot-1.3.1时就有问题出现,但是没想到在编译2.6.14内核的时候也能出现问题。你可以通过根据错误提示,进行代码修改,但是这并不明智,这种做法就像拆东墙补西墙一样,你无法保证没有其他问题出现。
所以我还是建议大家:
1)在尚未了解lds语法以前,不要试图进行修改;
2)选择新版本(不一定是最新)的编译器。我一直使用的ELDK,编译uboot、内核移植没有问题。最近还测试了arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,效果也不错。
分享到:
相关推荐
在这个场景中,我们关注的是"cross-3.3.2.tar.br2",这是一个包含arm-linux-cross-3.3.2交叉编译器的压缩文件,其gcc版本为3.3.2。这个工具主要用于开发针对ARM架构的Linux系统,而无需在实际的ARM设备上进行编译...
在本文中,作者孙天泽提到使用cross-3.3.2编译器遇到的问题,特别是在编译Linux-2.6.14内核时遭遇的链接错误。 嵌入式Linux开发的复杂性主要源于其涉及多个层面的知识,包括但不限于: 1. **Linux操作系统**:...
cross-3.4.4.tar.bz2 交叉编译器
接下来,将交叉编译工具链的压缩包 `cross-3.3.2.tar.bz2` 解压到 `/usr/local/arm` 目录下: ```bash cd ~/sisefile/crosschain/ sudo tar -jxvf cross-3.3.2.tar.bz2 -C /usr/local/arm ``` **步骤 3:查看目录...
fusq@fusq-urbetter:~/test$ tar jxvf cross-3.3.2.tar.bz2 -C /usr/local/arm/ fusq@fusq-urbetter:~/test$ tar jxvf cross-3.4.1.tar.bz2 -C /usr/local/arm/ ``` 4. **检查安装情况** 安装完成后,可以检查...
- **注意**:本文以`cross-2.95.3`为例进行讲解,若使用更高级的版本如`cross-3.3.2`,安装步骤大致相同,只需稍作调整即可。 2. **下载完成后**,将`cross-2.95.3.tar.bz2`放到指定位置,例如:`/home/zjbo`下。...
sudo tar -jxvf cross-3.3.2.tar.bz2 -C /usr/local/arm ``` - **查看目录内容** 查看解压后的内容以确认解压成功。 ```bash ls ``` - **配置环境变量** 可以通过两种方式来配置环境变量:一是创建环境变量...
2. **复制编译器包**:将GCC交叉编译器的压缩包(如`cross-3.3.2.tar.gz`)从共享目录`/mnt/hgfs/share`复制到`/usr/local/arm`目录下。 ``` cd /mnt/hgfs/share cp cross-3.3.2.tar.gz /usr/local/arm ``` 3. ...
示例:假设使用的是优龙提供的交叉编译器cross-3.3.2。 ```bash [root@localhost arm]# tar -jxvf cross-3.3.2.bar.bz2 [root@localhost arm]# ls 3.3.2 cross-3.3.2.tar.bz2 [root@localhost arm]# cd ./3.3.2 ...
例如,解压cross-3.3.2.bar.bz2,进入解压后的目录,并确认arm-linux相关的编译工具已经正确安装在路径/usr/local/arm/3.3.2/bin/下。 Linux公社(LinuxIDC.com)是一个专注于Linux技术的网站,提供Ubuntu、Fedora...
- `cross-3.3.2.tar.bz2`:交叉编译器。 2. **安装 tmake**: - 解压 `tmake-1.11.tar.gz`。 - 创建并编辑 `env.sh` 文件,设置环境变量 `TMAKEDIR` 和 `TMAKEPATH`。 3. **Qt/Embedded 的编译**: - 需要先...
**广嵌教育**的教程中提到使用GEC2410开发板进行嵌入式Linux的学习,其中涉及到了如何安装cross-3.3.2.tar.bz2这个交叉编译工具。首先,你需要在`/usr/local`目录下创建一个名为`arm`的目录,然后将`cross-3.3.2.tar...
- **使用现有工具链**:可以从互联网上下载预构建的工具链压缩包,如`cross-2.95.3.tar.bz2`或`cross-3.3.2.tar.bz2`,解压后将其放置在适当的位置,并在环境变量中添加工具链的路径。 - **手动创建工具链**:这一...
你需要知道不同版本的交叉编译器对应支持的内核版本,比如`arm-linux-gcc-3.3.2`适用于较早的ARM和Linux,而`arm-linux-gcc-3.4.x`则更适应Linux 2.6内核。 3. **建立交叉编译环境**:这通常包括下载和配置交叉编译...
指定交叉编译器的工具 在Makefile第128行里面的CROSS_COMPILE=arm-linux- 意思就是指定arm-linux-为交叉编译器 在虚拟机里面U-Boot-1.1.6的board里面新建一个自己开发板的目录TQ2440: 在U-Boot-1.1.6中进入...