pikapython/document/6.用Python玩ARM 2D,认真的嘛.md

150 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 0.前言
好消息! pikascript的Arm2D模块以及仿真工程初步整理好了pikaScriptARM-2Drt-thread齐活儿解锁python玩Arm2D的新姿势还不需要硬件可以直接仿真可以说是非常方便了。
下面就是仿真的效果使用python编程调用Arm2d~
![image](https://user-images.githubusercontent.com/88232613/132945282-bfd310df-8063-456d-b90c-6b798a2c8ed5.gif)
![image](https://user-images.githubusercontent.com/88232613/132945107-e473a2cc-9fbc-47f9-aaed-a28d3ad1048c.gif)
在自己的电脑上部署运行这个仿真工程也非常简单,按照下面的几步操作就可以了~
# 1.获得仿真工程
首先进入PikaScript的代码仓库
https://github.com/pikastech/pikascript (需要科学上网)
![image](https://user-images.githubusercontent.com/88232613/139675132-739ec77b-db22-4ed9-a670-77ec7544d1b9.png)
然后点一个Star
如果进不去的话,就进下面这个
https://gitee.com/Lyon1998/pikascript (国内也能上)
![image](https://user-images.githubusercontent.com/88232613/139675170-fe0ce449-872f-466e-8780-74465730178a.png)
然后也点一个Star
等你点完Star我们开始下一步操作。
我们从代码仓库的主页往下翻看到Get PikaScript然后点PikaPackage.exe下载pikascript的包管理器。
![image](https://user-images.githubusercontent.com/88232613/139675454-596829d1-0325-42ab-96c5-f3d3d369d7d4.png)
Gitee上的也是一样的任选一个即可。
![image](https://user-images.githubusercontent.com/88232613/139675486-0f63e7b4-669d-4370-80ad-134c0f28f203.png)
下面把PikaPackage.exe放到你想要下载PikaScript的磁盘为了节省你的C盘你可以把PikaPackage.exe放在D盘可以是D盘的任意位置。
双击PikaPackage.exe包管理器就会自动帮你把最新的PikaScript下载到D:/tmp/pikascript文件夹中。(如果放在C盘就会下载到C:/tmp/pikascript)
下载使用的是国内资源,不需要科学上网,速度应该很不错。
下载完之后就可以删掉这个pikaPackage.exe了。
顺利的话,你就可以在/tmp/pikascript文件夹下找到下载好的pikascript代码仓库了。
![image](https://user-images.githubusercontent.com/88232613/139676635-c3f1c6ae-ab44-42a5-ab9a-9bedd2383f31.png)
我们进入bsp文件夹拷贝一份simulation-rtt-qemu-arm2d出来。
![image](https://user-images.githubusercontent.com/88232613/139677151-33c1dbd0-c2f2-4ea3-a5ae-569e5a448cce.png)
到此为止工程就准备ok了。
# 2.安装开发环境
有了工程之后还需要安装开发环境需要安装的只有两个东西一个是rt-thread studio用来做IDErt-thread studio里面集成了qemu用来仿真mcu和gui非常方便。另一个是最新的arm gcc工具链。
## rt-thread studio 安装包链接
https://download-sh-cmcc.rt-thread.org:9151/www/studio/download/RT-Thread%20Studio-v2.1.2-setup-x86_64_20210831-1200.exe
## arm gcc 安装包链接
https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-win32.exe
rt-thread studio装在你喜欢的地方就可以arm gcc要装在默认的c盘。
装好之后就可以开始用python玩arm-2d了。
# 3.拉取模块并预编译
我们进入simulation-rtt-qemu-arm2d/packages/pikascrpt目录这个目录就是pikascrit的文件了。
![image](https://user-images.githubusercontent.com/88232613/139678258-e2cdc50d-475b-435a-af8c-7c19cc3a218d.png)
为了版本管理的方便pikascript使用requestment.txt管理内核和模块的版本所以这个文件夹里没有pikascript的源码只有一个requestment.txt文件如果熟悉pip就会发现这个文件和pip所使用的版本描述文件是一模一样的。
![image](https://user-images.githubusercontent.com/88232613/139678404-9b747c0a-6508-4f6d-b0ca-671560f31fbd.png)
我们双击运行这个文件夹下的pikaPackage.exepikascript的内核和模块就拉取下来了。
![image](https://user-images.githubusercontent.com/88232613/139678437-a77b7278-cafd-485e-b353-94a12302c8cb.png)
拉下来之后是这样的。
![image](https://user-images.githubusercontent.com/88232613/139678713-0cd86aef-2996-4898-931d-68c805534312.png)
最后我们再运行rust-msc-latest-win10.exe进行预编译就OK了。
![image](https://user-images.githubusercontent.com/88232613/139678750-befc11e9-d812-4fcf-949e-64dd873d0211.png)
# 4.运行
我们打开RT-Thread Studio点击导入
![image](https://user-images.githubusercontent.com/88232613/139679061-2e3b2ea0-8e9a-44c9-9a0f-6f40d82a0208.png)
然后选择simulation-rtt-qemu-arm2d文件夹
![image](https://user-images.githubusercontent.com/88232613/139679380-3a45f426-e575-4142-b5f1-76439c7efc38.png)
选择工程,然后点锤子编译,再点虫子进入仿真
![image](https://user-images.githubusercontent.com/88232613/139679532-e19ed911-c7f4-4840-a5e3-f5b66905a62f.png)
这时会弹出一个QEMU的框然后点击运行。
![image](https://user-images.githubusercontent.com/88232613/139679756-cb099fc9-c3e9-4b76-9037-38392350530b.png)
运行成功的话,就可以看到白色背景上有一个蓝色的小方块了。到此为止部署就成功了。
![image](https://user-images.githubusercontent.com/88232613/139679797-3ce8f253-beb9-480f-90ee-1844500a77ab.png)
# 5.修改python代码试试
python的源码就在simulation-rtt-qemu-arm2d/packages/pikascript/main.py里面可以打开看看~
![image](https://user-images.githubusercontent.com/88232613/139679915-45d1362e-7066-4829-ae83-b4bbc5d0aaa0.png)
下面就是main.py的内容新建了一个box对象然后设置了颜色和位置你可以试着修改颜色为'red'或者改一下坐标看看也可以新建另一个screen.elems.b2试试。
![image](https://user-images.githubusercontent.com/88232613/139680125-11ff47b3-e75e-47f4-8dd7-5b310c5be16c.png)
每次修改完后要记得预编译才能把python转为工程里的.c文件
![image](https://user-images.githubusercontent.com/88232613/139680376-b9681759-971a-43f7-9282-ee0e35a367a5.png)
然后再编译,进入仿真,就可以看到效果了。这次我把方块改成了红色。
![image](https://user-images.githubusercontent.com/88232613/139680521-20f83ee3-2163-4649-ad23-ae73b77f482e.png)
# 6.结语
这是Arm-2D的仓库~ 还没star的同学记得补个star~
https://github.com/ARM-software/EndpointAI
![image](https://user-images.githubusercontent.com/88232613/139681272-73a1a8c2-2889-4dab-bd05-7174cb14334c.png)
感谢liuduanfei大佬提供的rtt-Arm2d-qemu仿真工程~ 下面是liuduanfei大佬的github主页
![image](https://user-images.githubusercontent.com/88232613/139681543-99a64e9b-eb10-4c8e-bbe3-e8170c85385a.png)
https://github.com/liuduanfei