描述
介绍:
SAMA7G54 是最后一款超低功耗 MPU 32 位。其卓越的性能使其能够运行基于 AI/ML 的应用程序。在本教程中,您将学习如何构建与 AI/ML 的主要必要库兼容的 Linux 映像。这些主要库是 tflite_runtime 和 SciPy。目前两者都没有集成到 buildroot 中。
I) 下载 Microchip 产品的 buildroot
您必须在主机上的 Linux 环境中工作。
首先,在您选择的位置,创建一个名为:“buildroot_for_ML”的文件夹并输入:
mkdir buildroot_for_ML cd buildroot_for_ML
然后 :
git clone https://github.com/linux4sam/buildroot-at91.git cd buildroot-at91 git checkout tags/linux4sam-2022.04
提示:最好使用最新的buildroot-at91标签。为此,您可以通过以下链接在我们的 GitHub 存储库中查看最近的标签列表:Linux4SAM/buildroot-at91 标签
下一步是:
cd .. git clone https://github.com/linux4sam/buildroot-external-microchip cd buildroot-external-microchip git checkout tags/linux4sam-2022.04
完成所有这些步骤后,您需要在 buildroot-at91 目录中进行一些更改。
II) 使安装与用于 AI/ML 目的的库兼容
1) 更改 Python 版本
首先,如简介中所述,您将需要使用tflite_runtime。此 python 库与最新版本的 python (Python 3.10) 不兼容,但仅与 Python 3.8 兼容。
转到“buildroot_for_ML/buildroot-at91/package”目录并删除“python3”目录。
现在重要的是去选择之前版本buildroot中的python3.8.6。
为此,请通过以下链接下载所需的特定版本的 buildroot:
使用 python 3.8.6 构建根目录
警告:
不要将其下载到“ buildroot_for_ML”目录中,但请下载到另一个目录中。
下载此文件后:
解压缩
浏览到“包”目录
复制“python3”目录
将其粘贴到此位置:“ buildroot_for_ML/buildroot-at91/package”
现在完成了。恭喜!您更改了 buildroot 中的 python 版本。
2) 将 SciPy 添加到 buildroot。
SciPy 库是一个数学库,通常用于音频 ML 模型中的音频预处理。
请按照以下步骤将其添加到我们的 buildroot 安装中:
转到https://patchwork.ozlabs.org/project/buildroot/list/?series=287352
通过单击其链接和“MBOX”下载每个补丁:
下载四个补丁后,将文件放在“ buildroot_for_ML/buildroot-at91/”目录中
在此目录下打开一个终端
然后键入这些命令:
git apply v4-1-4-package-python-gast-new-host-only-package.patch git apply v4-2-4-package-python-beniget-new-host-only-package.patch git apply v4-3-4-package-python-pythran-new-host-only-package.patch git apply v4-4-4-package-python-scipy-new-package.patch
完成这些步骤后,SciPy 库现在可以在 buildroot 中使用。但这不是它的最新版本,即 SciPy 版本 1.8.1。
要更新 SciPy 版本,请按照以下步骤操作:
转到“buildroot_for_ML/buildroot-at91/package/python-SciPy”目录
使用诸如 gedit 之类的代码编辑器打开文件“ python-scipy.mk ”。
将 SciPy 版本从 1.7.3 更改为 1.8.1:
完成后,保存文件并关闭它。
使用代码编辑器打开文件“python-scipy.hash”
删除第 3 行;4;5; 6; 7; 8; 9
用这一行替换第 2 行的内容:
sha256 0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9 scipy-1.8.1.tar.xz
像这样:
现在终于完成了!您拥有与 buildroot 集成的最新版本的 SciPy。
三)配置Buildroot
1)默认配置
由于我们要为 SAMA7G54-Ek 板构建 Linux 映像,我们需要通过设置环境变量将其指示给 buildroot。
在您的终端中转到“buildroot-at91/”目录
运行此命令:
BR2_EXTERNAL=../buildroot-external-microchip/ make sama7g5ek_headless_defconfig
2)制作菜单配置
现在外部工具链已设置,您可以通过键入以下命令运行配置 GUI:
make menuconfig
为了能够将 python-scipy 添加到您的配置中,您必须使用您的工具链启用 Fortran 支持。
为此:
转到“工具链--->”选项
按空格键激活“启用 Fortran 支持”选项。
双击“ESC”返回主页面。
现在已经完成,您可以根据需要添加任意数量的包。
Microchip 的 MPU32 营销团队至少向您推荐以下这些:
BR2_PACKAGE_PYTHON3
BR2_PACKAGE_PYTHON_PIP
BR2_PACKAGE_NUMPY
BR2_PACKAGE_PILLOW
BR2_PACKAGE_PSUTIL
BR2_PACKAGE_SCIPY
BR2_PACKAGE_PSYCOPG2
提示:您可以通过按“/”键盘键在 menuconfig 中搜索您想要的任何包。
警告:
默认情况下启用某些软件包,但它们会导致兼容性问题,因为它们不支持 SAMA7G54-Ek 板并且不是必需的,因此请禁用它们:
· 搜索“cryptoauthlib”
· 选择第一个结果并禁用两个包:
现在一切都已完成,您可以构建图像。
IV) 构建并刷入镜像
1)建立形象
要构建图像:
在您的终端中,在目录“ buildroot-at91”中
确定可用于图像生成的 CPU 数量 N
将以下命令中的 N 替换并运行
make -jN
现在你必须等待几个小时才能完成这一代:
2) 刷写 SD 卡
生成完成后,转到“/buildroot_for_ML/buildroot-at91/output/images”目录。文件“sdcard.img”是将在您的 SD 卡上闪烁的 Linux 映像。
请按照本教程学习如何操作:
Linux4SAM 闪存 SD 卡
五)安装tflite_runtime
1)运行图像
SD 卡刷入后,您可以将其插入 SAMA7G54-Ek 板上的 SD 卡接收器,然后按“重置按钮”和“开始按钮”运行操作系统。
如果您在设置硬件时遇到一些困难,请按照此图片的指示进行操作:
提示:
如果您需要帮助安装 TTL 转 USB 连接器 (UART) 的驱动程序,您可以按照本教程进行操作:
Linux4Sam - SAMA7G54-Ek - TTL 转 USB 连接器
2) 安装 tflite_runtime
要安装 tflite_runtime,您必须使用“pip”。但首先你需要将电路板连接到互联网:
将以太网电缆插入“1Gbps 以太网”模块。
激活界面:
ifup eth0
设置当前日期和时间(出于 SSL 证书兼容性原因):
date YYYY-MM-DD date HH:MM:SS
安装 tflite_runtime :
pip install tflite_runtime
结论:
感谢您使用本教程。现在你有了一个工作图像,你可以安装其他包,如果兼容的话,再次使用“pip”。如果您需要帮助,请随时与我联系
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !