本帖最后由 正点原子运营 于 2024-6-24 11:00 编辑
1)实验平台:正点原子DNK210开发板
2) 章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0
6)正点原子K210技术交流企鹅群:605557868
不论是使用CanMV提供的基于C语言和FreeRTOS的应用开发方式开发应用程序或是编译CanMV固件,都需要搭建基于CanMV的C开发环境,用于编译CanMV源码。 本章分为如下几个小节: 4.1 开发环境搭建说明 4.2 安装VMware Workstation Player 4.3 创建虚拟机并安装Ubuntu 4.4 开启SSH服务并进行远程连接 4.5 创建工作目录 4.6 运行开发环境搭建脚本
4.1 开发环境搭建说明 CanMV提供了基于C语言和FreeRTOS的应用开发方式以及基于MicroPython语法的应用开发方式,其中基于C语言和FreeRTOS的应用开发方式依靠直接编译CanMV源码和应用代码来生成应用程序的可执行文件,而基于MicroPython语法的应用开发方式则是需要先编译CanMV源码并得到CanMV固件,然后在目标芯片上运行CanMV固件,以此来解析并运行MicroPython脚本的应用程序。 可以发现,无论使用那种开发方式进行CanMV的应用开发,都是需要编译CanMV的源码,因此本章介绍的开发环境实际上就是CanMV源码的编译环境,因此在搭建好CanMV的源码编译环境后,便可使用基于C语言和FreeRTOS的应用开发方式开发应用程序以及编译CanMV固件。 在CanMV项目仓库源码编译相关的文档(build.md)中有这么一句话,如下所示: Onlysupport Linux(recommend) and macOS 那么,这意味着CanMV源码的编译只能在Linux或macOS操作系统下完成,在Windows下是无法完成CanMV源码编译的,并且也推荐在Linux操作系统下进行CanMV源码的编译。为此本教程文档将选用Linux操作系统来搭建CanMV的编译环境,具体选用的Linux发行版本是Ubuntu Server 20.04.6。当然,对于具有能够解决所遇到问题的能力的读者,也可以选用其他Linux发行版本或macOS。 至此,确定了使用UbuntuServer 20.04.6作为开发环境的操作系统,但是可能大部分读者的电脑安装的都是Windows操作系统,身边并没有装有Ubuntu Server 20.04.6操作系统的电脑,那怎么办呢?以下列出一个解决方案: 一,以购买、租借等方式新增一台安装Ubuntu Server 20.04.6操作系统的电脑 二,使用Windows下的WLS(适用于Linux的Windows子系统) 三,使用VMware Workstation Player等应用程序在Windows下创建虚拟机,并运行Ubuntu Server 20.04.6操作系统 四,其他 本教程文档将就以上解决方案中的第三点(使用VMware Workstation Player等应用程序在Windows下创建虚拟机,并运行Ubuntu Server 20.04.6操作系统)提供详细的教程步骤,具体将介绍在Windows操作系统下使用VMware Workstation Player 17.0.0创建虚拟机并安装运行Ubuntu Server 20.04.6操作系统。 除此了操作系统之外,CanMV源码编译的开发环境,还需要Python、pip、Git、CMake、适用于目标芯片的Toolchain和kflash等件的支持,下面列出了本教程文档使用的部分软件的版本信息: 从本章节开始,将会有很多命令行操作,为了方便读者区分是在Window环境下的命令行操作还是Linux环境下的命令行操作,在此约定,下文中出现的命令都将以所需操作系统环境的名称作为命令的注释,且放置在首行。 例如,Windows环境下的命令行操作,如下所示: - # Windows
- echo "Hello, World"
复制代码Linux环境下的命令行操作,如下所示: - # Linux
- echo "Hello, World"
复制代码4.2 安装VMware Workstation Player 在Windows操作系统下双击打开VMware Workstation Player17.0.0的安装程序运行安装程序,并根据提示点击“下一步”按钮,如下图所示: 图4.2.1 VMwareWorkstation Player 17.0.0安装程序 认真阅读该软件的“最终用户许可协议”,确认无误后,即可勾选“我接受许可协议中的条款”复选框,随后点击“下一步”按钮,如下图所示: 若提示“更改Windows功能的兼容性设置”,则根据需要勾选“自动安装 WindowsHypervisor Platform (WHP)”复选框,随后点击“下一步”按钮,如下图所示: 接着自定义安装选项,包括软件的位置、是否安装增强型键盘驱动程序、是否将软件的控制台工具添加到系统环境变量,配置好这些自定义安装选项后,点击“下一步”按钮,如下图所示: 接着是一些用户体验的配置项,读者可根据自己的喜好进行配置,配置好后点击“下一步”按钮,如下图所示: 再接着就是配置是否创建快捷方式的界面,读者可根据需要进行配置,配置好后点击“下一步”按钮,如下图所示: 接下来,点击“安装”按钮,安装程序便会自动安装VMware Workstation Player,如下图所示: 图4.2.7 确认安装VMware Workstation Player 随后安装程序便会自动安装VMwareWorkstation Player,静静等待安装完成即可,如下图所示: 图4.2.8 正在安装VMware Workstation Player 安装程序完成VMwareWorkstation Player安装后,读者若拥有软件的许可证密钥,可点击“许可证”按钮添加许可证木密钥,若无软件的许可证密钥,直接点击“完成”按钮即可,如下图所示: 图4.2.9 完成安装VMware Workstation Player 至此,VMwareWorkstation Player安装完成,读者可在软件的安装路径中找到并运行软件,或通过安装程序创建的快捷方式运行软件,如下图所示: 图4.2.10 VMwareWorkstation Player主界面 4.3 创建虚拟机并安装Ubuntu 要使用VMwareWorkstation Player创建虚拟机并安装Ubuntu Server 20.04.6操作系统,请读者先根据4.2小节在Windows主机下正确安装VMware Workstation Player。 安装UbuntuServer 20.04.6操作系统需要使用UbuntuServer 20.04.6的系统安装镜像文件,该镜像文件可前往其官方的发布网站进行下载,网址为:https://releases.ubuntu.com/focal,进入网站后,在“Select an image”处选择“Server install image”进行下载,如下图所示: 读者也可以在A盘à软件资料à软件àUbuntu Server安装镜像下找到Ubuntu Server 20.04.6的系统安装镜像文件。 准备好镜像文件后,打开VMWareWorkstation Player并点击“创建新虚拟机(N)”按钮打开新建虚拟机向导,如下图所示: 打开新建虚拟机向导后,选择“安装程序光盘映像文件(iso)(M)”,并浏览选中Ubuntu Server 20.04.6的系统安装镜像文件,如下如所示: 点击“下一步”按钮后,填写简易安装信息,如下图所示: 简易安装信息的说明,如下表所示: 点击“下一步”按钮后,填写虚拟机的名称和位置,如下图所示: 点击“下一步”按钮后,填写虚拟机的磁盘容量等信息,如下图所示: 虚拟机的磁盘将占用虚拟机安装位置磁盘的空间,因此确保主机的磁盘空间足够。读者可以根据自己的实际情况来确定虚拟机的磁盘大小,另外,虚拟机的磁盘大小是可以在创建好虚拟机后再次调整的。 点击“下一步”按钮后,自定义虚拟机的硬件信息,如下图所示: 主要自定义的硬件信息有内存、处理器、网络适配器,其余的硬件信息,读者也可以根据实际情况进行调整。 硬件信息中的内存、处理器、网络适配器说明,如下表所示: 点击“完成”按钮后,虚拟机创建完毕,勾选“创建后开启此虚拟机”复选框,虚拟机将自动开启。 开启虚拟机后,UbuntuServer 20.04.6的安装程序将自动运行,安装程序启动后,首先进入“选择语言”界面,读者可根据实际情况选择语言,但建议选择“English”,如下图所示: 回车确认后,若此时安装程序已经连接网络,且检测到有新发布的Ubuntu Server安装程序,则弹出更新界面,建议选择“Continue without updating”,如下图所示: 回车确认后,进入键盘配置界面,键盘配置一般保持默认即可,如下图所示: 回车确认后,进入网络配置界面,读者请根据实际的网络情况配置网络,或等待DHCP服务器自动分配IP地址,如下图所示: 回车确认后,进入网络代理配置界面,读者请根据实际情况配置网络代理,若无需网络代理,留空即可,如下图所示: 回车确认后,进入软件镜像源配置界面,读者可以根据实际的网络情况填写软件镜像源,也可保持默认,如下图所示: 常用的软件镜像源,如下表所示: 回车确认后,进入磁盘分区布局的选择界面,读者可根据实际情况进行选择,一般保持默认即可,如下图所示: 回车确认后,进入磁盘分区界面,读者可根据实际情况进行分区配置,一般保持默认即可,如下图所示: 回车确认后,弹出磁盘分区确认提示,磁盘分区会擦除磁盘且无法恢复,确认无误后,选择“Continue”并回车,如下图所示: 随后进入系统信息配置界面,读者可根据实际情况配置系统信息,如下图所示: 系统配置信息的说明,如下表所示: 回车确认后,进入SSH配置界面,SSH服务用于远程连接Ubuntu Server,本教程将在Ubuntu Server安装完成后手动安装SSH服务,因此这里无需重复配置,如下图所示: 回车确认后,进入热门软件安装界面,读者可自行选择安装与否,如下图所示: 回车确认后,安装程序便自动开始安装Ubuntu Server,如下图所示: 等待安装程序安装UbuntuServer完成后,会出现“RebootNow”选项,如下图所示: 选中“Reboot Now”并回车后,虚拟机会重新启动,直到弹出Ubuntu Server的登录界面后,根据提示输入上文系统信息配置中输入的“Your name”和“Choose a password”分别作为用户名和用户密码登入Ubuntu Server系统,如下图所示: 至此,完成Ubuntu操作系统在虚拟机上的安装,由于在创建虚拟机的时候选择了UbuntuServer 20.04.6的系统安装镜像文件,因此虚拟机在每次开机时都会加载该镜像文件,为了避免在之后的虚拟机开机时再次自动进入Ubuntu Server的安装程序,导致无法正常进入已安装好的Ubuntu Server 20.04.6操作系统,因此需要关闭系统安装镜像文件的“启动时连接”,具体方法为:在VMware Workstation Player软件中选择创建好的Ubuntu虚拟机并依次点击菜单栏的“Playerà可移动设备àCD/DVD2(SATA) à设置”,如下图所示: 接着找到并取消勾选“启动时连接”复选框后点击“确认”按钮,如下图所示: 4.4 开启SSH服务并进行远程连接 为了方便开发操作以及主机与虚拟机之间的文件传输,建议在Ubuntu Server下开启SSH服务,这样一来,并可在Windows下使用Visual Studio Code、Windows Terminal等软件访问Ubuntu Server。 首先在UbuntuServer下安装openssh-server: - # Linux
- sudo apt update
- sudo apt install openssh-server -y
复制代码安装好openssh-server后便自动开启了SSH服务,这么一来,同局域网的SSH客户端便可通过Ubuntu Server的IP地址与Ubuntu Server建立SSH连接。 查看UbuntuServer的IP地址: 接下来便可在Windows主机下通过Windows PowerShell、Windows Terminal、Visual Studio Code等软件的终端与Ubuntu Server建立SSH连接: - # Windows
- # ssh user@host
- ssh alientek@192.168.6.666
复制代码其中“user”是Ubuntu Server中用户的用户名,“host”是Ubuntu Server的IP地址,若Ubuntu Server的SSH服务配置正确且网络连接正常,便会提示输入“password”,即Ubuntu Server中用户的密码,成功连接后,如下图所示: 图4.4.1 使用Windows PowerShell进行SSH连接 关于WindowsPowerShell、WindowsTerminal、Visual StudioCode等工具软件的安装和使用介绍不是本教程文档的重点,请读者在使用中遇到问题时,善用搜索引擎。 至此,便可在Windows下通过SSH服务直接访问Ubuntu Server,非常方便操作
4.5 创建工作目录 Ubuntu Server 20.04.6安装完成后,便可在Ubuntu Server 20.04.6下安装相关的软件以搭建CanMV的开发环境,但为了方便文件管理,本教程文档将创建三个目录来存放CanMV,具体如下表所示: 创建以上三个目录: - # Linux
- mkdir -p ~/Kendryte_K210/Resources
- mkdir -p ~/Kendryte_K210/Tools
- mkdir -p ~/Kendryte_K210/Workspace
复制代码为了方便访问这三个目录,接着将这三个目录的路径添加到环境变量: - # Linux
- echo 'exportRESOURCES='"$HOME"'/Kendryte_K210/Resources' >> ~/.bashrc
- echo 'exportTOOLS='"$HOME"'/Kendryte_K210/Tools' >> ~/.bashrc
- echo 'exportWORKSPACE='"$HOME"'/Kendryte_K210/Workspace' >> ~/.bashrc
- source ~/.bashrc
复制代码这么一来,便可在命令行中直接使用“$RESOURCES”、“$TOOLS”、“$WORKSPACE”来分别访问以上三个目录了,例如: 4.6 运行开发环境搭建脚本 为方便开发环境的搭建,本教程文档是使用脚本程序来搭建开发环境,读者可在A盘à软件资料à软件àCanMV固件开发环境搭建脚本中找到该脚本文件,脚本文件的文件名为“canmv_dev_env_setup.sh”。 该脚本文件是在Ubuntu Server下运行的脚本程序,因此首先需要将该脚本文件传输到UbuntuServer的文件系统中。主机与虚拟机之间传输文件的方法有很多,本文档教程将介绍使用SSH的方式进行文件传输。 在Windows环境下可以借助scp命令发送文件至SSH服务器或从SSH服务器复制文件,使用起来就和cp命令一样方便。将脚本文件从Windows的文件系统传输到Ubuntu Server的文件系统,如下: - # Windows
- # scp source ... target
- scp ./canmv_dev_env_setup.sh alientek@192.168.6.666:/tmp
复制代码接着到UbuntuServer下运行该脚本程序: - # Linux
- chmod +x /tmp/canmv_dev_env_setup.sh
- /tmp/canmv_dev_env_setup.sh
- rm /tmp/canmv_dev_env_setup.sh
复制代码脚本程序运行过程中可能需要输入用户密码,脚本程序运行完毕后,需重启以生效所有配置: 至此,基于CanMV的C开发环境基本搭建完成。 下面列出脚本程序的运行流程: 1,检查脚本运行环境 2,更新软件源和软件 3,创建python软链接 4,安装pip 5,安装Git 6,安装CMake 7,安装Toolchain 8,安装kflash 9,安装build-essential 有能力的读者可以自行阅读该脚本文件,有需要的话也可以根据需求修改该脚本文件。
|