BL618 + PikaPython 系列教程一、固件烧录和点亮 LED 灯
什么是PikaPython?
PikaPython是一种超轻量级的Python引擎,只需要4KB的RAM即可运行,且无需安装任何依赖库。与MicroPython和JerryScript类似,但PikaPython更小、更简单。
在这篇教程中,我们将会介绍如何在BL618芯片上使用PikaPython,包括如何烧录、使用和探索其功能。
BL618芯片
BL618是一款基于RISC-V架构的芯片,支持PikaPython作为示例程序。RISC-V是一种开放指令集架构,它是一种与具体实现无关的标准,可用于自由设计和构建处理器,让用户有更多的灵活性和自由度来设计自己的处理器。BL618芯片支持低功耗和较为简单的应用,非常适合在物联网设备中使用。
如何构建
这里推荐在 windows 平台构建,通过自动构建脚本,开箱即用,不需要配环境。
- 克隆 PikaPython_BL618 仓库,请注意这里用的不是官方仓库!
git clone https://github.com/pikastech/pikapython_bl618
- 然后进入 examples/pikapython 目录
cd examples/pikapython
- 在Windows上,构建PikaPython非常简单,只需要运行以下命令:
make_bl618.bat
如何烧录
在构建完程序之后,接下来我们需要烧录程序到芯片中。使用以下命令即可完成烧录,烧录前需要进入 Boot 模式, 操作方法是按住 BOOT 键不动,然后 RST,再松开 BOOT 键:
make flash COMX=<你的串口号>
请将 <你的串口号>
替换为你的串口号,例如make flash COMX=COM7
。
在烧录完成后,按 RST,你就可以连接到芯片并开始使用 PikaPython。
如何连接
连接到芯片的REPL(交互式命令行)模式非常简单。
【注意!!用的不是串口1,而是 USB 虚拟串口!就是烧录固件用的那个 USB口!虚拟串口的串口号和烧录串口的串口号可能不一样,这是正常现象!】
PikaPython使用USB虚拟串口进行通信,连接 BL618 的 USB 接口,然后使用 Pika-Studio 工具 连接开发板。
![](https://verimake.com/assets/files/2023-03-24/1679636818-862350-image.png)
【注意!!用的不是串口1,而是 USB 虚拟串口!就是烧录固件用的那个 USB口!虚拟串口的串口号和烧录串口的串口号可能不一样,这是正常现象!】
默认的波特率是115200。
连接成功后,你可以按下Enter键进入REPL模式,然后你可以在终端中输入Python代码并在芯片上运行。
如果按 Enter 之后没有进入 REPL,可以多按几次 RST 试试。
【注意!!用的不是串口1,而是 USB 虚拟串口!就是烧录固件用的那个 USB口!虚拟串口的串口号和烧录串口的串口号可能不一样,这是正常现象!】
例如,你可以输入以下代码来打印数字1到10:
# 打印1~10的数字
for i in range(1, 11):
print(i)
这将输出数字1到10。
![](https://verimake.com/assets/files/2023-03-24/1679636827-719022-image.png)
点亮 LED 灯
![](https://verimake.com/assets/files/2023-03-24/1679636834-840828-image.png)
根据原理图可以看到LED是由 GPIO32 控制的,并且当 GPIO32 输出高电平时LED亮,反之则灭。
我们可以使用 PikaStdDevice 设备库来控制 GPIO
io = PikaStdDevice.GPIO() # 创建一个 io 对象
io.setPin('P32') # 设置这个 io 的引脚为 32
io.setMode('out') # 设置这个 io 的模式为输出
io.enable() # 开启这个 io
io.high() # 把这个 io 的电平拉高
io.low() # 把这个 io 的电平拉低
![](https://verimake.com/assets/files/2023-03-24/1679636846-285537-image.png)
通过使用 time
模块,我们可以让 led 灯闪动起来
for i in range(10):
io.high()
time.sleep(0.1)
io.low()
time.sleep(0.1)
![](https://verimake.com/assets/files/2023-03-24/1679636854-311130-image.png)
结果展示:
![](https://verimake.com/assets/files/2023-03-24/1679636888-572611-wechat-20230324133723.gif)
其他可用的模块
输入 help('modules')
可以查看当前可用的所有模块
![](https://verimake.com/assets/files/2023-03-24/1679636898-317596-image.png)
想了解这些模块如何使用,可以查看 PikaPyhon 的文档 。
![](https://verimake.com/assets/files/2023-03-24/1679636904-911169-image.png)
后续教程:
BL618 + PikaPython 系列教程二:使用内置例程控制硬件