u-boot移植之前的准备工作

本文详细介绍在Fedora 16系统中安装Arm-linux-gcc、Vim、DNW for Linux、minicom的过程及注意事项。包括环境搭建、依赖安装、配置步骤等。

本人系统环境fedora16

Arm-linux-gcc-4.3.2的下载和安装

1.下载arm-linux-gcc-4.3.2.tgz(84MB)


2.首先以root用户登入,复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里

3.解压命令tar xvzf arm-linux-gcc-4.3.2.tgz -C /,注意以上命令必须要有-C而且是大写的后边有个空格也要注意

4.配置下编译环境路径,在控制台下输入:

gedit  /root/.bashrc

等一会出来文本编辑器后在文件最后(最后一行)加上 下面代码

export PATH=/usr/local/arm/4.3.2/bin:$PATH

接着再输入命令:

gedit /etc/profile

在文件的末尾加上

PATH=/usr/local/arm/4.3.2/bin:$PATH

保存对profile的修改后,执行source /etc/profile就OK了,好了。


5.先注销当前用户再登录后进入控制台执行arm-linux-gcc -v 看看能否执行成功就可以了。

安装Vim的曲折过程

操作系统是Fedora 16,其实Fedora里已经预装了Vim了,只要在terminal输入 vi 就能打开。但是这个Vim不是完整版的,只是一个精简版,所以决定去Vim官网下一个完整版的。下载vim-7.3.tar.bz2,这个包包含runtime files 和source files,需要经过编译才能安装。

打开terminal,进入vim-7.3.tar.bz2所在目录


tar jxvf vim-7.3.tar.bz2回车(输入tar回车可以查看tar命令的用法,j表示用bzip2解压,x表示提取文件,v表示处理过程中输出相关信息,f表示对普通文件操作)


压缩包就被解压到了当前目录,输入ls(表示显示当前目录的文件文件夹)发现当前目录多了vim73这个文件夹。


cd vim73


进入这个文件夹, 里面有些readme之类的文件,可以用gedit打开看看,会告诉你如何安装vim。安装的话,继续进入vim73下的src这个文件夹,里面有个INSTALL文件,用gedit打开,里面会教你在不同环境下安装vim的操作。在类unix环境下是用终端进入vim73下的src文件夹然后依次输入make,make install这两行命令。按上面说的,先输入make,make install。之前先要用“添加删除软件”添加ncurses和development files for ncurses library,如果make提示没有C编译器的话要也要从“添加删除软件”中搜索“gcc”下载安装Various compilers(gcc-4.6.2-1.fc16)和Support for compiling GCC plugins(gcc-plugin-devel-4.6.2-1.fc16)


DNW for Linux的安装和使用

下载地址:http://download.youkuaiyun.com/detail/jjzhoujun2010/3326087


下载回来解压。
目录如下:
dnw_linux/
dnw_linux/secbulk/
dnw_linux/secbulk/Makefile
dnw_linux/secbulk/secbulk.c
dnw_linux/dnw/
dnw_linux/dnw/dnw.c
其中secbulk.c是PC端USB驱动, dnw.c是写入工具


然后,编译并加载secbulk.c内核模块
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
提示出错:make: *** /lib/modules/3.2.2-1.fc16.i686/build: 没有那个文件或目录。 停止。

解决办法是安装:yum install kernel-devel-3.2.2-1.fc16.i686(红色部分和个人的系统内核有关,可以依个人系统型号修改)

之后再试,这次行了:

[root@XX secbulk]# make -C /lib/modules/`uname -r`/build M=`pwd` modules
make: 进入目录“/usr/src/kernels/3.2.2-1.fc16.i686”
  Building modules, stage 2.
  MODPOST 1 modules
make: 离开目录“/usr/src/kernels/3.2.2-1.fc16.i686”




编译成功后在当前目录下可以看到secbulk.ko

用insmod命令加载模块,这需要root权限
$sudo insmod ./secbulk.ko

编译dnw写入工具
$cd dnw
$gcc -o dnw dnw.c
编译成功后生成可执行档dnw



到此就可以下载程序了。

下图是通过USB下载的一个bin文件的范例,把文件放在dnw_linux目录下,命令为:sudo ./dnw XXX.bin


 打开secbulk.c可进行如下修改:
  
 #define BULKOUT_BUFFER_SIZE 32
 改为#define BULKOUT_BUFFER_SIZE 512
  
