[嵌入式Linux开发日记1] Milk-V Duo开发环境搭建(Ubuntu20.04)

本文参考Milk-V Duo官方文档,并加入了搭建过程中问题的解决办法。

文章目录

  • 开发环境
  • 开发环境搭建
    • 0. 烧录镜像:
    • 1. 安装编译依赖的工具: wget、git、make
    • 2. 获取milk-V的官方示例程序
    • 3. 下载SDK、初始化开发环境
  • 编译测试
    • 0. 概要
    • 1. 编译hello-world工程
    • 2. 将编译好的工程传送到Duo中

开发环境

开发环境 :Ubuntu20.04 LTS
开发板 :Milk-V Duo

开发环境搭建

0. 烧录镜像:

开始前,将SD卡插入开发板,参照官方文档—启动Duo烧录镜像。
连接电脑后,过几秒钟将会看到蓝灯闪烁。

打开终端,输入:

ssh root@192.168.42.1
  • 如果是第一次连接,会出现:Are you sure you want to continue connecting (yes/no/[fingerprint])?
    在终端中输入yes
  • 看到提示后输入密码milkv
  • 终端变为[rook@milkv]~#则登陆成功

1. 安装编译依赖的工具: wget、git、make

sudo apt-get install wget git make

2. 获取milk-V的官方示例程序

git clone https://github.com/milkv-duo/duo-examples.git

如下载过慢,需科学上网或使用镜像 :

git clone https://kgithub.com/milkv-duo/duo-examples.git

3. 下载SDK、初始化开发环境

  • 进入到工程目录下
cd duo-examples
  • 运行初始化程序
source envsetup.sh

顺利的话,程序会自动git SDK包到当前目录下并解压,大小为180M左右

[嵌入式Linux开发日记1] Milk-V Duo开发环境搭建(Ubuntu20.04)_第1张图片
如果下载速度很慢,可以手动下载SDK(点我访问),下载并解压至duo-examples文件夹,并重新运行初始化程序

source envsetup.sh

开发环境初始化成功显示:SDK environment is ready
请添加图片描述

至此,开发环境搭建完成。

编译测试

0. 概要

如果上面的操作都是正确的,则duo-examples文件夹应该如下图所示:
(可能会有一些差别,题主是手动下载的SDK,如果你是在envsetup.sh里自动下载的SDK,可能会删除掉压缩包)
里面的README.md是官方的文档,写的很详细,可以仔细看看,本文就是在这个基础上写的

[嵌入式Linux开发日记1] Milk-V Duo开发环境搭建(Ubuntu20.04)_第2张图片
这里提供了三个示例工程

blink:让Milk-V Duo板载LED闪烁的例子
hello-world:不操作Duo外设,仅打印"Hello, World!",用于验证开发环境
i2c:通过I2C接口连接温度气压传感器BMP280,读取当前温度和气压值

1. 编译hello-world工程

为验证开发环境,以hello-world为例,直接执行make

cd hello-world
make

可能遇到以下问题:

请添加图片描述

  • 问题原因: 在前面我们执行了source envsetup.sh,但是在make hello-world时,开了另一个终端
  • 解决方法1(推荐): 在当前终端重新source,再make
source ~/<换成你的目录(不要带两边的尖括号)>/duo-examples/envsetup.sh 
make 
  • 解决方法2: 打开hello-world文件夹下的Makefile,注释掉图中部分(在前面加 #)。由于这个工程不需要配置这些,直接注释掉也没问题,不过还是推荐方法1。
    (Vim基本操作:按下insert进入修改模式->修改文件->按键盘esc退出修改模式->按键ctrl + :,输入wq并回车)

    [嵌入式Linux开发日记1] Milk-V Duo开发环境搭建(Ubuntu20.04)_第3张图片

再次编译,成功!

[嵌入式Linux开发日记1] Milk-V Duo开发环境搭建(Ubuntu20.04)_第4张图片

2. 将编译好的工程传送到Duo中

scp helloworld root@192.168.42.1:/root/

发送成功后,在ssh或者串口登陆的终端中运行./helloworld,会打印Hello, World!

[root@milkv]~# ./helloworld
Hello, World!

至此,编译开发环境就可以正常使用了~

你可能感兴趣的:(嵌入式Linux开发日记,risc-v)