菩提树下的人 发表于 2016-7-3 05:44 PM

AM335 uboot编译

<div align="center"><font size="5">AM335 uboot编译</font></div><div align="center"><font size="5">-----东方青</font></div><div align="center"><img src="static/image/smiley/default/smile.gif"smilie_id="1" border="0" alt="" /></div><font size="5">一、&nbsp; &nbsp; &nbsp; &nbsp; 安装交叉编译工具链</font><br />
<font size="5">1.&nbsp; &nbsp; &nbsp; &nbsp; 获取资料</font><br />
<font size="5">从提供的资料的目录linux_evb-t335/toolchains/中,可以看到存在两个交叉编译工具链。</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 编译uboot所需要的交叉编译工具链为arm-2010.09.tar.bz2。</font><br />
<font size="5">2.&nbsp; &nbsp; &nbsp; &nbsp; 安装交叉编译工具链。</font><br />
<font size="5">(1)&nbsp; &nbsp; &nbsp; &nbsp; 将arm-2010.09.tar.bz2压缩文件解压到/opt目录下。</font><br />
<font size="5">命令:sudo tar xvf arm-2010.09.tar.bz2 -C /opt/</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">(2)&nbsp; &nbsp; &nbsp; &nbsp; 安装环境变量</font><br />
<font size="5">进入解压在opt目录下的交叉编译工具链目录,找到交叉编译工具链的可执行文件。路径为:arm-2010.09/bin。</font><br />
<font size="5">确定交叉编译工具链可执行文件的运行环境。</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 命令:file arm-none-linux-gnueabi-gcc</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">如上图可知,此交叉编译工具链只能运行在32bit的系统下。</font><br />
<font size="5">环境变量的安装:</font><br />
<font size="5">命令:sudo vim /etc/environment</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">获取/opt目录下的交叉编译工具链的绝对路径。</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 命令:pwd</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上图可以得到绝对路径:/opt/arm-2010.09/bin</font><br />
<font size="5">(3)&nbsp; &nbsp; &nbsp; &nbsp; 将以上路径添加到/etc/environment文件中。</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上图是模仿添加方式,所以添加的为“: /opt/arm-2010.09/bin”。最后保存退出即可。</font><br />
<font size="5">(4)&nbsp; &nbsp; &nbsp; &nbsp; 修改~/.bashrc文件,添加环境变量,以能够随时使用交叉编译工具链。</font><br />
<font size="5">命令:vim ~/.bashrc</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 在最后添加:export PATH=$PATH:/opt/arm-2010.09/bin</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 最后保存退出。</font><br />
<font size="5">(5)&nbsp; &nbsp; &nbsp; &nbsp; 更新.bashrc</font><br />
<font size="5">命令:source .bashrc</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 到这里交叉编译工具链就可以用了。查看一下版本:</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上图可知,交叉编译工具链已经能够正常运行了,并且其版本为4.5.1版本。</font><br />
<font size="5">二、&nbsp; &nbsp; &nbsp; &nbsp; 资源选择</font><br />
<font size="5">在资料的目录linux_evb-t335/src下可以看到官方提供的源码。如下图:</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 将u-boot-2014.04-rc2-00037-gbaecd31.tar.bz2文件拷贝出来,免得污染原资料。</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 命令:cp u-boot-2014.04-rc2-00037-gbaecd31.tar.bz2 ../../</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 切换目录后,解压u-boot-2014.04-rc2-00037-gbaecd31.tar.bz2文件。</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 命令:tar xvf u-boot-2014.04-rc2-00037-gbaecd31.tar.bz2</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 解压得到的目录名称太长,改一下名:</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 命令:mv u-boot-2014.04-rc2-00037-gbaecd31 uboot</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">三、&nbsp; &nbsp; &nbsp; &nbsp; 编译</font><br />
<font size="5">1.&nbsp; &nbsp; &nbsp; &nbsp; 配置板型</font><br />
<font size="5">板卡所配备的nandflash的型号为k9f2g08u0c,其大小为256MB。所以进入uboot源码目录,然后选择版型,我选择从nandflash启动。</font><br />
<font size="5">命令:make com335x_nand_256_config</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">2.&nbsp; &nbsp; &nbsp; &nbsp; 编译</font><br />
<font size="5">命令:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上就开始编译了。</font><br />
<font size="5">3.&nbsp; &nbsp; &nbsp; &nbsp; 等待编译完成。</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上图,编译完成了。</font><br />
<font size="5">4.&nbsp; &nbsp; &nbsp; &nbsp; 进入当前目录下的tools目录中</font><br />
<font size="5">命令:cd tools</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 查看内容:</font><br />
<font size="5">
<ignore_js_op>



</ignore_js_op>
</font><br />
<font size="5">&nbsp; &nbsp; &nbsp; &nbsp; 如上图中的可执行文件mkimage在Linux编译时,可通过这个mkimage工具将zImage可执行镜像进行打包成uImage镜像。</font><br />
<font size="5">5.&nbsp; &nbsp; &nbsp; &nbsp; 安装mkimage工具。</font><br />
<font size="5">直接将其拷贝到/usr/bin目录下即可。</font><br />
<font size="5">命令:sudo cp mkimage /usr/bin</font><br />
<br />
<br />

zjzlgd2008 发表于 2016-7-3 09:58 PM


好久不见东方兄<img src="static/image/smiley/default/lol.gif"smilie_id="12" border="0" alt="" />

狂热者3 发表于 2016-7-7 12:20 PM


<div class="quote"><blockquote><font size="2"><font color="#999999">SingleYork 发表于 2016-7-3 21:58</font></font><br />
好久不见东方兄</blockquote></div><br />
哈哈!陆续的马上就位!!
页: [1]
查看完整版本: AM335 uboot编译