[讨论] 9G-LINUX嵌入式开发过程简介(更新中...)

缥缈九哥   2009-9-18 14:33 楼主
来源:我的博客:http://blog.163.com/yuan_xihua/blog/static/3074054420087144615482/

很多刚刚拿到板子的人,往往不知道该做什么,这个文章希望可以有所帮助:

一,准备VMWARE+LINUX安装软件包
1,在http://www.ubuntu.com/getubuntu/download
    下载Ubuntu 8.04 LTS 的X86的Desktop版本的ISO
    http://mirror.lupaworld.com/ubuntu/releases/hardy/ubuntu-8.04.1-desktop-i386.iso
2,在http://www.3ddown.com/soft/33308.htm
    下载虚拟机(VMware Workstation) v6.5.0.118166 完整注册版
VMware.Workstation.v6.5.0.118166.exe
Flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3cuM2Rkb3duLmNvbS9kb3dubG9hZC5hc3A/aWQ9MzMzMDgmZHA9MSZmaWQ9MzJbRkxBU0hHRVRd&1029&1225512051
注意:记得抄下注册码:JU04H-A8Q82-T3J18-4WF67
或者下载注册机VMware.Workstation.v6.5.0.118166-Keygen.rar
3,在http://www.tuola.net/soft/view-1441.html
下载VanDyke SecureCRT v6.0.3 build 311 破解版
http://dl.tuola.net/s/SecureCRT.v6.0.3.rar
4,在ftp://ftp.denx.de/pub/eldk/4.1/arm-linux-x86/iso/
    下载arm-2007-01-21.iso
    ftp://ftp.denx.de/pub/eldk/4.1/arm-linux-x86/iso/arm-2007-01-21.iso


   
二,准备ARM+LINUX开发包
1,在http://www.kernel.org/pub/linux/kernel/v2.6/
    下载linux-2.6.26.tar.bz2
    http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
2,在ftp://ftp.denx.de/pub/u-boot/
    下载u-boot-1.3.4.tar.bz2
ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2
3,在http://busybox.net/
    下载BusyBox 1.11.1. (svn, patches, how to add a patch)
http://busybox.net/downloads/busybox-1.11.1.tar.bz2
4,在http://www.arm9.net/download.asp
    下载Jflash2440 ,一个Linux下Jtag烧写工具(含源代码)
http://www.arm9.com.cn/download/sbc2440v3/Jflash_linux.tgz
5,在http://blog.chinaunix.net/u/24474/showart_227846.html
下载Jflash-s3c2410_linux.tar.bz2
http://blogimg.chinaunix.net/blog/upfile/070107195410.bz2
注意:下载后把文件名改回Jflash-s3c2410_linux.tar.bz2

  可参考http://blog.chinaunix.net/u/23070/showart.php?id=157735
Jflash-s3c2410源码分析(linux).pdf

可参考http://www.datasheetcatalog.org/datasheet2/5/0wd8ohcf4gti5jzkwhd33lhka1ky.pdf
Installation Manual for S3C2440 (linux)



三,安装VMWARE+LINUX开发平台
1,在XP系统上安装VMware-workstation-6.5.0-118166.exe
    A,双击VMware-workstation-6.5.0-118166.exe 启动安装,点击NEXT,选择Typical;再NEXT,安装文件夹选择
        默认;再NEXT,快捷方式产生用默认;再NEXT,按install;进入安装过程,输入使用者,公司和序列号
        JU04H-A8Q82-T3J18-4WF67 ,最后点击finish完成安装,重启动电脑;
    B,双击桌面VMware Workstation启动虚拟机程序,选择接受版权许可后点击OK后即可进入虚拟机界面使用;   
    注意:XP系统需要512MB以上内存,15GB以上硬盘空间。
     