这样修改后速度将加快许多

insmod ./secbulk.ko 为加载模块进内核
开机的时候不会自动加载,这样每次都要先加载才可以使用,此时将其加入开机脚本,
使其得到自动加载,编辑/etc/rc.local 在最后加上 insmod /所在路径/secbulk.ko。

#调用dnw时只能在当前目录使用./dnw执行,对此情况,将dnw添加到/sbin中,这样可以在
任何目录,使用  sudo dnw filename来调用。


minicom的安装和使用


安装minicom:

确认一下系统是否已经安装minicom,如果没有需自行安装。

[stevenking@XX ~]$ rpm -q minicom                                      查看是否已安装
 minicom-2.5-6.fc16.i686 已安装并且是最新版本


[stevenking@XX ~]$ sudo yum install minicom                     安装minicom
[sudo] password for stevenking: 
已加载插件:fastestmirror, langpacks, presto, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirrors.sohu.com
 * rpmfusion-free: mirror.bjtu.edu.cn
 * rpmfusion-free-updates: mirror.bjtu.edu.cn
 * updates: mirrors.163.com
设置安装进程




安装好后按照自己串口要求进行设置即可:minicom -s


            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

使用向下键选择serial port setup(串口设置),按回车出现设置界面

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

A — Serial Device: /dev/ttyS0

B — lockfile Location : /var/lock

C — Calling Program :

D — Callout Program:

E — Bps/par/Bits: 9600 8N1

F — Hardware Flow Control : YES

G — Software Flow Control : NO

Change with setting?

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

按A,设置串口设备为/dev/ttyUSB0(貌似以前时ttyS0,现在的都改了)

按E:设置为9600(依个人需求)

按F:硬件要设置成NO才能输入命令

按回车,保存设定,回到主菜单,可以选择Save setup as df1(设为默认配置)。

设置完成后选择Exit退出


再之后,直接输入minicom,就可以像使用Windows的超级终端一样操作了。调试完毕或调试过程中如需帮助或者退出,请按CTRL+A,然后再输入字母Z。





模块一般用来支持那些不经常使用的功能。例如,通常情况下你仅使用拨号网络,因此网络功能并不是任何时候都需要的,那么就应该使用可装入的模块来提供这个功能。仅在你进行拨号联接的时候,该模块才被装入。而在你断掉连接的时候它会被自动卸下。这样会使内核使用内存的量最小,减小系统的负荷。 当然,那些象硬盘访问这样时时刻刻都需要的功能,则必须作在内核里。如果你搭一台网络工作站或 web服务器,那么网络功能是时刻都需要的,你就应该考虑把网络功能编译到内核里。另外一个方法是在启动的时候就装入网络模块。这种方法的优点是你不需要重新编译内核。而缺点是网络功能不能特别高效。 按照以上的原则,我们首先列出一张清单,看看 kernel 中哪些选项是非有不可的,也就是说,这些东西是必须被编译到内核中的。将那些非必需的模块剔除到内核以外。 第一个是root所在的硬盘配置。 哪果您的硬盘是IDE接口,就把 ide 的选项标记下来。如果是SCSI接口,请把您的接口参数及 SCSI id 记标下来。 第二个是选择使用哪一个文件系统。 Linux的默认文件系统是是 ext2 ,那么就一定要把它标记下来。如果机器中还其它的操作系统,如win98或windows NT,您还会可能选择FAT32或NTFS的支持,不过后面你可以通过手工加载的方式来加入新的模块支持。 第三个是选择Linux所支持的可执行文件格式。这里有两种格式可供选择: elf:这是当Linux普遍支持的可执行文件格式,必须编译到内核中 。 a.out: 这是旧版的Linux的可执行文件各函数库的格式,如果你确认肯定用不到这种格式的可执行文件,那么就可以不把它编译到内核当中。 以上这些内容,是必须要编译到内核中的。其它的内容凡是所有选项中m提示的,都选择m,这样可以通过手工的方式添加该模块。 ** Loadable module support*Enable loadable module support (CONFIG_MODULES) [Y/n/?]Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?]Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?] 分别回答 Y,N,Y 。其中 CONFIG_KERNELD 的 default 值是 N, 所以要注意选择Y。 make config 完后,仍旧是 make dep; make clean。 接下来要 make zlilo 或 make zImage。 然后 make modules ; make modules_install 。完成之后,就编译出一个没有调入多余模块的一个“干净的”内核映像文件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值