查看: 948|回复: 0

SIN210学习笔记__编译、烧写 linux系统

[复制链接]
  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-2-12 09:03:55 | 显示全部楼层 |阅读模式
    分享到:
    (笔者使用的系统是  Ubuntu 12.04 LTS,如果不是编译Android系统,只是编译linux系统,可使用Vmware + Ubuntu,安装虚拟机。以下内容参考官方的教程,分享给大家看看)
    一、安装交叉编译器
    1、交叉编译器路径:光盘linux 2.6.34\arm-linux-gcc\4.3.2.tar.gz
    2、将该文件,拷贝到Ubuntu系统中
    3、进入Linux 系统,在/usr/local 目录下创建文件夹arm
    4、将4.3.2.tar.gz 拷贝到这个目录下
    5、解压缩
    6、将交叉编译器加入环境变量中
    进入用户目录下,编辑.bashrc 文件
    7、添加如下内容
    PATH=/usr/local/arm/4.3.2/binPATH
    export PATH
    8、重新加载环境变量
    9、这时,交叉编译安装完成,我们可以输入如下命令查看编译器版本。
    arm-linux-gcc -v
    二、编译Uboot
    1、uboot 源码路径:光盘linux 2.6.34\source\uboot_smdkv210.tar.gz
    2、将该文件,拷贝到Ubuntu系统中
    3、进入linux 系统,将uboot 拷贝到我们的用户目录下。
    4、解压缩tar zxvf uboot_smdkv210.tar.gz
    5、进入解压后的目录cd uboot_smdkv210
    6、对uboot 进行编译前配置:make smdkv210single_config
    7、直接make, 即可生成u-boot.bin
    三、编译kernel
    1、kernel 源码路径:光盘linux 2.6.34\source\kernel_smdkv210.tar.gz
    2、将该文件,拷贝到Ubuntu系统中
    3、进入linux 系统,将kernel 拷贝到我们的用户目录下。
    4、解压缩tar zxvf kernel_smdkv210.tar.gz
    5、进入解压后的目录cd uboot_smdkv210 后,直接make zImage 进行编译
    6、make zImage 后,生成可以烧写的zImage 文件,生成文件在目录arch/arm/boot 下
    三、制作yaffs文件系统
    1、yaffs 文件系统路径:光盘linux 2.6.34\source\myfs.tar.gz
    2、将该文件,拷贝到Ubuntu系统中
    3、进入linux 系统,将yaffs 拷贝到我们的用户目录下。
    4、解压缩tar zxvf myfs.tar.gz
    5、将制作文件系统工具mkyaffs2image 拷贝到共享目录下,并将其拷贝到我们的用户目录下。
    mkyaffs2image 工具路径:光盘linux 2.6.34\tools\mkyaffs2image
    6、输入命令:./mkyaffs2image myfs system.img,即可制作出用于烧写的文件系统了。
    至此,我们已经将嵌入式Linux 系统的基本代码编译完成。他们分别是:uboot.bin、
    zImage、system.img
    这三个文件组成了我们的Linux 系统
    其中uboot 是ARM 上电后执行的第一个文件,即bootloader
    zImage 是Linux 的内核文件,这里主要是我们编译的各种驱动。
    System.img 是文件系统,可以用来存储我们日后编写的应用程序。
    开发板NandFlash存储空间分配如下图所示

    四、烧写linux系统到开发板中
    (一)烧写过程概括
    1、默认NandFlash 没有程序的前提下,需要如下的完成烧写过程。
    2、制作一张含有Uboot 代码的SD 卡启动盘,让CPU 上电后,可以读到uboot 启动代码,完成后面
    的烧写过程。
    3、将拨码开关调整到SD 卡启动方式,插入制作好引导程度的SD 卡。上点。
    4、SD 卡里的Uboot 代码已经加载到内存中运行起来了。之后利用uboot 中的USB OTG 接口代码,
    将PC 上的uboot.bin\zImage\system.img 文件,加载到内存中。
    5、然后再将内存中的这些内容,写入到NandFlash 中。
    6、操作完之后,NandFlash 中就有了我们的代码了,这时将拨码开关调整到NandFlash 启动,即烧
    写完毕。
    (二)制作引导系统的SD 卡
    注:制作SD 卡引导作用是在NandFlash 里没有启动代码时,使CPU 通过SD 卡能够引导启动Uboot。
    1、首先选择一张Kingston 或Sandisk 的正品SD 卡,2G ,4G 均可。
    2、在Ubuntu 虚拟机环境下解压Uboot 源码
    注:解压命令tar zxvf uboot_smdk210.tar.gz
    3、解压后进行编译(具体请参考编译Uboot)
    4、进入uboot 的sd_fusing 目录。
    5、把SD 卡插入读卡器中。然后把读卡器插入PC 的USB 口
    此时虚拟机的右下角会出现一个Removable Disk 的图标,单击该图标,在出现的菜单中选择Connect
    此时/dev/目录下会出现关于SD 卡的设备节点。我这里是/dev/sdb
    (用户可以自己插拔SD 卡来确认这个节点)
    6、执行./sd_fusing.sh /dev/sdb
    至此Uboot 已经烧入到SD 卡中。
    (三)通过USB OTG 烧写镜像
    1、设置拨码开关,使其从SD 卡引导,并将制作好启动的SD 卡插入开发板中。

    2、将串口线和USB OTG 线与开发板连接起来
    3、在PC 机端打开DNW 软件,并进行配置
    4、给开发板上电
    5、Uboot 启动,按空格键进入Uboot
    6、输入命令nand erase,擦除整片NandFlash
    7、输入命令dnw c0008000, 将uboot.bin 通过usb 下载到开发板中内存0xc0008000 位置处。
    8、选择dnw 菜单的USB port->Transmit 加载uboot.bin
    9、输入命令nand write c0008000 0 100000 将uboot.bin 写入到NandFlash 中。
    10、输入命令dnw c0008000
    11、选择dnw 菜单的USB port->Transmit 加载zImage
    12、输入命令nand write c0008000 100000 300000, 将zImage 写入NandFlash 中
    13、输入命令dnw c0008000
    14、选择dnw 菜单的USB port->Transmit 加载system.img
    15、输入命令nand write.yaffs c0008000 600000 c1bae00, 将system.img 写入NandFlash 中
          注意:写入的c1bae00 这个值,是根据usb 下载文件的大小决定的
    16、至此,烧写完成后,断电,拨码开关到NandFlash 启动模式,重新上电。
         
    17、系统启动
    至此可以看到linux开机的界面。
      
    高性价比——SIN210开发板

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 04:58 , Processed in 0.114305 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.