导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    基于全志H5搭建主线开发环境

    Linux
    1
    1
    1720
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Q
      qianhao LV 4 最后由 编辑

      搭建A53调试环境
      本文介绍如何A53的调试环境,调试最新的内核。
      本实验调试基于全志H5芯片,使用nanopi-neo2开发板。
      编译ATF
      直接使用官方仓库,使用最新的ATF2.6代码。注意编译器百度自行安装, aarch64-linux-gnu- 推荐工具链使用最新的,下不赘述。
      仓库:https://github.com/ARM-software/arm-trusted-firmware.git
      make PLAT=sun50i_a64 DEBUG=1 bl31 CROSS_COMPILE=aarch64- linux-gnu-
      编译完成后,将绝对路径导出,编译u-boot的时候需要使用。
      export BL31=/path/to/bl31.bin
      编译CRUST(全志协处理器的固件代码)
      H5里面有一个openrisc 架构的协处理器,编译该代码,还需要安装改架构的交叉编译工具。
      仓库地址:https://github.com/crust-firmware/crust
      交叉编译工具下载地址:https://openrisc.io/software
      make pine64_plus_defconfig && make -j5 scp CROSS_COMPILE=or1k-linux-musl-
      export SCP=/src/crust/build/scp/scp.bin
      编译u-boot:
      u-boot 代码,我选择的是:u-boot-2021.10.tar.bz2 官方下载。
      注意在编译U-BOOT前,请将ATF 和 CRUST的成果,路径导出。
      ARCH=arm64 CROSS_COMPILE=aarch64 -linux-gnu- make nanopi_neo2_defconfig
      ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j16
      烧录u-boot到SD卡:
      U盘接入linux主机,dd进去。
      dd if=u-boot-sunxi-with-spl.bin of=/dev/sdx bs=8k seek=1

      编译文件系统:
      我使用buildroot 搭建文件系统。版本:buildroot-2021.08.2.tar.gz
      主要将以下配置选对。

      1.png
      选择生成CPIO镜像, 这样子跑RAMFS 调试比较方便。
      2.png
      编译后 将rootfs.cpio.gz 复制到你的 kernel/usr目录下。
      编译内核:
      内核源码:https://www.kernel.org/
      下载自己感兴趣的版本。
      make ARCH=arm64 CROSS_COMPILE=aarch64 -linux-gnu- defconfig
      修改内核配置:
      make ARCH=arm64 CROSS_COMPILE=aarch64 -linux-gnu- menuconfig

      1. 支持ramfs
        3.png
      2. 打开网络驱动
        4.png

      开始编译内核
      make ARCH=arm64 CROSS_COMPILE=aarch64 -linux-gnu- Image -j16
      make ARCH=arm64 CROSS_COMPILE=aarch64 -linux-gnu- dtbs -j16

      tftp启动内核:
      setenv ipaddr 192.168.31.222
      setenv serverip 192.168.31.3
      tftp 0x40080000 Image
      tftp 0x4FA00000 sun50i-h5-nanopi-neo2.dtb
      booti 0x40080000 - 0x4FA00000

      到此,A53的开发环境搭建完毕。

      dmesg
      [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
      [ 0.000000] Linux version 5.16.1 (qianhao@qianhao-server) (aarch64-seev200-linux-gnu-gcc (crosstool-NG 1.24.0.489_25f6dae) 11.2.0, GNU ld (crosstool-NG 1.24.0.489_25f6dae) 2.37) #3 SMP PREEMPT Mon Jan 17 13:34:46 UTC 2022
      [ 0.000000] Machine model: FriendlyARM NanoPi NEO 2
      [ 0.000000] efi: UEFI not found.
      [ 0.000000] NUMA: No NUMA configuration found
      [ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000005fffffff]
      [ 0.000000] NUMA: NODE_DATA [mem 0x5feddb40-0x5fedffff]
      [ 0.000000] Zone ranges:
      [ 0.000000] DMA [mem 0x0000000040000000-0x000000005fffffff]
      [ 0.000000] DMA32 empty
      [ 0.000000] Normal empty
      [ 0.000000] Movable zone start for each node
      [ 0.000000] Early memory node ranges
      [ 0.000000] node 0: [mem 0x0000000040000000-0x000000005fffffff]
      [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
      [ 0.000000] cma: Reserved 32 MiB at 0x000000005d400000
      [ 0.000000] psci: probing for conduit method from DT.
      [ 0.000000] psci: PSCIv1.1 detected in firmware.
      [ 0.000000] psci: Using standard PSCI v0.2 function IDs
      [ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
      [ 0.000000] psci: SMC Calling Convention v1.2
      [ 0.000000] percpu: Embedded 20 pages/cpu s41304 r8192 d32424 u81920

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策