海思Hi3516CV610开发实战:在Ubuntu 22.04上从零构建嵌入式Linux开发环境

张开发
2026/5/10 10:28:23 15 分钟阅读

分享文章

海思Hi3516CV610开发实战:在Ubuntu 22.04上从零构建嵌入式Linux开发环境
1. 海思Hi3516CV610开发板初探第一次拿到海思Hi3516CV610开发板时我盯着这个巴掌大的小盒子看了半天。作为华为旗下海思半导体推出的中端智能视觉处理芯片Hi3516CV610在安防摄像头、智能门禁等领域应用广泛。我手上这块是酷电科技馆的Hi3516CV610-MINI开发板板载256MB DDR3内存支持H.264/H.265视频编码最大分辨率能到1080P30fps。选择这个平台有几个原因首先是资料相对丰富国内开发者社区讨论较多其次是性价比高适合个人开发者练手最重要的是它代表了典型的嵌入式Linux开发流程掌握后可以迁移到其他平台。不过实际搭建环境时我发现网上的教程要么太零散要么版本过时这也是我决定记录这个完整过程的原因。2. 开发环境搭建全流程2.1 准备工作工具清单工欲善其事必先利其器这是我踩坑后的深刻体会。你需要准备以下工具VMware Workstation Pro 17新版对Ubuntu 22.04兼容性更好实测16版会有显卡驱动问题Ubuntu 22.04.5 LTS镜像建议从阿里云镜像站下载速度更快MobaXterm便携版比Putty功能更全自带SFTP文件传输开发板配套资料包括原理图、SDK包等向供应商索取特别提醒虚拟机建议分配200GB磁盘空间。我最初只给了80GB结果编译到一半提示空间不足不得不重头再来。内存建议4GB起步处理器核心数根据主机配置来我的笔记本是i5-1135G7分配了2核4线程。2.2 虚拟机创建细节打开VMware选择创建新的虚拟机时有几点需要注意镜像识别问题如果自动识别失败手动选择下载的ISO文件时务必确认SHA256校验值匹配网络配置推荐使用桥接模式Bridged这样虚拟机会获得独立局域网IP方便后续SSH连接硬件自定义显示适配器改为指定监视器设置分辨率1920x1080移除不必要的USB控制器、声卡等设备开启虚拟化引擎的虚拟化Intel VT-x/EPT选项安装过程中有个隐藏坑点在安装类型界面不要勾选安装第三方软件否则可能导致安装后无法正常启动。我就因为这个选项重装了三次系统。2.3 Ubuntu系统安装实战安装界面选择Minimal installation最小安装即可毕竟我们主要用命令行操作。几个关键步骤分区方案手动分区更灵活/boot1GBext4swap8GB内存的两倍/剩余全部空间ext4用户设置建议用户名用英文避免后续开发工具兼容性问题时区选择虽然选上海但最好在安装后执行sudo timedatectl set-timezone Asia/Shanghai sudo apt install ntpdate sudo ntpdate ntp.aliyun.com安装完成后别急着操作先做快照我在这个环节因为误操作搞崩过系统有了快照可以随时回滚。2.4 基础环境配置技巧登录后第一件事是换源否则apt-get慢得让人崩溃sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update sudo apt upgrade -y必备工具安装清单# 网络工具包 sudo apt install net-tools openssh-server curl git -y # 开发基础库 sudo apt install build-essential cmake python3-dev -y # 调试工具 sudo apt install gdb strace ltrace -ySSH服务配置有两个易错点修改/etc/ssh/sshd_config文件PermitRootLogin yes PasswordAuthentication yes重启服务后检查状态sudo systemctl restart ssh sudo systemctl status ssh # 确认active (running)2.5 远程连接优化方案用MobaXterm连接时如果遇到连接超时大概率是防火墙问题sudo ufw disable # 临时关闭防火墙更安全的做法是只开放22端口sudo ufw allow 22/tcp sudo ufw enable推荐几个提高效率的操作免密登录在MobaXterm生成密钥对把公钥写入Ubuntu的~/.ssh/authorized_keys别名设置在MobaXterm的宏功能里添加常用命令SFTP同步右键会话选择Start SFTP session可以直接拖拽文件传输3. 常见问题解决方案3.1 网络连接异常处理桥接模式无法上网时按这个顺序排查检查主机网络适配器设置控制面板→网络和共享中心→更改适配器设置在VMware菜单选择编辑→虚拟网络编辑器还原默认设置在Ubuntu内重启网络服务sudo systemctl restart networking sudo dhclient -v如果使用WiFi联网可能需要额外操作sudo apt install wireless-tools wpasupplicant sudo iwconfig # 查看无线网卡名称 sudo nano /etc/netplan/00-installer-config.yaml # 配置WiFi连接3.2 性能优化技巧虚拟机卡顿是常见问题这几个设置能显著提升流畅度关闭图形特效sudo apt remove ubuntu-desktop -y sudo apt install --no-install-recommends ubuntu-minimal -y调整swappiness值echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf sudo sysctl -p禁用无用服务sudo systemctl disable snapd.service apt-daily-upgrade.timer3.3 开发板连接准备虽然还没到实际开发阶段但可以提前准备安装USB转串口驱动sudo apt install setserial minicom -y将用户加入dialout组sudo usermod -aG dialout $USER测试串口连接开发板通电后minicom -D /dev/ttyUSB0 -b 1152004. 进阶环境配置建议4.1 开发目录结构规划好的目录习惯能提升后期开发效率建议这样组织~/Hi3516CV610_Project/ ├── sdk/ # 存放官方SDK ├── buildroot/ # 编译输出目录 ├── tools/ # 交叉编译器等 ├── src/ # 自定义代码 └── doc/ # 开发文档4.2 版本控制集成在MobaXterm中配置Git更方便git config --global user.name YourName git config --global user.email youremail.com # 生成SSH Key并添加到GitHub ssh-keygen -t ed25519 -C youremail.com cat ~/.ssh/id_ed25519.pub4.3 自动化脚本示例创建环境初始化脚本setup_env.sh#!/bin/bash # 安装依赖 sudo apt install -y libssl-dev libncurses5-dev bc flex bison # 创建符号链接 sudo ln -sf /bin/bash /bin/sh # 设置环境变量 echo export PATH$PATH:~/Hi3516CV610_Project/tools/arm-himix200-linux/bin ~/.bashrc source ~/.bashrc记得给执行权限chmod x setup_env.sh ./setup_env.sh5. 下一步方向完成基础环境搭建后就可以着手准备SDK开发和交叉编译工具链配置了。建议先通过uname -a确认当前系统架构是x86_64因为后续需要安装ARM架构的交叉编译器。如果遇到包依赖问题可以尝试apt-get build-dep命令自动安装所有构建依赖。

更多文章