milk-v duo原厂Linux_SDK上手

milk-v duo 是最近几个月在各大 QQ 群里面非常热门的一块开发板,milk-v duo 使用的是算能 CV1800B。

CV180ZB/CV1800B/CV1801B 是面向民用消费监控 IP 摄像机、居家智能等多项产品领域而推出的高性能、低功耗芯片,集成了 H.264/H.265 视频压缩编码器和 ISP;支持数字寛动态、 3D 降噪、除雾、镜头畸变校正等多种图像增强和矫正算法,为客户提供专业级的视频图像质量。

  1. 处理器内核
  • 主处理器 RISCV C906 @ 1.0Ghz
    • 32KB I-cache, 64KB D-Cache
    • 集成矢量(Vector)及浮点运算单元 (FPU) .
  • 协处理器 RISCV C906 @ 700Mhz
    • 集成浮点运算单元 (FPU)

  1. 存储器接口
  • 内建 DRAM : DDR2 16bitx1, 最高速率达 1333Mbps , 容量512Mbit (64MB)
  • 支持SPI NOR flash 接口 (1.8V / 3.0V)
    • 支持 1, 2, 4 线模式
    • 最大支持 256MByte
  • 支持 SPI Nand flash 接口 (1.8V / 3.0V)
    • 支持 1KB/2KB/4KB page (对应的最大容量 16GB/32GB/64GB)
    • 使用器件本身内建的 ECC 模块
  1. 外设
  • Up to 26 GPIO pins on the MilkV-Duo 40-pin header provide access to internal peripherals such as SDIO, I2C, PWM, SPI, J-TAG, and UART.
  • Up to 3x I2C
  • Up to 5x UART
  • Up to 1x SDIO1
  • Up to 1x SPI
  • Up to 2x ADC
  • Up to 7x PWM
  • Up to 1x RUN
  • Up to 1x JTAG
  • 集成 MAC PHY 支持 10/100Mbps 全双工或半双工模式
  • 一个 USB Host / device 接口
  1. Milk-V Duo开发板
Milk-V Duo 规格
处理器 CVITEK CV1800B (C906@1Ghz + C906@700MHz)
RAM DDR2 64MB
存储器 1x Mirco SD 插槽,1x SD NAND 焊盘
USB 1x Type-C 用于数据和电源,1x USB2 焊盘
Camera 1x 16P FPC 连接器(MIPI CSI 2 通道)
通用输入输出口 多达 26 个 Pins 可用于通用 I/O(GPIO)
尺寸 21mm * 51mm

2、环境搭建

原厂推荐使用的是 Ubuntu20.04 LTS 环境,推荐使用 docker,本人使用的也是 docker。

  1. docker安装
$ curl -fsSl https://get.docker.com | bash -s docker --mirror Aliyun
$ docker run -dit --name milk-v -v /home/share/samba/:/home/share/samba ubuntu:20.04 /bin/bash
$ docker exec milk-v
  1. 依赖安装
$ sudo apt install dialog python3-dev make git bc gcc flex bison ninja-build libssl-dev \
      rsync pkg-config device-tree-compiler squashfs-tools parted dosfstools cpio unzip wget
$ ln -s /usr/bin/python3 /usr/bin/python
  1. CMake安装

编译依赖CMake 3.16.5或者以上版本,Ubuntu20.04 下需要手工安装,通过apt-get安装的版本太低。

$ wget -c https://cmake.org/files/v3.19/cmake-3.19.3-Linux-x86_64.tar.gz
$ tar -zxvf cmake-3.19.3-Linux-x86_64.tar.gz
$ mv cmake-3.19.3-Linux-x86_64 /usr/bin/
$ echo 'export PATH="/usr/bin/cmake-3.19.3-Linux-x86_64/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

$ 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
$ ./cmake-3.26.4-linux-x86_64.sh --skip-license --prefix=/usr/local/

Ubuntu 22.04 下无需手工安装 CMake,使用以下命令即可完成 CMake 安装.

$ sudo apt-get update 
$ sudo apt-get -y upgrade
$ sudo apt-get install -y cmake

5、SDK 包

  • 安装依赖
$ sudo apt install -y 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 SDK 依赖 CMake 版本为 3.16.5 以上。ubuntu 20.04 下 如采用 apt-get 安装 CMake 版本不能正常编译,需要手工安装,安装方式同上。

  • 下载新 SDK 包

$ git clone https://github.com/milkv-duo/milkv-duo-buildroot-sdk.git
  • 编译
$ cd duo-buildroot-sdk/
$ ./build_milkv.sh

6、ssh连接与文件传输

  1. ssh 连接

  2. scp 文件传输 scp test.sh root@192.168.42.1:/root 命令即可将windows上的文件传输到duo。 duo回传电脑则相反 scp root@192.168.42.1:/root/test.h .

  3. 如传输文件夹,需scp -r

  4. test.sh为windows系统上文件,需要cmd在该目录下,否则需要文件完整路径

  5. root@192.168.42.1为duo板的ssh连接地址

  6. :/root 为传输到duo的路径

本文转载自:milk-v duo原厂Linux_SDK上手 - 知乎 感谢PLCT RTT负责人@燕十三