2,在VMware Workstation上安装ubuntu-8.04.1-desktop的X86版本
    A,双击桌面VMware Workstation图标进入虚拟机,点击“New Virtual Machine”启动建立向导;选择Typical;再NEXT;
      选择“Install disc image file(iso)”,点击“Browse”找到存储在硬盘上的“ubuntu-8.04.1-desktop-i386.iso”文件;
      点击NEXT,在“Virtual Machine name”下面输入虚拟机文件名,在“Location”下面选择虚拟机文件夹安装位置;
      点击NEXT,在“Maxinum disk size”上增加到15GB以上,下面选择“Split Virtual disk to 2GB files”;点击NEXT,显示
      虚拟机配置信息,确认无误后点击“finish”即可进入安装过程;
    B,进入虚拟机的操作系统安装过程中,在“ubuntu-8.04.1-desktop-i386.iso”的安装界面中按F2功能键,用上下箭头选择
        “中文(简体)”再按“回车”;用上下箭头选择高亮“安装UBUNTU”时按回车;进入
        ubuntu-8.04.1-desktop 的X86版本的LiveCD界面,出现一个7步的“安装”向导;
    C,在安装向导上点击“前进”,地点用默认“上海”;点击“前进”,键盘布局用默认“China”;点击“前进”硬盘分区
        用默认“向导”,点击“前进”,输入安装用户名和密码;点击“前进”,在“准备安装”中,点击“安装";安装完成
        后,点击“现在重启”;并把虚拟机“VM”“Settings”中的“CD/DVD”改回“Use physical drive”;
        
    注意:XP系统需在DHCP的局域网内,要独立分配IP给虚拟机;安装的用户名和密码区别于ROOT用户,每次登陆系统及修改
        系统配置都要用到,需要牢记。

回复评论 (10)

四,配置并更新ubuntu桌面系统1,启动根用户和配置网络
A,进入系统后在启动菜单“应用程序”->“附件”->“终端”拉到桌面上;把启动菜单“位置”中的“计算机”也
        拉到桌面上;双击桌面“终端”中打开命令行终端
B,启用root用户并修改密码
        [email=yuanxh@yuanxh-desktop:~$]yuanxh@yuanxh-desktop:~$[/email] sudo passwd root
C,进入root用户操作
        [email=yuanxh@yuanxh-desktop:~$]yuanxh@yuanxh-desktop:~$[/email] su
D,查看本机IP配置信息
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# ifconfig -a
E,在启动菜单“系统”->“系统管理”->“网络”中
  填入IP,子域掩码,网关,DNS等网络参数;
