DUO开发板实战——开发环境初始化

本文首先对Milk-V Duo开发板进行简单介绍,然后介绍该开发板的开发环境初始化操作流程,具体涉及Linux环境准备开发板镜像制作TF卡烧录连接开发板四部分。开发者可参考此教程上手展开对Milk-V Duo开发板的开发、扩展。
前置准备:

  • TF卡
  • TF卡读卡器
  • Type-C数据线

Milk-V Duo开发板简介

在这里插入图片描述

Milk-V Duo开发板(图1)是一款基于CV1800B芯片(RISC-V架构,C906@1Ghz + C906@700MHz)的超紧凑型嵌入式开发平台。它支持64MB RAM,可通过扩展实现10/100Mbps以太网,可以运行Linux和RTOS系统,为专业人士、工业ODM、AIoT爱好者、DIY爱好者和创作者提供可靠、低成本、高性能的平台。硬件参数信息如下:

  • CVITEK CV1800B (C906@1Ghz + C906@700MHz)
  • 双RV64核心,最高1GHz
  • 64MB内存
  • 通过可选的附加板提供10/100Mbps以太网
  • 技术支持同时运行Linux和RTOS

Milk-V开发板管脚如下图所示,用户可以进行丰富的DIY扩展。
在这里插入图片描述

.

开发环境初始化

此小节涉及如下四个步骤:

  1. Linux环境准备:镜像编译需要在Linux开发环境下进行,本文介绍了win环境下用docker拉取Ubuntu镜像(20.04版本)的方式;如果小伙伴们已经有VMware Workstation并安装了Ubuntu系统可以跳过此步;
  2. 开发板镜像制作:在Linux环境下安装依赖、获取sdk并编译制作镜像
  3. TF卡烧录:拷贝制作好的开发板镜像,使用rufus工具将镜像文件写入TF卡;
  4. 连接开发板:取下烧录好的TF卡,插入开发板;更新驱动,ssh连接开发板。

下面对四个步骤展开详细介绍。

Linux环境准备

  1. 在windows环境下,可以安装Docker Desktop for Windows,通过docker拉取ubuntu镜像并创建容器得到linux环境;
    在这里插入图片描述

    在Windows下运行docker需要相关依赖,即如图中所示,需要使用WSL2后端或者Hyper-V后端作为运行依赖。其中Hyper-V后端的启用方式如下:
    a. 控制面板 —— 程序 —— 启用或关闭Windows功能
    b. 找到Hyper-V,勾选Hyper-V管理工具和Hyper-V平台,等待系统文件配置完成后重启电脑
    在这里插入图片描述

    然后即可安装下载好Docker Desktop for Windows,在安装指引中根据选择的后端进行相应的勾选;安装完成后,需要重启电脑,然后即可使用docker

  2. 拉取Ubuntu镜像命令行中输入docker pull ubuntu:20.04,即可拉取ubuntu20.04的镜像,然后可以使用docker images查看拉取到的镜像;
    在命令行中输入docker run -it ubuntu:20.04 /bin/bash,即可创建并运行一个容器,当终端中出现root@<string>:/#时,则表示容器创建完成且已经进入容器,其中,string是容器的id,即containerId
    若需要退出在容器内退出容器,输入exit即可,若需要在容器外再次进入容器,则在终端中依次输入docker start <containerId>docker attach <containerId>即可。(更多指令可参考docker官方教程)
    在这里插入图片描述

  3. 配置容器,安装必要依赖。

     sudo apt-get update
     sudo apt-get install sudo
     sudo apt-get install vim
    
     sudo apt install pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils android-sdk-ext4-utils jq python3-distutils tclsh scons parallel ssh-client tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools
     
     # 安装cmake
     wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh
     chmod +x cmake-3.26.4-linux-x86_64.sh
     sudo ./cmake-3.26.4-linux-x86_64.sh --skip-license --prefix=/usr/local/
    
     # 输入以下命令进行验证,若能输出对应版本号,则表示安装成功
     cmake --version 
    

