码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【milkv】0、duo编译环境搭建


    一、开发资料整理

    Docker

    https://hub.docker.com/repository/docker/dreamcmi/cv1800-docker/general

    GitHub

    https://github.com/milkv-duo/duo-buildroot-sdk

    CV181x/CV180x MMF SDK 开发文档汇总

    https://developer.sophgo.com/thread/471.html

    cv181x芯片使用的交叉编译工具链

    https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz

    1800B开发板资料

    https://developer-assets.sophon.cn/sophon-developer-prod-s3/thread-attachment/23/05/12/19/CV180xB_QFN68.zip

    Docs

    https://milkv.io/docs/duo

    milkv论坛

    https://community.milkv.io/

    二、试用信息

    试用:【RISC-V 专题】Milk-V
    Duo 开发板首发免费试用 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)

    基于算能 CV1800B芯片的MPU,能够运行基于LINUX和RTOS的操作系统

    在这里插入图片描述
    在这里插入图片描述

    三、环境搭建

    3.1 通过VMware安装ubunt20

    查看第二章(环境搭建)的第一小节(安装虚拟机)即可。

    【飞凌RZ/G2L开发板试用体验】1. 资料整理及环境搭建 - 飞凌嵌入式 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)

    3.2 安装samba

    用于windows向虚拟机传输文件

    安装Samba Server

    在这里插入图片描述
    修改权限
    sudo vim /etc/samba/smb.conf

    在这里插入图片描述
    跳到最后一行,输入"😒",注意需要按下Esc后输入

    开始修改则按下“i”,左下角显示 --INSERT–,则表示可以开始输入了。

    输入内容后,按下Esc,然后输入“:wq”后回车,保存并退出

    启动samba服务

    sudo service smbd restart

    查看ip

    在这里插入图片描述
    在这里插入图片描述
    这样就能访问到linux中的milkv目录了

    在这里插入图片描述
    在这里插入图片描述

    四、代码获取

    旧版git:https://github.com/milk-v/duo-manifest

    不建议使用

    最新版本:https://github.com/milkv-duo/duo-buildroot-sdk

    4.1 工具安装

    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 jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tclsh ssh-client android-sdk-ext4-utils
    
    • 1

    4.2 安装cmake

    查看cmake版本

    cmake --version
    
    • 1

    最低版本是3.16.5,通过pip安装的不符合要求,需要自己再更新

    参考最新git里的步骤就行

    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/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    注意,此时再查看cmake可能提示依旧是3.16,而sh脚本运行又是正常的。

    在这里插入图片描述
    那就需要删除先删除之前创建的cmake,然后再重新运行脚本

    whereis make
    
    • 1

    在这里插入图片描述
    删除这两个路径以及/usr/local/share/cmake-3.xx

    在这里插入图片描述

    4.3 获取git-repo

    没办法获取repo

    参考:https://blog.csdn.net/Timothy_Liu0114/article/details/104971066

    在这里插入图片描述

    移动git-repo并重命名为repo

    mv ~/git-repo/ /home/milkv/pro/.repo

    mv git-repo repo

    抓取git

    git clone https://github.com/milkv-duo/duo-buildroot-sdk.git

    五、编译

    先参考git中的”一键编译“。

    后续可以创建sh脚本实现运行脚本编译。

    创建1_build.sh文件,内容如下

    #https://github.com/milk-v/duo-manifest
    code_dir=/home/milkv/duo_buildroot_sdk/duo-buildroot-sdk
    log_dir=/home/milkv/duo_buildroot_sdk/duo-buildroot-sdk/_log
    # current_date=$(date +"%Y_%m_%d_%H_%M") 
    current_date=`date +%Y_%m_%d_%H_%M` #(这里的`号不是单引号,而是键盘左上角~键的顿号)
    # echo $current_date
    log_name="log_$current_date.txt"
    
    log_path=$log_dir'/'$log_name
    # echo $log_path
    
    export MILKV_BOARD=milkv-duo
    
    cd $code_dir
    echo ------------source-----------------
    source milkv/boardconfig-milkv-duo.sh
    source build/milkvsetup.sh
    
    echo
    echo ------------config-----------------
    defconfig cv1800b_milkv_duo_sd
    
    echo
    echo ------------clean-----------------
    clean_all
    
    echo
    echo ------------build-----------------
    echo ------------build----------------- > $log_path
    build_all >> $log_path
    
    echo
    echo ------------package-----------------
    echo ------------package----------------- >> $log_path
    pack_sd_image >> $log_path
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    六、刷机

    6.1 格式化tf卡

    注意,tf卡最好用128g以内的,256g在windows上无法格式化为FAT32。

    我已经刷过的tf卡,打开磁盘管理,发现分成了三个卷,分别删除两个分区,再创建成一个FAT32分区

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6.2 刷机

    在这里插入图片描述

    windows刷机工具balenaEtcher

    下载路径:
    balenaEtcher - Flash OS images
    to SD cards & USB drives

    在这里插入图片描述
    在这里插入图片描述

    6.3 开机

    将tf卡插入板子上,当led灯蓝色亮起表示板子正常启动。

    在设备管理器中查看RNDIS设备
    在这里插入图片描述
    在这里插入图片描述

    更新驱动完成后

    在这里插入图片描述

    七、登录开发板

    cmd窗口中输入

    ssh root@192.168.42.1
    
    • 1

    如果刷tf卡后再刷机,再次登录时会导致ssh失败,需要删除原来的key,根据提示找到对应的路径下删除即可。

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    龙芯3A3000源码编译安装deepin-ide
    南卡电容笔和wiwu哪款更值得入手?价格实惠且好用的电容笔对比
    Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别&常见的几种异常
    HTML中的<img>标签使用指南
    国家测绘法宣传日专题知识分享
    vue3 组件篇 tag
    【OpenMV】AprilTag标记跟踪 NCC模板匹配 测距与测量物体大小
    javascript算法排序之桶排序
    k8s学习-CKA真题-Deployment扩缩容
    springboot毕设项目(智慧化工MES)质量管理系统f4i11(java+VUE+Mybatis+Maven+Mysql)
  • 原文地址:https://blog.csdn.net/qq_38091632/article/details/134408259
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号