| 
		    
                    
   3 移植实例 
  本系统开发板主要由S3C44B0X嵌入式微处理器、2MB的Flash (SST39VF160) 、8MB的SDRAM(HY57V641620) 、4个LED以及ARM JTAG接口组成。该开发板上与S3C44B0X相关部分的功能框图如图1所示。 
  3.1 u-boot文件下载 
  u-boot文件的下载有两种方法,第一种是在Linux环境下通过CVS下载最新的文件,方法是: 
$ cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/u-boot login 
  当要求输入匿名登录的密码时,可直接按回车键 
$ cvs -z6 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/u-boot co -P modulename 
  第二种是通过ftp://ftp.denx.de/pub/u-boot/下载正式发布的压缩文件。 
  3.2 u-boot文件的结构 
  初次下载的文件有很多,解压后存放在u-boot文件目录下,具体内容已在readme文件中做了详细的介绍,其中与移植相关的主要文件夹有: 
  (1) cpu/ 它的每个子文件夹里都有如下文件: 
makefile config.mk cpu.c 和处理器相关的代码 interrupts.c 中断处理代码 serial.c 串口初始化代码 start.s 全局开始启动代码 
  (2) board/ 它的每个子文件夹里都有如下文件: 
makefile config.mk smdk2410.c 和板子相关的代码(以smdk2410为例)  flash.c Flash操作代码 memsetup.s 初始化SDRAM代码 u-boot.lds 对应的连接文件 
  (3) lib_arm/ 体系结构下的相关实现代码,比如memcpy等的汇编语言的优化实现。 
  3.3 交叉编译环境的建立 
  要得到下载到目标板的u-boot二进制启动代码,还需要对下载的u-boot1.1.1进行编译。u-boot的编译一般在Linux系统下进行,可用arm-linux-gcc进行编译。一步一步建立交叉编译环境通常比较复杂,最简单的方法是使用别人编译好的交叉编译工具,方法如下: 
  (1) 在http://handhelds.org/download/toolchain下载arm-linux-gcc-3.3.2.tar.bz2 
  (2) 以用户名root登录,将arm-linux-gcc-3.3.2.tar.bz2 解压到 /root目录下 
# tar jxvf arm-linux-gcc-3.3.2.tar.bz2 
  (3) 在http://handhelds.org/download/toolchain下载arm-linux-toolchain-post-2.2.13.tar.gz,只是用了它的头文件而已,主要来自内核/linux-x.x/include下 
  (4) 将arm-linux-toolchain-post-2.2. 13.tar.gz 解压到/skiff/local/ 下 
# tar zxvf arm-linux-toolchain-post-2.2.13.tar.gz 
		    
                       
		      
		      
		   |