• 2、qq物联环境搭建


    1.使用easyopenjtag、openjtag来烧写uboot


    2.体验uboot

    插讲《网络设置_ping问题解决_远程登录ssh_文件互传ftp》

    192.168.1.183 windows系统的IP地址
    192.168.1.184 ubuntu系统的IP地址
    192.168.1.185 JZ2440开发板的IP地址

    3.安装交叉编译工具链arm-linux-gcc
    资源:arm-linux-gcc-4.3.2.tar.bz2
    cd /work/tools/
    sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /

    修改/etc/environment 环境变量
    修改成:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"

    使环境变量生效
    source /etc/environment

    检查环境变量
    echo $PATH

    检查交叉编程工具链的版本
    arm-linux-gcc -v


    4.编译uboot

    资源:
    u-boot-1.1.6.tar.bz2
    u-boot-1.1.6_20161226_all.patch
    把这两个文件复制到/work/system目录

    如下步骤:
    cd /work/system
    tar xjf u-boot-1.1.6.tar.bz2
    cd u-boot-1.1.6/
    patch -p1 < ../u-boot-1.1.6_20161226_all.patch
    make 100ask24x0_config
    make

    5.编译linux内核
    资源:
    linux-3.4.2.tar.bz2
    linux-3.4.2_20161226_all.patch

    先把这两个文件复制到/work/system目录下

    tar xjf linux-3.4.2.tar.bz2
    cd linux-3.4.2/
    patch -p1 < ../linux-3.4.2_20161226_all.patch
    cp config_jz2440 .config
    make uImage

    6.使用已经制作好的根文件系统rootfs
    资源:
    fs_mini_mdev_new_auto_wifi.tar.bz2

    注意:根文件系统rootfs位于nand flash,而不是位于nfs文件系统中。

    sudo tar xjf fs_mini_mdev_new_auto_wifi.tar.bz2
    mkyaffs2image fs_mini_mdev_new fs_mini_mdev_new.yaffs2


    7.向开发板烧入uboot/kernel/rootfs

    1)使用eop烧写uboot


    //========================分区大小
    输入print后:
    mtdparts=mtdparts=nandflash0:512k@0(bootloader),128k(params),4m(kernel),-(root)

    (上述设置的环境变量仅在uboot下有效)

    Linux-3.4.2/arch/arm/mach-s3c24xx/common-smdk.c(内核下分区信息在该文件下定义)


    Uboot 512K Easyopenjtag烧入nand flash
    Uboot环境变量 128K
    Kernel 4M Uboot中nfs下载,并烧入到nand flash
    rootfs 剩余全部 Uboot中nfs下载,并烧入到nand flash

    192.168.1.183 windows系统的IP地址
    192.168.1.184 ubuntu系统的IP地址
    192.168.1.185 JZ2440开发板的IP地址

    //========================设置uboot的ip地址
    setenv serverip 192.168.1.184
    setenv ipaddr 192.168.1.185
    saveenv
    再使用print来查看

    //========================设置和测试nfs服务器,

    vi /etc/exports

    加上“/work/nfs_root *(rw,sync,no_root_squash)”//会通过nfs挂载的目录
    cat /etc/exports

    复位nfs服务器
    sudo service portmap restart
    sudo /etc/init.d/nfs-kernel-server restart


    测试nfs服务器能否本地挂载
    sudo mount -t nfs localhost:/work/nfs_root /mnt
    cd /mnt 切换mnt目录去查看相关内容
    cd ~ ##返回到非/mnt目录,才能卸载挂载到/mnt上的文件系统
    sudo umount /mnt


    然后把内核复制/work/nfs_root


    //========================下载、擦除、烧写内核
    在uboot环境下:
    nfs 30000000 192.168.1.184:/work/nfs_root/uImage
    nand erase kernel
    nand write.jffs2 30000000 kernel


    //========================下载、擦除、烧写rootfs
    在uboot环境下:
    nfs 30000000 192.168.1.184:/work/nfs_root/fs_mini_mdev_new.yaffs2
    nand erase root
    nand write.yaffs 30000000 4a0000 $(filesize)

    512*1024 =524288 =0x 80,000
    128*1024 =131072 =0x 20,000
    4*1024*1024=4194304=0x400,000
    加起来就是0x4a0,000


    //========================设置启动参数(这一步骤不用设置)
    使用print来查看bootcmd和bootargs
    setenv bootcmd nand read.jffs2 0x30007FC0 kernel ; bootm 0x30007FC0
    setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
    saveenv

    //========================启动内核
    boot



    8.驱动的编译、安装和测试


    1)网络驱动的测试
    linux-3.4.2/drivers/net/ethernet/davicom/dm9dev9000c.c
    已经将该网络驱动编译进内核。

    //========================在开发板linux环境挂载nfs文件系统
    mount -t nfs -o nolock 192.168.1.184:/work/nfs_root /mnt

    2)led驱动

    注意一下:
    编译驱动模块的前提是:内核已经顺利编译通过。

    mkdir -p /lib/modules/3.4.2
    cp first_drv.ko /lib/modules/3.4.2/
    insmod first_drv.ko
    ./firstdrvtest on
    ./firstdrvtest off

    3)按键驱动

    cp buttons.ko /lib/modules/3.4.2/
    insmod buttons.ko
    ./buttons_test


    4)LCD驱动

    cp lcd.ko /lib/modules/3.4.2/
    insmod lcd.ko
    ./fb_test /dev/fb0

  • 相关阅读:
    《零基础入门学习Python》学习过程笔记【012列表的常用函数,逻辑关系,+,*,in,列表推导式】
    鱼C工作室《零基础入门学习Python》 学习过程笔记【011列表类的方法】
    鱼C工作室《零基础入门学习Python》学习过程笔记记录第一天 001-010
    笨方法学python(本文为阅读时从此书摘录的笔记) 第六天(留坑)
    笨方法学python(本文为阅读时从此书摘录的笔记) 第五天
    DAY 165 创建虚拟环境01
    DAY 164 SVN常用命令
    DAY 163 Yaml语法使用
    DAY 162 linux sudo 命令
    DAY 161 pycharm同步代码到linux
  • 原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/8993157.html
Copyright © 2020-2023  润新知