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

150 lines
6.6 KiB
Markdown
Raw Normal View History

# 0.前言
好消息! pikascript的Arm2D模块以及仿真工程初步整理好了pikaScriptARM-2Drt-thread齐活儿解锁python玩Arm2D的新姿势还不需要硬件可以直接仿真可以说是非常方便了。
下面就是仿真的效果使用python编程调用Arm2d~
![image](https://user-images.githubusercontent.com/88232613/132945282-bfd310df-8063-456d-b90c-6b798a2c8ed5.gif)
2021-11-01 20:54:48 +08:00
![image](https://user-images.githubusercontent.com/88232613/132945107-e473a2cc-9fbc-47f9-aaed-a28d3ad1048c.gif)
在自己的电脑上部署运行这个仿真工程也非常简单,按照下面的几步操作就可以了~
# 1.获得仿真工程
2021-11-01 20:54:48 +08:00
首先进入PikaScript的代码仓库
https://github.com/pikastech/pikascript (需要科学上网)
2021-11-01 20:54:48 +08:00
![image](https://user-images.githubusercontent.com/88232613/139675132-739ec77b-db22-4ed9-a670-77ec7544d1b9.png)
2021-11-01 20:54:48 +08:00
然后点一个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)
2021-11-01 20:54:48 +08:00
到此为止工程就准备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