- Milk-V Duo is an ultra-compact embedded development platform based on the CV1800B chip. It can run Linux and RTOS, providing a reliable, low-cost, and high-performance platform for professionals, industrial ODMs, AIoT enthusiasts, DIY hobbyists, and creators.
- Milk-V Duo is an ultra-compact embedded development platform based on the CV1800B chip. It can run Linux and RTOS, providing a reliable, low-cost, and high-performance platform for professionals, industrial ODMs, AIoT enthusiasts, DIY hobbyists, and creators.
## 硬件参数
- 处理器: CVITEK CV1800B (C906@1Ghz + C906@700MHz)
- 内存: 64MB
- 网口: 10/100Mbps 以太网 (需外接扩展板)
## Hardware
- CPU: CVITEK CV1800B (C906@1Ghz + C906@700MHz)
- Dual RV64 Core up to 1GHz
- 64MB RAM
- Provides 10/100Mbps Ethernet via optional add-on board
<br>
# SDK目录结构
# SDK Directory Structure
```
├── build // 编译目录,存放编译脚本以及各board差异化配置
├── build_milkv.sh // Milk-V Duo 一键编译脚本
├── buildroot-2021.05 // buildroot开源工具
├── freertos // freertos系统
├── fsbl // fsbl启动固件,prebuilt形式存在
├── install // 执行一次完整编译后,临时存放各image路径
├── isp_tuning // 图像效果调试参数存放路径
├── linux_5.10 // 开源linux内核
├── middleware // 自研多媒体框架,包含so与ko
├── milkv // 存放 Milk-V Duo 相关配置及脚本文件的目录
├── opensbi // 开源opensbi库
├── out // Milk-V Duo 最终生成的SD卡烧录镜像所在目录
├── ramdisk // 存放最小文件系统的prebuilt目录
└── u-boot-2021.10 // 开源uboot代码
├── build // compilation scripts and board configs
Additionally, the mkimage command in the SDK relies on `libssl1.1`, which is no longer available in Ubuntu 22.04. It needs to be manually installed. The following two methods are both applicable:
1.补源安装
1.Installation with additional repositories
```
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt update
sudo apt install libssl1.1
```
2.手动下载deb包安装
2.Manual download and installation of the deb package
*Note: The first compilation will automatically download the required toolchain, which is approximately 840MB in size. Once downloaded, it will be automatically extracted to the `host-tools` directory in the SDK directory. For subsequent compilations, if the `host-tools` directory is detected, the download will not be performed again*
如有需要分步编译,可依次输入如下命令
If you need to perform step-by-step compilation, you can enter the following commands sequentially
> Note: Writing the image to the microSD card will erase the existing data on the card. Remember to back up important data before burning!!!
-To write the generated image to a microSD card on Windows, you can use tools like `balenaEtcher`, `Rufus`, or `Win32 Disk Imager`
-To write the generated image to a microSD card on Linux, use the `dd` command. **Please make sure to carefully confirm that the `of` device `/dev/sdX` corresponds to the microSD card you want to burn**
-Insert the microSD card into the microSD card slot of the Milk-V Duo
-Connect the serial cable (optional)
-Power on, the Duo will boot up and enter the system normally
-If a serial cable is connected, you can view the boot logs in the serial console. After entering the system, you can use the serial console to log in to the terminal and execute relevant Linux commands
### 登陆到Duo终端的方法
-通过串口线
-通过USB网卡(RNDIS)方式
-通过以太网接口(需要扩展板支持)
### The method to log in to the Duo terminal
-Using a serial cable
-Using a USB network (RNDIS)
-Using the Ethernet interface (requires the IO-Board)
登陆Duo终端的用户名和密码分别为
The username and password for logging into the Duo terminal are as follows:
If you need to assign a fixed MAC address to the Ethernet port of the IO-Board, please execute the following command(**Replace the MAC address in the command with the MAC address you want to set, and please note that MAC addresses of different devices within the same network segment must not be duplicated**)
For example, if a USB flash drive is connected to the USB port on the IO-Board, you can use the command `ls /dev/sd*` to check if the device is detected
挂载到系统中查看U盘中的内容(以/dev/sda1为例):
To mount the USB drive and view its contents in the system (taking /dev/sda1 as an example):
```
mkdir /mnt/udisk
mount /dev/sda1 /mnt/udisk
```
查看`/mnt/udisk`目录中的内容是否符合预期
Verify if the contents in the `/mnt/udisk` directory match the expectations
```
ls /mnt/udisk
```
卸载U盘的命令
The command to unmount a USB flash drive
```
umount /mnt/udisk
```
不使用底板时,恢复USB网卡(RNDIS)的方法
To restore the functionality of the USB network (RNDIS) when not using the IO-Board, you can follow these steps
The CV1800B chip adopts a dual-core design. Currently, the Linux system runs on one of the cores, while the other core is used for running a real-time system. The SDK for this core has not been released yet and will be updated in the future
2. Why does it only show 28M when viewing the RAM?
Because a portion of the RAM is allocated to [ION](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/default/dts/cv180x/cv180x_default_memmap.dtsi#L15), which is the memory used when running algorithms with the camera. If you're not using the camera, you can modify the value of this [ION_SIZE](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv180x/cv1800b_milkv_duo_sd/memmap.py#L43) to 0 and then recompile to generate the image
<br>
## 芯片原厂一些资料的链接
## Links to some documentation from the chip manufacturer