Milk-V Duo到手第一步:从零配置Ubuntu20.04到成功点亮开发板(保姆级避坑)
Milk-V Duo开发板实战从零构建Ubuntu开发环境到系统启动全指南第一次拿到Milk-V Duo开发板时那种既兴奋又忐忑的心情记忆犹新。作为RISC-V架构的新锐力量这款小巧的开发板蕴含着巨大的可能性但对于习惯纯软件开发的工程师来说从裸板到可编程状态的跨越往往充满未知的坑。本文将分享我完整的上手历程特别针对Windows/Linux混合环境下那些容易忽略的细节提供一站式解决方案。1. 开发环境准备构建稳定的Ubuntu基础工欲善其事必先利其器。对于Milk-V Duo开发Ubuntu 20.04 LTS是最稳妥的选择——其长期支持特性和广泛的社区资源能大幅降低环境配置的复杂度。我推荐采用虚拟机方案既保持主机系统纯净又能随时创建开发环境快照。关键组件清单VMware Workstation Player免费版足够使用Ubuntu 20.04.6 LTS镜像约2.6GB至少50GB的虚拟磁盘空间8GB以上主机内存分配4GB给虚拟机安装过程中有几个易错点需要特别注意在VMware创建虚拟机时务必选择稍后安装操作系统手动指定为Linux/Ubuntu 64位避免自动识别错误磁盘分区建议手动设置/根分区30GBswap交换分区物理内存的1.5倍/home剩余空间安装开放SSH服务选项方便后续远程访问安装完成后立即执行以下基础配置sudo apt update sudo apt upgrade -y sudo apt install -y build-essential git cmake libncurses5-dev提示建议在此时创建虚拟机快照命名为Base System作为干净的恢复点。2. 开发工具链配置搭建完整的SDK环境Milk-V Duo采用CV1800B芯片需要特定的工具链才能进行开发。不同于常见的ARM架构RISC-V的工具链配置有其特殊性这也是新手最容易卡壳的环节。2.1 获取官方SDK官方推荐使用duo-buildroot-sdk通过以下命令获取git clone --recursive https://github.com/milkv-duo/duo-buildroot-sdk.git cd duo-buildroot-sdk这个仓库包含预配置的buildroot系统交叉编译工具链硬件抽象层(HAL)库示例代码2.2 安装依赖项执行SDK中的环境准备脚本前需补充几个易遗漏的依赖sudo apt install -y flex bison texinfo gperf libssl-dev bc然后运行环境准备source milkvsetup.sh这个脚本会下载预编译的工具链设置环境变量检查必要的开发工具注意如果遇到权限问题可能需要先执行chmod x milkvsetup.sh2.3 编译测试镜像验证环境是否配置成功的最佳方式就是尝试编译一个基础镜像make milkv_duo_sd_defconfig make -j$(nproc)成功编译后你会在out/目录下得到milkv-duo-*.img完整系统镜像rootfs.cpio.gz根文件系统u-boot.bin引导加载程序编译时间视硬件性能而定在4核8G的虚拟机上大约需要30-45分钟。3. 镜像烧录实战Windows环境下的完整流程虽然开发环境建议使用Linux但很多用户仍习惯在Windows下进行烧录操作。这个跨平台过程存在几个关键注意事项。3.1 TF卡准备要点参数推荐规格注意事项容量≥8GB2GB仅够基础系统速度Class10影响系统响应速度品牌知名厂商避免兼容性问题操作流程使用读卡器将TF卡连接至Windows电脑下载并安装Rufus工具选择编译好的.img文件从Linux虚拟机导出分区类型选择MBR文件系统选FAT32点击开始等待完成常见问题处理如果Rufus提示镜像太大实际是工具误判勾选列表USB硬盘选项即可烧录失败时尝试先用DiskGenius等工具完全清除分区表遇到写保护错误检查TF卡物理锁是否滑动到位3.2 硬件连接技巧Milk-V Duo的USB-C接口支持供电和数据传输但要注意必须使用数据线而非充电线测试方法连接手机看能否传输文件推荐使用主板自带的USB3.0蓝色接口稳定性更好若使用扩展坞优先选择带独立供电的型号连接顺序建议先插入已烧录镜像的TF卡再连接USB数据线最后接通电源如有独立供电成功启动的标志是蓝色LED开始规律闪烁约1分钟后变为稳定呼吸灯效。4. 系统访问与调试USB网络配置详解与传统开发板不同Milk-V Duo通过USB虚拟网卡提供网络访问这种方式既节省了额外网络模块的成本又提供了稳定的调试通道。4.1 Windows驱动安装当首次连接开发板时设备管理器会出现未知设备USB Ethernet/RNDIS需要手动安装驱动右键选择更新驱动程序选择浏览我的计算机以查找驱动程序定位到以下路径C:\Windows\System32\DriverStore\FileRepository\netrndis.inf_amd64_*选择USB Ethernet/RNDIS Gadget完成安装验证方法ping 192.168.42.1成功收到回复说明连接正常。4.2 SSH登录配置推荐使用MobaXterm作为终端工具其内置的SFTP功能方便文件传输新建SSH会话地址填192.168.42.1用户名root密码milkv端口保持默认22登录成功后你会看到熟悉的Linux shell提示符。首次登录建议passwd # 修改默认密码 df -h # 查看存储空间使用情况4.3 网络共享配置要使开发板能够访问外网需设置Windows主机的网络共享打开网络和共享中心右键点击已联网的适配器→属性→共享允许其他用户通过此计算机的Internet连接选择RNDIS适配器作为家庭网络连接在开发板上测试ping github.com如果出现Temporary failure in name resolution错误需要手动设置DNSecho nameserver 8.8.8.8 /etc/resolv.conf5. 进阶配置与性能优化系统成功运行后可以通过以下调整获得更好的开发体验。5.1 存储空间扩展默认镜像只使用TF卡的部分空间通过以下步骤扩展fdisk /dev/mmcblk0 # 删除第二个分区后新建保持起始扇区相同 # 写入更改后退出 resize2fs /dev/mmcblk0p25.2 交换空间设置对于内存密集型操作可添加交换文件dd if/dev/zero of/swapfile bs1M count512 chmod 600 /swapfile mkswap /swapfile swapon /swapfile # 添加到/etc/fstab实现开机自动挂载5.3 温度监控CV1800B芯片在持续负载下可能发热安装监控工具opkg update opkg install lm-sensors sensors-detect --auto然后可以通过sensors命令实时查看温度变化。常见问题速查表现象可能原因解决方案蓝灯不亮供电不足换用带外接供电的USB集线器SSH连接超时IP地址冲突修改/etc/network/interfaces中的静态IP编译失败内存不足添加交换空间或减少make的并行任务数文件系统只读异常关机运行fsck手动修复从第一次点亮开发板到现在我已经用Milk-V Duo完成了多个物联网原型开发。最深刻的体会是遇到问题时不要急于重烧镜像90%的情况都能通过串口日志找到原因需额外USB转TTL模块。建议在/var/log/目录下建立自己的日志收集脚本这对后期调试会有极大帮助。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2523838.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!