zoukankan      html  css  js  c++  java
  • SAMA5D3 Xplained Board

    一、烧录

    1)先在官网 http://www.at91.com/linux4sam/bin/view/Linux4SAM/Sama5d3XplainedMainPage 

    下载  linux4sam-poky-sama5d3_xplained-5.7.zip 和 SAM-BA 3.x release 

    2)将Demo镜像解压到sam-ba工具的example/sama5d3目录

    3)windows终端cmd进入sam-ba_3.2.1examplessama5d3linux4sam-poky-sama5d3_xplained-5.7目录运行sam-ba就启动烧录了。

    设备管理器里可能会缺少gadget serial v2.4驱动

    下载USB-CDC driver: https://www.kernel.org/doc/Documentation/usb/linux-cdc-acm.inf

    放在sam-ba_3.2.1driver目录,安装即可烧录

    C:Users15019Desktopsam-ba_3.2.1examplessama5d3linux4sam-poky-sama5d3_xplained-5.7>

    取下JP5,复位板子,运行如下指令

    ......sam-ba -x demo_linux_nandflash_usb.qml

     

    二、编译

    1、How to build Buildroot for AT91

    http://www.at91.com/linux4sam/bin/view/Linux4SAM/BuildRootBuild

    1)自定义交叉工具链 toolchain

      │ │                                                                  Toolchain type (External toolchain)  --->                                                                                                     │ │  
      │ │                                                                  *** Toolchain External Options ***                                                                                                               │ │  
      │ │                                                                  Toolchain (Custom toolchain)  --->                                                                                                             │ │  
      │ │                                                                  Toolchain origin (Pre-installed toolchain)  --->                                                                                            │ │  
      │ │                                                                  (/usr/local/gcc-linaro-arm-linux-gnueabihf) Toolchain path                                                                         │ │  
      │ │                                                                  ($(ARCH)-linux-gnueabihf) Toolchain prefix                                                                                               │ │  
      │ │                                                                  External toolchain gcc version (4.7.x)  --->                                                                                                 │ │  
      │ │                                                                  External toolchain kernel headers series (3.2.x)  --->                                                                                 │ │  
      │ │                                                                  External toolchain C library (glibc/eglibc)  --->

     

    2)自定义内核版本 Kernel

    Linux Kernel YES
    Kernel version Custom Git tree
    URL of custom Git repository https://github.com/raspberrypi/linux
    Custom Git version rpi-3.6.y
    Kernel configuration Using a defconfig
    Defconfig name bcmrpi
    Kernel binary format zImage

    3)添加NFS支持(Target packages -> FileSystem and flash utilities -> nfs-utils)

     

    3)单独编译内核

    下载源码

    https://github.com/linux4sam/linux-at91/tree/linux-4.9-at91

    编译文档

    http://www.at91.com/linux4sam/bin/view/Linux4SAM/Sama5d3XplainedMainPage#Configure_and_Build_the_Linux_ke

    添加编译器路径 /usr/local/gcc-linaro-arm-linux-gnueabihf/arm-linux-gnueabihf-

    先要安装个uboot的小工具

    sudo apt-get install uboot-mkimage

    更改Makefile

    #ARCH        ?= $(SUBARCH)
    #CROSS_COMPILE    ?= $(CONFIG_CROSS_COMPILE:"%"=%)
    ARCH        = arm
    CROSS_COMPILE    = arm-linux-gnueabihf-

    然后如下三条指令编译

    make ARCH=arm sama5_defconfig

    make ARCH=arm

    make ARCH=arm uImage LOADADDR=0x20008000

    make ARCH=arm dtbs

     

    4) 挂载SD卡

    (1)确保sd卡加载成功
    fdisk -l

    (2)挂载SD卡

    mount /dev/mmcblk0p1 /mnt/mmc

    或者

    mount -t vfat  /dev/mmcblk0p1 /mnt/mmc

    (3)卸载SD卡

    umount /mnt/mmc

    注意,当前目录不能是/mnt,否则会出现“umount can't umount /mnt device or resource busy”的错误提示信息。

    (4)Linux 如何上电挂载SD卡

    编辑/etc/init.d/目录下的rcS文件:vi /etc/init.d/rcS
    在里面加入一行:mount -t vfat /dev/mmcblk0p1 /mnt/mmc
    这样上电后开发板就会自动挂载SD卡到主目录的mmc文件夹

     

    5) 挂载U盘也类似

    # mount /dev/sda1 /media                                                        
    FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Ple.
    # cd /media/                                                                    
    # ls                                                                            
    Image                      uImage                                               
    at91-sama5d3_xplained.dtb  zImage                                               
    #

    二、其他

    1)资料收集

    http://www.at91.com/linux4sam/bin/view/Linux4SAM/Sama5d3XplainedMainPage

    http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=ATSAMA5D3-XPLD

    http://www.eewiki.net/display/linuxonarm/SAMA5D3

    http://www.at91.com/linux4sam/bin/view/Linux4SAM/

    之前没用过这款IC,有个卖板子的也整理了些基本操作。

    http://www.myir-tech.com/product/myd-sama5d3x.htm#loc

     

    2)编译内核会报个错误

    "mkimage" command not found - U-Boot images will not be built

    http://blog.csdn.net/eibo51/article/details/51901480

     

    3) Sama5d36ek_Device Tree

    https://wenku.baidu.com/view/d4c3cf7fbed5b9f3f80f1c5d.html

    http://blog.csdn.net/iefswang/article/details/27096393

    4) gpio

    http://www.myir-tech.com/bbs/forum.php?mod=viewthread&tid=7860

    x) 刷机涉及到 openssl-1.1.0f.tar.gz 的安装

    https://blog.csdn.net/xiatiancc/article/details/78913163

    wget http://www.openssl.org/source/openssl-1.1.0f.tar.gz
    tar -zxvf openssl-1.1.0f.tar.gz
    cd openssl-1.1.0f
    ./config shared zlib
    make

    sudo make install

    默认的安装路径

    installing libcrypto.a
    installing libssl.a
    installing libcrypto.so.1.0.0
    installing libssl.so.1.0.0
    make[1]: Entering directory `/usr/local/ssl/lib64'
    make[2]: Entering directory `/usr/local/ssl/lib64'
    make[2]: Leaving directory `/usr/local/ssl/lib64'
    make[2]: Entering directory `/usr/local/ssl/lib64'
    make[2]: Leaving directory `/usr/local/ssl/lib64'
    make[1]: Leaving directory `/usr/local/ssl/lib64'
    OpenSSL shared libraries have been installed in:
      /usr/local/ssl
    
    cp libcrypto.pc /usr/local/ssl/lib64/pkgconfig
    chmod 644 /usr/local/ssl/lib64/pkgconfig/libcrypto.pc
    cp libssl.pc /usr/local/ssl/lib64/pkgconfig
    chmod 644 /usr/local/ssl/lib64/pkgconfig/libssl.pc
    cp openssl.pc /usr/local/ssl/lib64/pkgconfig
    chmod 644 /usr/local/ssl/lib64/pkgconfig/openssl.pc

    #修改历史的OpenSSL文件设置备份
    sudo mv /usr/bin/openssl /usr/bin/openssl.old
    sudo mv /usr/include/openssl /usr/include/openssl.old

    #设置软连接使其使用新的OpenSSL版本 刚刚安装的OpenSSL默认安装在/usr/local/ssl
    sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
    sudo ln -s /usr/local/ssl/include/openssl /usr/include/openssl

    #更新动态链接库数据
    //echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
    sudo sh -c "echo '/usr/local/ssl/lib' >> /etc/ld.so.conf"
    sudo ldconfig -v
    我们再来看看 OpenSSL 版本信息.

     

    安装到指定路径--prefix=/usr/local/openssl

    ./config shared zlib  --prefix=/usr/local/openssl && make && make install

    [root@localhost src]# tar -xzvf openssl-1.0.1s.tar.gz
    [root@localhost src]# cd openssl-1.0.1s
    [root@localhost openssl-1.0.1s]# ./config -fPIC --prefix=/usr/local/openssl enable-shared
    [root@localhost openssl-1.0.1s]# ./config -t
    [root@localhost openssl-1.0.1s]# make && make install

    tar -xzvf openssl-1.0.0.tar.gz
    cd openssl-1.0.0
    ./config -fPIC --prefix=$(pwd)/_install enable-shared
    ./config -t
    make 
    rm -f /usr/bin/pod2man
    sudo make install

    y) usb模拟网卡挂载nfs

    //ubuntu主机
    sudo nano /etc/exports
    /home/dong/nfs *(rw,sync,no_root_squash,no_subtree_check)

    sudo /etc/init.d/nfs-kernel-server restart
    sudo /etc/init.d/rpcbind restart

    sudo ifconfig usb0 192.168.10.1

    //设备端
    modprobe g_multi file=/dev/mmcblk0p5,/dev/mmcblk0p6 ro=0,1 luns=2 stall=0 removable=1,1 iSerialNumber=3000111
    ifconfig usb1 192.168.10.2
    mount -t nfs -o nolock 192.168.10.1:/home/dong/nfs /home/tmp

  • 相关阅读:
    git-【六】分支的创建与合并
    git-【五】远程仓库
    git-【四】撤销修改和删除文件操作
    git-【三】理解工作区与暂存区的区别
    git-【二】本地git操作提交、版本回退
    git-【一】概述安装
    java-基础-【四】实际编程中的对象
    博客园打赏、赞助功能
    js-template-art【四】通过helper方法注册,调用外部方法
    js-template-art【三】js api
  • 原文地址:https://www.cnblogs.com/dong1/p/8514433.html
Copyright © 2011-2022 走看看