内容介绍
内容介绍
LPC55S69 简介
LPC55S69 采用Armv8-M架构,包括TrustZone-M和协处理器扩展。LPC55S6x家族利用协处理器扩展型号,大幅提高信号处理效率,采用专有DSP加速器,使计算的时钟周期减少了10倍。还可选择使用第二个Cortex-M33内核,支持灵活地平衡高性能与功率效率。
RT-Thread 简介
RT-Thread 是一款国产的实时操作系统,它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。与一般的操作系统相比,最大的特色就是实时性,如果有一个任务需要执行,实时操作系统会在较短时间内执行该任务,不会有较长的延时,以此保证了各个任务的及时执行。实时操作系统中都要包含一个实时任务调度器,这个任务调度器与其他操作系统的最大不同是强调:严格按照优先级来分配CPU时间,并且时间片轮转不是实时调度器的一个必选项。
移植思路
由于 RT-Thread 官方提供了 MicroPython 软件包,并且 MicroPython 底层和硬件绑定时对接了 RT-Thread 驱动框架,因此可以很方便地在运行了 RT-Thread 的板卡上将 MicroPython 跑起来。
所以通过先移植 RT-Thread ,然后再在 RT-Thread 上运行 MicroPython。
移植 RT-Thread 和 MicroPython
- 克隆仓库 https://github.com/RT-Thread/rt-thread
- 进入 bsp\lpc55sxx\lpc55s69_nxp_evk 运行 `pkgs --upgrade`
- 运行 `menuconfig` 选中 `RT-Thread online packages -> language packages ->MicroPython` 和 `RT-Thread Components -> Device virtual file system -> Enable elm-chan fatfs`
- 提升堆栈空间,避免内存不足。
- 检查选中情况,如果没有问题,选择 `Save`
- 运行 `pkgs --update` 自动下载依赖包
- 运行 `scons --target=mdk5 -s`
- 直接打开 `project.uvprojx` 即可编译,出现的问题及解决方案在视频中详细描述,这里不再赘述。
Python 串口通信
MicroPython 实现呼吸灯
from machine import Pin
import utime
led = Pin(("PA4", 37), Pin.OUT_PP)
def counter(h):
for i in range(h):
led.value(0)
utime.sleep(0.000001)
for i in range(100-h):
led.value(1)
utime.sleep(0.000001)
# print(h)
def main():
direct = 0
duty = 10
while True:
if(duty >= 99):
direct = 1
if(duty <= 10):
direct = 0
duty = duty+1 if direct == 0 else duty-1
counter(duty)
# utime.sleep(1)
if __name__ == '__main__':
main()
心得体会
LPC55S69 的性能非常强大,可以实现多样的功能而不考虑算力硬件限制。在此感谢硬核团队的技术支持,也感谢为 RT-Thread 提交 PR 的热心贡献者。
软硬件
元器件
附件下载
rtthread-lpc55s6x.hex
breath.zip
团队介绍
团队成员
cjmf
评论
0 / 100
查看更多
猜你喜欢
Funpack第11期用LPC55S69玩MicroPythonFunpack第11期 LPC55S69 MicroPython 串口通信 gpio控制 RT-Thread 编译
happy
2183
funpack11期LPC55S69来移植Micropython这是我第二次参加fanpack系列活动,本次活动使用LPC55S69来移植Micropython,并实现串口通信和控制IO口。
疾风亦有归途
1992
Funpack第11期LPC55S69-EVK上的Micropython移植基于NXP的LPC55S69-EVK与RT-Thread的Micropython移植,实现串口通信和控制IO口。
涵尘者
1867