hi3515-nor_flash烧写系统-挂载usb-sd卡步骤

来源:互联网 发布:python float函数 编辑:程序博客网 时间:2024/05/22 00:42
 

以下配置过程的环境
linux版本:fedora10
开发板:HI3515DMEB_VER_A
开发环境:Hi3515_SDK_V1.0.5.1.tgz
******************************************************
******************************************************
一、norflash烧写步骤
1、烧写uboot
   设置环境变量
 hisilicon#setenv serverip 192.168.1.14 /*设置服务器端的IP地址,可根据需要具体设定*/
 hisilicon#setenv ipaddr 192.168.1.10 /*设置Hi3515 DMEB板的IP地址*/
 hisilicon#setenv netmask 255.255.255.0 /*设置netmask*/
 hisilicon#setenv gatewayip 192.168.1.1 /*设置网关*/
 hisilicon#saveenv
 hisilicon# ping 192.168.1.14 /*用来判断网络是否正常*/
   /*host 192.168.1.14 is alive 表示网络工作正常。*/
   /*ping failed;host 192.168.1.14 is not alive 表示网络不正常*/
  /*另外,还需要在Windows 工作台或者Linux 服务器中建立tftp 服务*/
   烧写uboot,在内存中运行起来之后在超级终端中输入:
 hisilicon# protect off 0x80000000 0x800fffff /*去除写保护*/
 hisilicon#erase 0x80000000 +0x100000 /*擦除Flash*/
 hisilicon#setenv serverip 192.168.1.14
 hisilicon#tftp 0x80000000 u-boot.bin /*拷贝内核到0x80100000位置*/
 hisilicon#protect on 0x80000000 +0x80000 /*恢复写保护*/
  设置启动参数(使用jffs2的文件系统)
 在u-boot下设置启动参数:(操作系统分配32MB的内存,并使用jffs2的文件系统(不同文件系统的参数会有差别,具体参考写在后面的不同系统的参数设置),文件系统的大小为16MB)
        hisilicon#setenv bootargs busclk=220000000 mem=64M console=ttyAMA0,115200 root=1f01 rootfstype=jffs2 mtdparts=physmap-flash.0:14M(boot),16M(rootfs) pcimod=host pciclksel=1
 hisilicon#bootm 0x80100000
     hisilicon#setenv bootcmd 'bootm 0x80100000' /*设置自动加载内核*/
     hisilicon#saveenv /*保存环境变量*/
   重启系统可以看到U-boot 烧写成功

2、烧写内核
 hisilicon#erase 0x80100000 +0x200000
        hisilicon#tftp 0x80100000 kernel-hi3515v100_full_release.img
3、烧写根文件系统(使用jffs2的文件系统)
 hisilicon#erase 0x80E00000 +0x1000000;
        hisilicon#tftp 0x80E00000 rootfs-FULL_REL-Flash.jffs2;
4、使用新系统
    # 切记,不可随意在Linux下复位单板或断电,因为这样可能会损坏文件系统,
 导致文件丢失、损坏以致系统无法启动!
    # 每次重启单板请使用reboot;同理,单板断电时请先运行halt,
 待到挂死后再断电,这样可以有效地保护FLASH文件系统,也可以避免不必要的麻烦。

二、nfs挂载步骤。
 (要挂载的文件系统放在/opt/Hi3515_SDK_V1.0.5.1/下,名字为rootfs-FULL_REL)
pc中的linux配置
 1、pc#/etc/init.d/iptables stop /*关闭防火墙*/
 2、pc#gedit /etc/exports  /*设置共享目录*/
 3、然后编辑配置文件,第一次打开文件是空的,在里面添加以下内容(要写在一行)
   /opt/Hi3515_SDK_V1.0.5.1/rootfs-FULL_REL *(rw,sync,no_root_squash)
 4、在文件系统下建立设备,使用以下命令
  pc# cd /opt/Hi3515_SDK_V1.0.5.1/rootfs-FULL_REL/dev
  pc# mknod console c 5 1
  pc# mknod null c 1 3
 5、启动nfs服务
  pc#/etc/init.d/nfs start
 
 6、可以使用以下命令测试nfs服务是否已经开启
  mount -t nfs -o nolock -o tcp 192.168.1.128:/opt/Hi3515_SDK_V1.0.5.1/rootfs-FULL_REL /mnt
    如果成功的话,mnt目录里面的内容和rootfs-FULL_REL里面的内容会一样,
    对任一个目录操作,另外一个也会有相应变化。
