• 开发阶段部署


    一、准备文件

    1.uboot镜像文件:(TF/EMMC)
    		       u-boot-stm32mp157a-fsmp1a-trusted.stm32
    		2.TF-A镜像文件:(TF/EMMC)
    		       tf-a-stm32mp157a-fsmp1a-trusted.stm32
    		3.linux内核镜像文件:(使用tftp服务器下载程序到开发板中)
    		        uImage 和 stm32mp157a-fsmp1a.dtb
    		4.根文件系统文件:(使用nfs服务器实现挂载)
    		       rootfs
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    二、使用ums命令将uboot镜像文件烧写到EMMC设备中

        2.1 必须制作TF卡启动盘:
              1.开发板必须能够通过TF卡启动方式,uboot启动成功
              2.因为ums命令属于uboot中的环境变量,所以一定使用过TF卡启动方式,uboot启动成功
        2.2 ums命令介绍:
              1.ums 0 mmc 0 ------------>将TF卡挂载到Ubuntu中
              2.ums 0 mmc 1 ------------>将EMMC设备挂载到Ubuntu中
       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.3 使用ums命令进行烧写

        1.开发板必须通过TF卡的启动方式,uboot启动成功
        2.使用一根mi-ni-usb线,将FSMP1A核心板和ubuntu进行连接
        3.通过串口工具进行打印信息,进入交互模式,输入 ums 0 mmc 1命令,并且需要点击被ubuntu识别
        FSMP1A>  ums 0 mmc 1
        UMS: LUN 0, dev 1, hwpart 0, sector 0x0, count 0x760000
        -crq->brequest:0x0
        /
        4.需要点击弹框,将EMMC设备被ubuntu识别,需要查看ls /dev/sd*
        linux@ubuntu:~$ ls /dev/sd*
             /dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3  /dev/sdb4  /dev/sdb5
        5.进入uboot源码目录
        /home/linux/FSMP1A/u-boot-stm32mp-v2020.10-stm32mp-r2-r0/u-boot-stm32mp-v2020.10-stm32mp-r2
        6.烧写镜像文件到EMMC设备中
        ./sdtools.sh /dev/sdb
        7.将拨码开关拨到EMMC启动方式,查看uboot是否可以启动成功,如果可以启动成功,代表EMMC烧写成功
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、开发阶段部署
    3.1 网络ping通

    1.将ubuntu网络设备为静态ip(设备为桥接模式,静态ip)
    2.设置uboot中环境变量信息
        FSMP1A> setenv serverip 192.168.1.100
        FSMP1A> setenv ipaddr 192.168.1.250
        FSMP1A> setenv netmask 255.255.255.0
        FSMP1A> setenv gatewayip 192.168.1.1
        FSMP1A> saveenv
        Saving Environment to MMC... Writing to MMC(1)... OK
    3.通过ping命令测试开发板设否连接ubuntu成功
         FSMP1A>ping 192.168.1.100
            ethernet@5800a000 Waiting for PHY auto negotiation to complete.... done
            Using ethernet@5800a000 device
            host 192.168.1.100 is alive
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.2 使用tftp命令下载uImage和设备树到开发板中

    1.将设备树和uImage文件拷贝到~/tftpboot文件夹下面
    2.在串口工具,使用tftp命令下载uImage进行文件到开发板中
        FSMP1A>  tftp 0xc2000000 uImage
            Using ethernet@5800a000 device
            TFTP from server 192.168.1.100; our IP address is 192.168.1.250
            Filename 'uImage'.
            Load address: 0xc2000000
            Loading: #################################################################
            
                     2.4 MiB/s
            done
            Bytes transferred = 7172048 (6d6fd0 hex)
    3.在串口工具,使用tftp命令下载设备树进行文件到开发板中
        FSMP1A>  tftp 0xc4000000 stm32mp157a-fsmp1a.dtb
            Using ethernet@5800a000 device
            TFTP from server 192.168.1.100; our IP address is 192.168.1.250
            Filename 'stm32mp157a-fsmp1a.dtb'.
            Load address: 0xc4000000
            Loading: ######
                     3.9 MiB/s
            done
            Bytes transferred = 77379 (12e43 hex)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    3.3 设置bootargs参数

    1.在串口工具,设置bootargs参数
        FSMP1A>  setenv bootargs root=/dev/nfs nfsroot=192.168.1.100:/home/linux/nfs/rootfs,tcp,v4 rw console=ttySTM0,115200 init=/linuxrc ip=192.168.1.250                   
    
        FSMP1A>  saveenv
        Saving Environment to MMC... Writing to MMC(1)... OK
        解释:root=/dev/nfs:使用nfs方式进行挂载
             nfsroot=192.168.1.100:/home/linux/nfs/rootfs:挂载的IP地址和路径(每个人的路径不一样,大部分同学/home/ubuntu)
             tcp,v4 :型号
             rw:可读可写权限
             console=ttySTM0:默认使用串口0
             115200 :波特率为115200
             init=/linuxrc :系统启动之后,运行1号进程
             ip=192.168.1.250  :板子的ip地址   (每个人的路径不一样)                    
    2.启动内核
        bootm 0xc2000000 - 0xc4000000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【毕业设计】深度学习猫狗分类 - python opencv cnn
    linux启动minicom、u-boot的常用命令、网络命令tftp、nfs/根文件系统、u-boot的bootargs环境变量
    智能网联汽车网络安全攻击与防御技术概述
    Linux基础与实战精华—命令与工具
    C#中一种使用临时文件,用完自动销毁的方法
    Spring MVC共享域对象操作
    计算机网络:物理层
    文件操作(个人学习笔记黑马学习)
    【PHP代码审计】反序列化漏洞实战
    Java 将Excel转为XML
  • 原文地址:https://blog.csdn.net/liuchengkun123/article/details/127736820