【NXP DN 系列】 LS1043ARDB 环境搭建

转载地址:https://blog.csdn.net/dana_xiong/article/details/110927180

一、资源准备

在开始搭建 NXP DN For LS1043ARDB 环境之前需要事先需做好资源准备工作。

  1. Ubantu 环境准备
    需要事先装好 Ubuntu 18.04 或以上版本,因为其他版本没有 Docker container ,Ubuntu 18.04 镜像下载地址:Ubuntu 18.04 下载
  2. LSDK 资料包准备
    NXP 官网下载最新的 LSDK 19.06 版本
    下载地址:LSDK 19.06 下载
    flexbuild_lsdk1906_update_290719.tgz
  3. 解压 flexbuild_lsdk1906_update_290719.tgz
tar -xvzf flexbuild_lsdk1906_update_290719.tgz 
cd flexbuild_lsdk1906_update_290719
source setup.env
flex-builder -h
   
   
  • 1
  • 2
  • 3

二、编译 LSDK 环境

  1. 使用 Flexbuild 基于TF-A 镜像 build U-Boot / UEFI
flex-builder -c atf -m ls1043ardb -b sd
or
flex-builder -c atf -m ls1043ardb -b nor -B uefi
   
   
  • 1
  • 2

在这里插入图片描述
2. Build sdboot 完成
在这里插入图片描述
3. 使用 Flexbuild 构建 Linux 内核