开发板镜像制作

  1. 下载SDK

     git clone https://github.com/milkv-duo/duo-buildroot-sdk.git
    
  2. 运行build_milkv.sh脚本进行编译

     cd duo-buildroot-sdk
     ./build_milkv.sh
    

    编译成功后可以在/duo-buildroot-sdk/out目录下找到milkv-duo-xxxxxxxx-xxxx.img文件,即为制作成功的镜像文件.
    至此,可以用基础镜像文件进行下一步TF卡烧录及后续操作。3.配置制作预装Python3的镜像将配置脚本,制作带有Python3的镜像

  3. 配置制作预装Python3的镜像(可选)

     cd duo-buildroot-sdk
     # 导入环境变量
     export MILKV_BOARD=milkv-duo  
     source milkv/boardconfig-milkv-duo.sh  
     source build/milkvsetup.sh  
     defconfig cv1800b_milkv_duo_sd
    

    修改配置文件,配置Python3

     cd ./buildroot-2021.05/configs  
     vim milkv_duo_musl_riscv64_defconfig
    

    在文件中添加如下两行代码

     BR2_PACKAGE_PYTHON3=y
     BR2_PACKAGE_PYTHON3_PYC_ONLY=y
    

在这里插入图片描述

保存退出后,重新对文件进行编译打包

    cd duo-buildroot-sdk
    build_all
    pack_sd_image

执行上述命令后,会在duo-buildroot-sdk/install/soc_cv1800b_milkv_duo_sd目录下生成milkv-duo.img镜像文件
在这里插入图片描述

TF卡烧录

文件拷贝:新开启一个终端,在终端中输入docker cp <containerNAMES>:/duo-buildroot-sdk/out/milkv-duo-xxxxxxxx-xxxx.img <path>/<file_name>.img将文件容器拷贝到本地Windows系统下,其中即为容器的NAMES,可用docker ps的相关命令查看, 为本地Windows系统中要保存文件的路径,<file_name>为保存文件名

将TF卡装到TF读卡器中,插入电脑接口,注意:将镜像写入TF卡会清除卡中原有数据,务必在此之前保存好原有数据。下载rufus烧录工具将镜像写入TF卡中
在这里插入图片描述

点击开始,待进度条走完即烧录完成。

连接开发板

取下烧录好的TF卡,插入Milk-V Duo开发板上的TF卡槽内,使用Type-C数据线连接开发板和电脑;当开发板蓝色LED灯闪烁,即表示连接成功。
在这里插入图片描述

在这里插入图片描述

更新驱动,设备管理器中,从其他设备的一栏中找到RNDIS,选中并更新驱动,更新时选择网络适配器这一设备类型,并使用MicrosoftUSB RNDIS Adapter进行更新,更新完成后,新建终端并在终端中输入ping 192.168.42.1测试网络,具体操作参考链接

网络测试通过后,即可以用IP192.168.42.1连接上开发板进行开发。例如使用mobaxterm,ssh连接开发板;登录名输入root,密码项输入milkv,即可进入Milkv Duo开发板的可视化编程环境中:
在这里插入图片描述

若制作的镜像是预装Python3的,则可以在板子上直接使用Python3进行测试:
在这里插入图片描述

写在最后

此教程介绍了Duo开发板的开发环境初始化流程,欢迎广大开源开发者、硬件DIY爱好者参与到我们的开源硬件开发探索中,用更美妙的开源程序、更精巧的硬件扩展、更有趣的奇思妙想打造处更精彩的应用,一起丰富RISC-V开源生态!
更多Milk-V Duo开发板开发资料如下所示:

  1. Docker
  2. Github
  3. SDK
  4. Docs

猜你喜欢

转载自blog.csdn.net/lily_19861986/article/details/131687174