F,修改.bashrc启用ll la l等到命令转义
  [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# vi /root/.bashrc
  [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# source /root/.bashrc
  
2,安装虚拟驱动Vmware tools
A,进入系统后在虚拟机菜单“VM”中点击“Install Vmware tools”后桌面会弹出一个CD-ROM内容的文件夹,里面有两个
  rpm和tar.gz压缩文件包;
B,双击桌面“终端”打开命令行终端,用命令模式安装虚拟驱动:
  切换到root用户
            [email=yuanxh@yuanxh-desktop:~$]yuanxh@yuanxh-desktop:~$[/email] su
        建立文件夹
            [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# mkdir vm-tools
        修改文件夹权限
            [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# chmod 777 vm-tools/
        进入文件夹
            [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# cd vm-tools/
        复制虚拟驱动软件包
            [email=root@yuanxh-desktop:/home/yuanxh/vm-tools]root@yuanxh-desktop:/home/yuanxh/vm-tools[/email]# cp /media/cdrom0/VMwareTools-6.5.0-118166.tar.gz .
        解压虚拟驱动文件包
            [email=root@yuanxh-desktop:/home/yuanxh/vm-tools]root@yuanxh-desktop:/home/yuanxh/vm-tools[/email]# tar xzvf VMwareTools-6.5.0-118166.tar.gz
        进入虚拟驱动文件夹
            [email=root@yuanxh-desktop:/home/yuanxh/vm-tools]root@yuanxh-desktop:/home/yuanxh/vm-tools[/email]# cd vmware-tools-distrib/
        运行虚拟驱动安装脚本
            [email=root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib]root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib[/email]# ./vmware-install.pl
C,一路按回车键,中间如果有一个编译跳不过,就输入N,再回车,直到最后能选择屏幕分辨率大小[15] 1152 X 864,
   并且鼠标能自由进入虚拟机和XP之间;
D,给vmtools升级
  如果VMware要更新版本的VMware Tools,先卸载旧的vmware tools
    [email=root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib]root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib[/email]# ./bin/vmware-uninstall-tools.pl
  再重新安装新的vmware tools
   [email=root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib]root@yuanxh-desktop:/home/yuanxh/vm-tools/vmware-tools-distrib[/email]# ./vmware-install.pl
3,启用XP与虚拟机系统间的共享文件夹功能
A,在虚拟机菜单“VM”->“settings”中,切换到“options”页;选择到“Shared Folders” 设置,选择“Always enabled”;
   点击“Folders”的“Add” 进入“add Shared Folder wizard”;再点击 NEXT,选择共享文件夹的“Host path”和“name”;点击“NEXT”配置好
  共享文件夹属性后,点击“Finish”;退出向导,点击“OK”退出设置;
B,在设置好共享文件夹后,并且安装好虚拟驱动后启动虚拟机,便可以在虚拟机中看到共享文件夹的内容;
     [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# ls -l  /mnt/hgfs
4,为虚拟机增加并口
A,双击桌面VMware Workstation图标进入虚拟机,先不要启动虚拟系统的电源,在虚拟机菜单“VM”->“settings”中,在“Hardware”页;
  点击窗口下面的“Add...” 进入“add Hardware wizard”;在Hardware Type 中选择“Parallel Port”;再点击 NEXT,在Parallel Port Type
  中选择默认的“Use physicial parallel port on the host”;再点击 NEXT,在physicial parallel port 中选择“LPT1”或者用“Auto detect”,
  在Device status 中选择上“Connect at power on”;最后点击“Finish”完成配置,点击“OK”退出添加硬件向导。
B,然后打开虚拟机电源,进入虚拟Linux系统,就可以使用并口了。其它串口中,USB口增加方式类似。
      
4,更新软件包服务器源后更新升级系统并安装SSH和ZMODEM协议
A,切换到root用户后执行以下命令更新升级系统:
  网络更新系统
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# apt-get update
        网络升级系统
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# apt-get upgrade
    B,网络安装SSH客户端和服务器端
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# apt-get install ssh openssh-server
        只有安装了这个才能用SecureCRT远程终端SSH访问系统
    C,用以下命令查找并安装ZMMODEM协议支持软件包:
        查找rzsz相关软件包
        [email=root@yuanxh-desktop]root@yuanxh-desktop[/email]:~# apt-cache search rzsz
        显示lrzsz软件包详细情况
     [email=root@yuanxh-desktop]root@yuanxh-desktop[/email]:~# apt-cache show lrzsz        
        网络安装zmodem传输协议
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# apt-get install lrzsz
        查看网络下载软件包存放目录
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# ll /var/cache/apt/archives/
D,安装开发必需软件包
  [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# apt-get install patch libncurses5-dev make rpm
5,安装SecureCRT远程终端SSH访问虚拟机和启用SFTP文件传输功能
A,双击SecureCRT.v6.0.3.rar里的scrt603.exe,点击“NEXT”;选择“接受协议”,再点击“NEXT”;用默认配置文件,点击“NEXT”
    后选择“Complete”;点击“NEXT”后产生快捷方式用默认;点击“Install”后进行安装,点击“Finish”完成安装;
B,把SecureCRT.v6.0.3.rar里的scrt603-tbe.exe解压到安装目录并运行,点击“patch”,然后对“SecureCRT.exe”破解30天限制使用
   权限;
C,利用SecureCRT的向导建立一个SSH会话到虚拟机;“下一步”后输入虚拟机IP地址和登陆用户名,建立好后双击会话SSH登陆LINUX,
  在会话属性中可配置终端类型,字体,滚屏行数,字符编码,XMODEM和SFTP默认路径等;
D,建立了到LINUX的SSH会话后,在Version 6.0.3 界面的菜单“File”->“Connect SFTP Tab”可启动到相应的LINUX的SFTP连接,
  在SFTP标签中输入“help”可以查看相关的SFTP命令。
点赞  2009-9-18 14:44
五,建立FTP,NFS和交叉编译环境
1,用命令配置TFTP服务
    A, 建立TFTP系统根目录并修改权限
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# mkdir  /tftpboot
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# chmod 777  /tftpboot
    B,安装TFTP服务器端和客户端
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# sudo apt-get install tftp tftpd openbsd-inetd
    C,修改配置文件使用TFTP根目录
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# vi  /etc/inetd.conf
        在/etc/inetd.conf如下行中,后面路径改成/tftpboot
        tftp    dgram   udp     wait    nobody  /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
    D,启动服务
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]#  /etc/init.d/openbsd-inetd  restart
    E,测试服务
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# touch /tftpboot/aaa
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# vi /tftpboot/aaa
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# tftp 192.168.1.100
        tftp> get aaa
        tftp> quit
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# cat aaa
2,用命令配置NFS服务
    A,安装NFS服务器端
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# apt-get install nfs-kernel-server  nfs-common  portmap
    B,配置访问目录及权限
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# mkdir  /nfsboot
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# chmod 777  /nfsboot
        [email=root@yuanxh-desktop:/home/yuanxh/at91_works]root@yuanxh-desktop:/home/yuanxh/at91_works[/email]# touch  /nfsboot/yuanxh
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# vi /etc/exports
        在/etc/exports新行中填入以下内容
        /nfsboot  *(rw,sync)
    C,启动服务
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# exportfs -ra
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# /etc/init.d/portmap restart
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# /etc/init.d/nfs-common restart
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# /etc/init.d/nfs-kernel-server restart
    D,测试服务
        [email=root@yuanxh-desktop:/]root@yuanxh-desktop:/[/email]# mount 192.168.1.100:/nfsboot  /mnt
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# ll /mnt
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# rm -rf /mnt/yuanxh
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# showmount
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# df
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# umount /mnt
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# ll /nfsboot
        
3,安装交叉编译工具链
    A,利用SecureCRT.v6.0.3登陆,传送文件到系统
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# mkdir /usr/local/arm
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# chmod 777 /usr/local/arm/
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# cd /usr/local/arm/
        [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# rz
        在SecureCRT弹出的窗口中选择交叉编译工具安装包arm-2007-01-21.iso
    B,安装ELDK交叉编译工具
     [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# cd /usr/local/
     [email=root@yuanxh-desktop:/usr/local]root@yuanxh-desktop:/usr/local[/email]# mkdir eldk-4.1
        [email=root@yuanxh-desktop:/usr/local]root@yuanxh-desktop:/usr/local[/email]# mount –o loop –t iso9660 arm-2007-01-21.iso /mnt/cdrom
        [email=root@yuanxh-desktop:/usr/local]root@yuanxh-desktop:/usr/local[/email]# cp -av /mnt/cdrom/* eldk-4.1/
        [email=root@yuanxh-desktop:/usr/local]root@yuanxh-desktop:/usr/local[/email]# cd eldk-4.1
        [email=root@yuanxh-desktop:/usr/local/eldk-4.1]root@yuanxh-desktop:/usr/local/eldk-4.1[/email]# chmod 777 install
        [email=root@yuanxh-desktop:/usr/local/eldk-4.1]root@yuanxh-desktop:/usr/local/eldk-4.1[/email]# ./install -d /usr/local/arm/eldk-4.1
  注意:eldk-4.1在ubuntu-8.04安装的rpm工具版本有问题,处理方法请查看
  http://lists.denx.de/pipermail/eldk/2008-July/000280.html
  在http://mirror.oss.lzu.edu.cn/software/embedded/eldk/4.2/ppc-linux-x86/distribution/RPMS/
  中下载rpm-4.4.2-46.i386.rpm ,rpm-build-4.4.2-46.i386.rpm,rpm-devel-4.4.2-46.i386.rpm
  在RPMS中增加rpm-4.4.2-46.i386.rpm ,rpm-build-4.4.2-46.i386.rpm,并在etc/rpm_cross.list 前两行中修改启用再安装。
      
    D,把编译器路径添加到系统路径中
        [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]#  vi /root/.bashrc
        在alias l='ls -CF'后的空白处填上:
  PATH=$PATH:/usr/local/arm/eldk-4.1/usr/bin:/usr/local/arm/eldk-4.1/bin
  export PATH
  启动新系统路径
  [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# source /root/.bashrc
  显示新系统路径
  [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# echo $PATH
  查看版本号
  [email=root@yuanxh-desktop:/usr/local/arm]root@yuanxh-desktop:/usr/local/arm[/email]# arm-linux-gcc -v
点赞  2009-9-18 14:46
六,编译U-BOOT启动代码
1,传送文件包到LINUX系统并解压
    A,利用SecureCRT.v6.0.3登陆,传送文件到系统
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# mkdir s3c2410
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# chmod 777 s3c2410/
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# cd s3c2410/
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# rz
        在SecureCRT弹出的窗口中选择u-boot-1.3.4.tar.bz2软件包
    B,解压软件包
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# tar xjvf u-boot-1.3.4.tar.bz2
        
2,编译生成U-BOOT启动目标码
    A,进入U-BOOT源码树
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# cd u-boot-1.3.4
    B,指定编译器
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# vi Makefile
        把CROSS_COMPILE = arm-linux- 改成 CROSS_COMPILE=/usr/local/arm/eldk-4.1/usr/bin/arm-linux-
    C,配置并编译
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make clean
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make mrproper
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make smdk2410_config
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# mv u-boot.bin u-boot-smdk2410.bin
D,发送目标码
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# sz u-boot-smdk2410.bin
        
3,编译生成Jflash工具
    A,利用SecureCRT.v6.0.3登陆,传送文件到系统
     [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# rz
     在SecureCRT弹出的窗口中选择Jflash-s3c2410_linux.tar.bz2软件包
     [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# mkdir Jflash-9gs3c2410
     [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# cd Jflash-9gs3c2410
B,解压软件包
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410[/email]# tar xvjf ../Jflash-s3c2410_linux.tar.bz2
C,在系统内指定内核头文件和体系结构头文件
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410[/email]# cd /usr/src
  [email=root@yuanxh-desktop:/usr/src]root@yuanxh-desktop:/usr/src[/email]# ln -s linux-headers-2.6.24-19/ linux
  [email=root@yuanxh-desktop:/usr/src]root@yuanxh-desktop:/usr/src[/email]# cd linux/include
  [email=root@yuanxh-desktop:/usr/src/linux/include]root@yuanxh-desktop:/usr/src/linux/include[/email]# ln -s asm-x86/ asm
D,在Makefile指定内核头文件和体系结构头文件路径
  [email=root@yuanxh-desktop:/usr/src/linux/include]root@yuanxh-desktop:/usr/src/linux/include[/email]# cd /home/yuanxh/s3c2410/Jflash-9gs3c2410/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410[/email]# vi Makefile
  在 Makefile 的CFLAGS = -O2 -s -D__LINUX__ 后面添加上 -I/usr/src/linux/include/ 并保存退出
E,编译SJF生成目标码Jflash-s3c2410并执行
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410[/email]# make
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410/Jflash-9gs3c2410[/email]# ./Jflash-s3c2410
F,同样的原理,用Jflash_linux.tgz,生成 Jflash-s3c2440 工具
  
4,用SJF工具烧启动代码到GEC2440开发板
A,按前面所说添加并口给虚拟机用,并把GEC2410_jtag V1.1 板的JP1并口与电脑并口接上,JP2的JTAG_2410口连接到GEC2440核心板
  开发板的J10的脚的标准JTAG口上,并打开开发板电源;
B,在Linux上运行:
  ./Jflash-s3c2440  u-boot-smdk2410.bin /t=5 /d=10
  如果连接上了会显示 S3C2440X(ID=0x0032409d) is detected.
C,在[K9S1208 NAND Flash JTAG Programmer]界面,K9S1208 is detected. ID=0xec76 会检测显示出来,
  在Select the function to test : 后输入0 并回车,确定0:K9S1208 Program 的功能;
D,在[SMC(K9S1208V0M) NAND Flash Writing Program]界面,Available target block number: 0~4095 会显示出来,
  在Input target block number: 后输入0 并回车,确定写入FLASH的首地址;
E,最后会在STATUS:后显示烧写过程Epppppppppppppppppppppppppppppppp好几行,基本是15秒种一个P,直到烧写完毕;
F,烧写完毕后显示0:K9S1208 Program      1:K9S1208 Pr BlkPage   2:Exit 时在 Select the function to test :
  后输入2并回车退出烧录工具。
  
5,移植u-boot-1.3.4到GEC2440开发板
A,修改Makefile
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board[/email]# vi Makefile
  在Makefile中的EXTRAVERSION = 后添加 -gec2440
  在Makefile中的smdk2410_config后增加如下两行:
   gec2440_config : unconfig
    @$(MKCONFIG) $(@:_config=) arm arm920t gec2440 NULL s3c24x0
B,在/board中添加GEC2440板定义
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# cd board/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board[/email]# cp -av smdk2410/ gec2440
  修改源文件和Makefile
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board[/email]# cd gec2440/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440[/email]# mv smdk2410.c gec2440.c
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440[/email]# vi Makefile
  把COBJS   := smdk2410.o flash.o 改成 COBJS   := gec2440.o flash.o
C,在include/configs/中建立配置头文件
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/board/gec2440[/email]# cd ../../include/configs/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/include/configs]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/include/configs[/email]# cp smdk2410.h gec2440.h
D,试编译GEC2440开发板的U-BOOT目标码
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/include/configs]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4/include/configs[/email]# cd ../../
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make mrproper
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make clean
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make distclean
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4]root@yuanxh-desktop:/home/yuanxh/s3c2410/u-boot-1.3.4[/email]# make gec2440_config
E,修改压缩成u-boot-1.3.4-gev2440.tar.gz
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# mv u-boot-1.3.4 u-boot-1.3.4-gev2440
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# tar czvf u-boot-1.3.4-gev2440.tar.gz u-boot-1.3.4-gev2440/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# sz u-boot-1.3.4-gev2440.tar.gz
6,修改u-boot-1.3.4-gev2440.tar.gz源码
A,修改include/configs/gec2440.h 文件
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# cd u-boot-1.3.4-gev2440/include/configs/
  把
  #define CONFIG_S3C2410          1       /* in a SAMSUNG S3C2410 SoC     */
  #define CONFIG_SMDK2410          1       /* on a SAMSUNG SMDK2410 Board  */
  修改
  #define CONFIG_S3C2440          1       /* in a SAMSUNG S3C2440 SoC     */
  #define CONFIG_GEC2440          1       /* on a SAMSUNG GEC2440 Board  */

  
(调试完毕,但笔记尚未整理完成)
点赞  2009-9-18 14:52
七,为S3C2410编译ARM-LINUX内核1,传送文件包到LINUX系统并解压
    利用SecureCRT 登陆,传送文件到系统
        [email=root@yuanxh-desktop:/home/yuanxh]root@yuanxh-desktop:/home/yuanxh[/email]# cd s3c2410/
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# rz
        在SecureCRT弹出的窗口中选择linux-2.6.26.tar.bz2包;
2,解压内核
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# tar xjvf linux-2.6.26.tar.bz2
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410]root@yuanxh-desktop:/home/yuanxh/s3c2410[/email]# cd linux-2.6.26
3,为内核指定编译器
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# vi Makefile
        把 EXTRAVERSION = -9gs3c2410 写上自己版本标识,指定体系结构和编译器
        ARCH           ?= arm
        CROSS_COMPILE  ?= /usr/local/arm/eldk-4.1/usr/bin/arm-linux-
        添加可加载模块安装路径
        INSTALL_MOD_PATH = $(TOPDIR)/modules-$(KERNELRELEASE)
4,编译内核及发布目标码
    A,查看内核支持的开发板
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make help
    B,配置为S3C2410板默认设置
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make s3c2410_defconfig
    C,编译生成全部目标码
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make
    D,也可分步依次生成zImage,可加载modules和安装可加载模拟到默认目录
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make zImage
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make modules
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make modules_install
    E,发送内核目标码和可加载模块
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# cp arch/arm/boot/zImage .
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# mv zImage zImage-2.6.26-gec2440.bin
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# sz zImage-2.6.26-gec2440.bin
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# tar czvf modules-2.6.26-gec2440.tar.gz modules-2.6.26-gec2440/
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# sz modules-2.6.26-gec2440.tar.gz
F,个性化配置内核
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make menuconfig
  .config中内核启动命令行参数CONFIG_CMDLINE改为:
  mem=64M console=ttySAC0,115200 initrd=0x32000000,8388608 root=/dev/ram0 rw init=/linuxrc
G,编译生成U-BOOT可识别目标码uImage
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make uImage
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# cp arch/arm/boot/uImage .
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# mv uImage uImage-2.6.26-gec2440.bin
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# sz uImage-2.6.26-gec2440.bin
5,清除内核目标码恢复未配置状态
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make clean
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make distclean
        [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# make mrproper
6,修改linux-2.6.26代码适合GEC2440开发板
A,修改初时钟始化
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# vi arch/arm/mach-s3c2440/mach-smdk2440.c
  注释掉原来的时钟初始化函数:
  //      s3c24xx_init_clocks(16934400);  // charge by yuanxihua@21cn.com
  增加上新的时钟初始化定义:
        s3c24xx_init_clocks(12000000);
    B,重新编译内核
     [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26[/email]# ./mkall
     执行的脚本内容如下:
     #!/bin/sh
  #make by yuanxihua@21cn.com  for GEC2440
  #make s3c2410_defconfig
  make
  make uImage
  cp arch/arm/boot/uImage uImage-2.6.26-9g24x0.bin
  cp uImage-2.6.26-9g24x0.bin /tftpboot
  make modules_install INSTALL_MOD_PATH=./modules-2.6.26-9g24x0
  tar czvf modules-2.6.26-9g24x0.tar.gz ./modules-2.6.26-9g24x0
  cp modules-2.6.26-9g24x0.tar.gz  /tftpboot
C,修改网络CS8900问题
  修改Kconfig
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26-9g24x0]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26-9g24x0[/email]# cd drivers/net/
  [email=root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26-9g24x0/drivers/net]root@yuanxh-desktop:/home/yuanxh/s3c2410/linux-2.6.26-9g24x0/drivers/net[/email]# vi Kconfig

(调试完毕,但笔记尚未整理完成)
  D,修改LCD驱动问题
点赞  2009-9-18 14:53

回复 5楼 缥缈九哥 的帖子

欢迎探讨~~~
点赞  2009-9-18 14:53

不错

9叔的资料很丰富,俺给你顶上去
点赞  2009-9-18 15:28
请问楼主,目前我用的是UBANTU9。04。楼主讲得这些在我的环境下可以照搬吗?
点赞  2009-9-20 23:08
谢谢楼主,非常详细,给你顶!
点赞  2009-9-21 08:39
UBUNTU 与DEBIAN类似。很多东西都能通用。另外,LINUX也是通用的,很多东西都照搬。
点赞  2009-9-21 09:34

回复 8楼 quanzx 的帖子

可以的。
加油!在电子行业默默贡献自己的力量!:)
点赞  2009-9-21 09:34
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复