flex-builder -c linux:linux:LSDK-19.06-V4.19 -a arm64
   
   

    在这里插入图片描述

    编译完成可以在 /home/dana/work/flexbuild_lsdk1906_update_290719/build/images/
    目录下找到 firmware_ls1043ardb_uboot_sdboot.img 镜像
    在这里插入图片描述
    4. 生成 LSDK 引导分区压缩工具

    flex-builder -i mkbootpartition -a arm64
    flex-builder -i mkbootpartition -a arm32
    or
    flex-builder -i mkbootpartition -a arm64 -s (for secure boot)
    flex-builder -i mkbootpartition -a arm32 -s (for secure boot)
       
       
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    编译完成
    在这里插入图片描述
    5. 构建应用程序组件

    flex-builder -c apps                   /* 默认构建所有 arm64 位应用组件 */
    flex-builder -c edgescale              /* 编译 Edgescale */
    flex-builder -c dpdk                   /* 编译 dpdk */
    flex-builder -c ovs-dpdk               /* 编译 ovs-dpdk */
    flex-builder -c fmc -a arm32           /* 编译 fmc for arm32 */
    flex-builder -c fmc -a arm64           /* 编译 fmc for arm64 */
    flex-builder -c restool                /* 编译 restool */
    flex-builder -c ptpd                   /* 编译 ptpd */
    flex-builder -c cst                    /* 编译 cst */
       
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    三、烧录镜像到 SD

    1. 提前需要准备一张 32GB 或以上大小的 SD 卡
    2. 查看当前 SD 卡挂载的设备
    sudo fdisk -l
       
       

      在这里插入图片描述
      可以发现挂载在 /dev/sdc
      3. 自动烧录镜像

      flex-installer -i auto -m ls1043ardb -d /dev/sdc
         
         

        在这里插入图片描述

        1. 使用这条命令会自动将 SD 卡分四个区,当当前目录下没有编译的镜像,系统会自动下载所需镜像,所以需要将编译好的镜像放到当前工作目录下
          在这里插入图片描述

        四、SD 启动 U-Boot

        1. 将开关 SW4 和 SW5[1] 拨到 0_0100_0000 设置成 SD 卡启动
          启动日志:
        NOTICE:  Fixed DDR on board
        NOTICE:  2 GB DDR4, 32-bit, CL=11, ECC off
        NOTICE:  BL2: v1.5(release):LSDK-19.06
        NOTICE:  BL2: Built : 09:40:30, Oct 24 2019
        NOTICE:  BL31: v1.5(release):LSDK-19.06
        NOTICE:  BL31: Built : 09:40:39, Oct 24 2019
        NOTICE:  Welcome to LS1043 BL31 Phase
        U-Boot 2019.04 (Oct 24 2019 - 09:36:56 +0800) 
        
        SoC:  LS1043AE Rev1.1 (0x87920011)
        Clock Configuration:
               CPU0(A53):1600 MHz  CPU1(A53):1600 MHz  CPU2(A53):1600 MHz
               CPU3(A53):1600 MHz
               Bus:     400  MHz  DDR:     1600 MT/s  FMAN:     500 MHz
        
        Reset Configuration Word (RCW):
               00000000: 08100010 0a000000 00000000 00000000
               00000010: 14550002 80004012 60040000 c1002000
               00000020: 00000000 00000000 00000000 00038800
               00000030: 00000000 00001100 00000096 00000001
        Model:LS1043A RDB Board
        Board:LS1043ARDB, boot from SD
        CPLD:  V2.0
        PCBA:  V6.0
        SERDES Reference Clocks:
        SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
        I2C:   ready
        DRAM:  1.9 GiB (DDR4, 32-bit, CL=11, ECC off)
        Using SERDES1 Protocol: 5205 (0x1455)
        SEC0: RNG instantiated
        FSL_SDHC:0
        
        MMC read: dev # 0, block # 18944, count 128 ...
        Firmware 'Microcode version 0.0.1 for LS1021a r1.0' for 1021 V1.0
        QE: uploading microcode 'Microcode for LS1021a r1.0' version 0.0.1
        Flash: 128 MiB
        NAND:  512 MiB
        MMC:   Loading Environment from MMC... OK
        EEPROM: NXID v1
        In:    serial
        Out:   serial
        Err:   serial
        Net:
        MMC read: dev # 0, block # 18432, count 128 ...
        Fman1: Uploading microcode version 106.4.18
        FM1@TGEC1 running firmware version 2.B.E
        FM1@TGEC1: system interface XFI
        FM1@TGEC1: Aquantia AQR105 Firmware Version 2.b.e
        PCIe0: pcie@3400000 disabled
        PCIe1: pcie@3500000 Root Complex: no link
        PCIe2: pcie@3600000 Root Complex: no link
        FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1
        Hit any key to stop autoboot:  0
        switch to partitions #0, OK
        mmc0 is current device
        Scanning mmc 0:1...
        Scanning mmc 0:2...
        Found U-Boot script /ls1043ardb_boot.scr
        965 bytes read in 5 ms (188.5 KiB/s)
        ## Executing script at 80000000
        25149952 bytes read in 1072 ms (22.4 MiB/s)
        40799 bytes read in 10 ms (3.9 MiB/s)
        ## Flattened Device Tree blob at 90000000
           Booting using the fdt blob at 0x90000000
           Using Device Tree in place at 0000000090000000, end 000000009001cf5e
        WARNING failed to get smmu node: FDT_ERR_NOTFOUND
        WARNING failed to get smmu node: FDT_ERR_NOTFOUND
        Starting kernel ...
        …… 
        
        [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
        [  OK  ] Reached target Timers.
        [  OK  ] Listening on Docker Socket for the API.
        [  OK  ] Reached target Sockets.
        [  OK  ] Reached target Basic System.
                 Starting NXP Frame Manager Configuration tool...
                 Starting Resets System Activity Data Collector...
                 Starting Login Service...
                 Starting OpenBSD Secure Shell server...
        [  OK  ] Started D-Bus System Message Bus.
                 Starting LSB: HPA's tftp server...
                 Starting System Logging Service...
                 Starting Permit User Sessions...
                 Starting Dispatcher daemon for systemd-networkd...
        [  OK  ]Started Regular background program processing daemon.
                 Starting LSB: Execute the kexec -e command to reboot system...
        [  OK  ]Started Serial Getty on ttyS0.
        [  OK  ]Started LSB: Execute the kexec -e command to reboot system.
        [  OK  ]Started Set console scheme.
        [  OK  ]Created slice system-getty.slice.
        [  OK  ]Started Getty on tty1.
        [  OK  ]Reached target Login Prompts.
                 Starting LSB: Load kernel image with kexec...
        [  OK  ]Started LSB: HPA's tftp server.
        [  OK  ]Started LSB: Load kernel image with kexec.
        [  OK  ]Started Dispatcher daemon for systemd-networkd.
         
        NXP LSDK 1906 main
        localhost login: root              //账户名是:root
        Password:                     //密码是:root
        Last login: Sun Aug  4 00:08:14 UTC 2019 on ttyS0
        Welcome to NXP LSDK 1906 main (GNU/Linux 4.19.46-dirty aarch64)
        
         * Support:        https://www.nxp.com/lsdk
         * Documentation:  https://lsdk.github.io/document
         * Licensing:      https://lsdk.github.io/eula
        root@localhost:~#
        

        到这里就完成了!

        注:

        未经本人允许,不得转载!谢谢!

        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值