2.9. 基于 ARM-2D 的 GUI 仿真工程
2.9.1. 前言
好消息! pikascript 的 Arm2D 模块以及仿真工程初步整理好了!pikaScript,ARM-2D,rt-thread 齐活儿,解锁python 玩 Arm2D 的新姿势!还不需要硬件,可以直接仿真,可以说是非常方便了。
在自己的电脑上部署运行这个仿真工程也非常简单,按照下面的几步操作就可以了~
2.9.2. 获得仿真工程
首先进入 PikaScript 的代码仓库
https://github.com/pikastech/pikascript (需要科学上网)
然后点一个 Star
如果进不去的话,就进下面这个
https://gitee.com/Lyon1998/pikascript (国内也能上)
然后也点一个 Star
好,等你点完 Star,我们开始下一步操作。
我们从代码仓库的主页往下翻,看到 Get PikaScript,然后点 PikaPackage.exe 下载 pikascript 的包管理器。
Gitee 上的也是一样的,任选一个即可。
下面把 PikaPackage.exe 放到你想要下载 PikaScript 的磁盘,为了节省你的 C 盘,你可以把 PikaPackage.exe 放在D盘,可以是 D 盘的任意位置。
双击 PikaPackage.exe,包管理器就会自动帮你把最新的 PikaScript 下载到 D:/tmp/pikascript 文件夹中。(如果放在 C 盘就会下载到 C:/tmp/pikascript)
下载使用的是国内资源,不需要科学上网,速度应该很不错。
下载完之后,就可以删掉这个 pikaPackage.exe 了。
顺利的话,你就可以在 /tmp/pikascript 文件夹下找到下载好的 pikascript 代码仓库了。
我们进入 bsp 文件夹,拷贝一份 simulation-rtt-qemu-arm2d 出来。
到此为止,工程就准备 ok 了。
2.9.3. 安装开发环境
有了工程之后,还需要安装开发环境,需要安装的只有两个东西,一个是 rt-thread studio,用来做IDE,rt-thread studio 里面集成了 qemu,用来仿真 mcu 和 gui 非常方便。另一个是最新的 arm gcc 工具链。
2.9.3.1. rt-thread studio 安装包链接
2.9.3.2. arm gcc 安装包链接
rt-thread studio 装在你喜欢的地方就可以,arm gcc 要装在默认的c盘。
装好之后,就可以开始用 python 玩 arm-2d 了。
2.9.4. 拉取模块并预编译
我们进入 simulation-rtt-qemu-arm2d/packages/pikascrpt 目录,这个目录就是 pikascrit 的文件了。
为了版本管理的方便,pikascript 使用 requestment.txt 管理内核和模块的版本,所以这个文件夹里没有 pikascript 的源码,只有一个 requestment.txt 文件,如果熟悉 pip,就会发现这个文件和 pip 所使用的版本描述文件是一模一样的。
我们双击运行这个文件夹下的 pikaPackage.exe ,pikascript 的内核和模块就拉取下来了。
拉下来之后是这样的。
最后我们再运行 rust-msc-latest-win10.exe 进行预编译,就 OK 了。
2.9.5. 运行
我们打开 RT-Thread Studio,点击导入
然后选择 simulation-rtt-qemu-arm2d 文件夹
选择工程,然后点锤子编译,再点虫子进入仿真
这时会弹出一个 QEMU 的框,然后点击运行。
运行成功的话,就可以看到白色背景上有一个蓝色的小方块了。到此为止部署就成功了。
2.9.6. 修改python代码试试
python 的源码就在 simulation-rtt-qemu-arm2d/packages/pikascript/main.py 里面,可以打开看看~
下面就是 main.py 的内容,新建了一个 box 对象,然后设置了颜色和位置,你可以试着修改颜色为 ‘red’ 或者改一下坐标看看,也可以新建另一个 screen.elems.b2 试试。
每次修改完后要记得预编译,才能把 python 转为工程里的 .c 文件
然后再编译,进入仿真,就可以看到效果了。这次我把方块改成了红色。
2.9.7. 结语
这是 Arm-2D 的仓库~ 还没 star 的同学记得补个 star~
https://github.com/ARM-software/EndpointAI
感谢 liuduanfei 大佬提供的 rtt-Arm2d-qemu 仿真工程~ 下面是 liuduanfei 大佬的 github 主页