系统移植-系统搭建

来源:互联网 发布:sns java 编辑:程序博客网 时间:2024/03/29 13:24

exynos4412启动过程
1. BL0
找到Bootloader1(eMMC开头/MMC/Nandflash/Norflash/USB启动)
2. BL1
找到Bootloader2,拷贝BL2到iRAM中运行
3. BL2
初始始终,初始化内存,拷贝u-boot到内存(0x43e00000);执行u-boot
4. u-boot
将自己拷贝到高地址的内存运行
【系统搭建–产品集成】(#开发板命令 $虚拟机命令)

  • 烧写u-boot

    制作SD卡启动盘
    • A拷贝“工具”目录下的sdfuse_q到虚拟机(装有linux系统的)
    • B.插入SD卡到电脑的USB口,并让虚拟机识别
    • C.烧写u-boot-fs4412.bin(2010.03)到SD卡 $ sudo ./mkuboot.sh /dev/sdd
      配置
    • A.拷贝u-boot-fs4412.bin(2013.01)到SD卡
    • B.用USB转串口线链接电脑和fs4412开发板的COM2(CON7)
    • C.将SW1开关拨到(1000)
    • D.在超级终端中执行sdfuse flashall命令,烧写SD中update目录下的u-boot到开发板
    • E.SW1开关拨到(0110)
  • 网络配置
    安装tftp服务软件,在ubuntu上,执行如下命令:
    $sudo apt-get install tftp-hpa tftpd-hpa
    注:tftp-hpa是客户端,tftpd-hpa是服务器
    # setenv ipaddr 192.168.1.253 设置IP地址
    # setenv netmask 255.255.255.0 设置子网掩码
    # setenv serverip 192.168.1.233(虚拟机的IP地址) 设置tftp服务器的ip地址
    # saveenv 保存内存中的环境变量到emmc
  • 烧写内核(uImage)
    拷贝uImage 到/tftpboot(tftp服务器的根)
    # tftp 0x41000000(内存地址) uImage
    $ sudo service tftpd-hpa restart
    # movi write kernel(分区名) 0x41000000(uIMage在内存中的地址)
  • 烧写设备树
    1.拷贝exynos4412-fs4412.dtb到/tftpboot
    2.下载到内存(0x41000000)
    # tftp 0x41000000(内存地址) exynos4412-fs4412.dtb
    3.写入emmc
    # movi write dtbs(分区名) 0x41000000(exynos4412-fs4412.dtb在内存中的 地址)
  • 烧写文件系统
    1.拷贝ramdisk到/tftpboot
    2.下载到内存(0x41000000)
    # tftp 0x41000000(内存地址) ramdisk.img
    3.写入emmc
    # movi write rootfs(分区名) 0x41000000(exynos4412-fs4412.dtb在内存中的地址) 0x300000(写入eMMC的字节数)
  • 手动启动

     1. 设置内核参数  # setenv bootargs init=/linuxrc(告诉内核init程序的在文件系统中的位置) console=ttySAC2,115200(告诉内核控制他的终端是ttySAC2这个串口)  # saveenv  2. 读取内核到内存   # movi read kernel(分区名) 0x41000000(内核启动时的内存地址)   3. 读取设备树到内存  # movi read dtbs(分区名) 0x42000000(设备树在内存中的位置)   4. 读取文件系统到内存  # movi read rootfs 0x43000000(文件系统在内存中的位置) 0x300000(文件系统大小)   5. 启动kernel  # bootm 0x41000000(内核) 0x43000000(文件系统) 0x42000000(设备树)
  • 自启动

    1. #setenv bootargs init=/linuxrc console=/ttySAC2,115200 root=/dev/nfs rw nfsroot=192.168.1.156:/source/rootfs ip=192.168.1.89
    2. #set bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000 - 42000000
    3. #saveenv
原创粉丝点击