开发板中的设置:
 1、执行命令加载网络驱动
  hisilicon#modprobe hiether
 2、设置网络
  hisilicon#ifconfig eth0 hw ether 00:10:85:18:41:20 /*设置物理地址*/
      hisilicon#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 /*设置ip,*/
      hisilicon#route add default gw 192.168.1.1 /* 设置网关*/
  设置好之后,如无意外,可以ping通外部网络
 3、执行命令加载nfs
  hisilicon#modprobe nfs
 4、挂载NFS文件系统
mount -t nfs -o nolock -o tcp 192.168.1.128:/opt/Hi3515_SDK_V1.0.5.1/rootfs-FULL_REL /mnt
 5、然后就可以在新的根目录下工作了。

三、加载USB设备
******加载U盘*******
开机前不能插上U盘要加载相应模块成功后才能插U盘
1、使用以下命令加载模块(有时候提示找不到文件,可以进入对应目录后再加载)
 modprobe /lib/modules/2.6.24-rt1-hi3515v100/kernel/fs/vfat/vfat.ko
 (可能会提示找不到vfat.ko文件,进入/lib/modules/2.6.24-rt1-hi3515v100/kernel/fs/vfat/目录
 再使用modprobe vfat.ko就可以了)
 insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/drivers/scsi/sd_mod.ko
 insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/fs/nls/nls_ascii.ko
 insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/fs/nls/nls_iso8859-2.ko
 insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/drivers/usb/storage/usb-storage.ko
2、插进U盘,正常情况下能看到,识别U盘的信息。可用以下命令检查是否成功识别
 fdisk -l
3、挂载U盘
 mount /dev/sda1 /mnt/
 注:sda1是设备名,就是用fdisk命令查看到的设备点,
     拔出U盘前要先用umount /mnt命令,不然下次使用U盘会很麻烦

四、加载SD/MMC卡
****需要加载好模块时才能插SD卡********
1、需要使用sd功能时,首先要把demo板上面的S8拨码开关1,2脚拨到有数字那边
   其他方向是设置为视频接口的。
2、准备需要加载驱动的模块
 模块 所在内核目录
 fat.ko   fs/fat
 vfat.ko  fs/vfat
 msdos.ko fs/msdos
 nls_ascii.ko fs/nls
 hidmac.ko 文件系统rootfs.../lib/modules/2.6.24.../misc/
 mmc_core.ko drivers/mmc/card
 mmc_block.ko drivers/mmc/card
 hi_mci.ko 文件系统rootfs.../lib/modules/2.6.24.../misc/
3、把所有模块拷贝到系统/lib/sdcard目录下
4、进入/lib/sdcard目录,执行以下命令,加载驱动模块
 modprobe vfat
 modprobe fat
 insmod nls_ascii.ko
 insmod msdos.ko
 insmod hidmac.ko
 insmod mmc_core.ko
 insmod mmc_block.ko
 modprobe hi_mci
 注意:某个模块可能提示已经存在,不用理会;
5、插入SD卡。查看分区信息,挂载
 mount /dev/设备节点 /mnt
 注:可能会出现提示,挂载的sd卡写保护,只可读。
     这是因为SD卡上面有个lock开关,sd卡插入卡槽时,
     那个开关会被拨到lock那端,,如想去掉写保护,
     ,只好在卡槽那里做一些处理了,就是不要让lock开关
     被拨到lock端。
 
*********
^_^ enjoy ^_^
**********************************************************
--author:Dong Xiufu 2011-11-15***************************
**********************************************************