前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NanoPi NEO开发板快速上手(全志H3)

NanoPi NEO开发板快速上手(全志H3)

作者头像
Mculover666
发布2023-08-18 20:52:00
2.8K0
发布2023-08-18 20:52:00
举报
文章被收录于专栏:TencentOS-tinyTencentOS-tiny

一、NanoPi NEO开发板

NanoPi-NEO(http://www.friendlyelec.com.cn/nanopi-neo.asp)是一款基于全志H3的小体积核心板,我手里使用的是v1.4版本,如下。

  • 主控:全志H3处理器,四核Cortex-A7,主频最高1GHz
  • 内存:512MB DDR3
  • 存储:无eMMC,使用SD卡
  • 网络:一路10/100M以太网
  • 调试串口:2.54排针引出
  • 供电:USB

板子的扩展引脚说明如下:

开发板wiki:https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO/zh。

二、全志H3处理器

全志H3处理器的特性如下。

  • CPU架构:四核ARM Cortex A7处理器,32KB L1指令cache、32KB L1数据cache、512KB L2 cache
  • GPU架构:ARM Mali400MP2 GPU,支持OpenGL ES 2.0
  • 存储子系统
    • 96KB片上Boot ROM,支持安全/非安全启动,支持从Nand Flash、SD、eMMC、Nor Flash启动
    • SDRAM:支持JEDEC标准DDR2/DDR3/DDR3L/LPDDR2/LPDDR3 SDRAM,最大支持2GB地址空间,支持2路片选信号,最大支持667MHz
    • Nand Flash:最大支持2个flash片选、8bit数据总线宽度
    • SD/MMC:最大支持3个SD/MMC控制器接口

三、NanoPi NEO开发板使用体验

1. 烧录镜像

本文使用友善官方提供的镜像(下载地址):h3_sd_friendlycore-focal_4.14_armhf_20210618.img。

首先使用SD Card Formatter 软件格式化SD卡:

然后使用 Win32 Disk Imager烧录镜像到SD卡中:

2. 系统使用

  • uboot:2017.11
  • kernel:4.14.111
  • rootfs:Ubuntu 20.04 LTS

查看内核信息:

查看发行版信息:

查看软件源:

查看内存和SD卡使用情况:

查看网络使用:

查看CPU信息:

查看当前CPU频率:

查看当前GPIO设备使用情况:

查看音频设备:

查看I2C设备:

查看SPI设备:

插个U盘测试下USB-A口:

插个USB->SATA硬盘测试:

3. SD卡分区

第一个分区是fat格式,存放kernel image和设备树文件:

第二个分区和第三个分区是ext4格式,都是存放rootfs,但是第三个分区存放的是kernel在挂载rootfs之前就需要加载的一些内容:

4. kernel启动方式

代码语言:javascript
复制
bootcmd=fatload mmc 0:1 ${scriptaddr} boot.scr; source ${scriptaddr}

启动流程为:

  • uboot通过执行boot.scr脚本拉起mmc第一个分区中的kernel
  • kernel启动后挂载mmc第二个分区中的rootfs

四、NanoPi NEO源码(主线版本)编译

1. 工具链搭建

本节编译友善提供的主线版本源码,目的是能正常编译源码即可,编译器选择和友善同步,使用4.9.3版本,尽量不使用其它版本。

下载地址:https://download.friendlyelec.com/nanopineo。

2. u-boot编译

拉取源码:

代码语言:javascript
复制
https://gitee.com/mculover666/u-boot.git

配置编译环境:

代码语言:javascript
复制
sudo apt-get install swig python-dev python3-dev
export CROSS_COMPILE=arm-linux-

编译配置:

代码语言:javascript
复制
make nanopi_h3_defconfig

编译:

代码语言:javascript
复制
make -j8

遇到编译问题,因为系统libfdt库导致,卸载系统的库:

代码语言:javascript
复制
sudo apt-get remove libfdt-dev

再次编译,编译通过,生成bin文件:

烧录到SD卡中:

代码语言:javascript
复制
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

启动测试:

3. kernel编译

拉取源码:

代码语言:javascript
复制
git clone https://github.com/friendlyarm/linux.git -b sunxi-4.14.y --depth 1

配置编译环境:

代码语言:javascript
复制
sudo apt-get install u-boot-tools
export CROSS_COMPILE=arm-linux-
export ARCH=arm

编译配置:

代码语言:javascript
复制
make sunxi_defconfig 

编译:

代码语言:javascript
复制
make zImage dtbs -j16

挂载SD卡第一个分区,替换镜像和设备树:

代码语言:javascript
复制
sudo mount /dev/sdb1 /mnt
sudo cp arch/arm/boot/zImage /mnt/
sudo cp arch/arm/boot/dts/sun8i-h3-nanopi-neo.dtb /mnt/

启动测试:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Mculover666 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、NanoPi NEO开发板
  • 二、全志H3处理器
  • 三、NanoPi NEO开发板使用体验
    • 1. 烧录镜像
      • 2. 系统使用
        • 3. SD卡分区
          • 4. kernel启动方式
          • 四、NanoPi NEO源码(主线版本)编译
            • 1. 工具链搭建
              • 2. u-boot编译
                • 3. kernel编译
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档