LPC55S69及其开发环境简介
有关LPC55S69开发板的介绍参见:
👉 硬禾学堂Funpack 11期
👉 恩智浦官网
板卡资源丰富,包含4位SDIO,及速度传感器,音频编解码,MikroElectronika Click拓展槽等。开发环境支持恩智浦的MCUXpresso、或通过生成LPC55S69的SDK在Keil5、IAR等环境中开发。
Micropython移植流程记录
有关Micropython的简介及开发流程可参考:
👉 Micropython官网
👉 RT-Thread文档中心
RT-Thread及MPY移植
在LPC55S69上移植Micropython,首先需要移植RT-Thread,再在此基础上完成Micropython的移植。RTT参见RT-Thread Github官方,其主要步骤及BSP(板级支持包)资源均配备。此外,需要配置RT-Thread Env。
⚠️ 最好git clone 最新的RTT,以确保更多的bug得到了修复。
配置好Env后,在git clone后RTT所在文件夹下,打开ConEmu,如下图。
输入menuconfig → Hardware Drivers Config → On-chip Peripheral Drivers,使能GPIO,UART0与UART2。
使能后退回上级菜单,在RT-Thread online packages → language packages → Micropython,使能并进入设置,“Heap size"改为20480,版本选用"latest”。
进入Hardware Module使能"machine uart"。
最后在RT-Thread Components,改变"stack size"为8192,最后Exit退出配置。
在ConEmu中,输入"pkgs --update"将将软件包拉取到本地。
返回文件夹,在".\bsp\lpc55sxx\lpc55s69_nxp_evk\packages\micropython-latest"下有一"SConscript"文件,对此进行修改,注意30行改为"-fgnu"。
改完后,在ConEmu中输入"scons --target=mdk5",生成Keil工程。根据Micropython用户手册,对main函数作出修改,在main线程中启动MicroPython,之后即可烧写到板卡中。
GPIO及串口通信
结合LPC55S69原理图及所生成Keil工程中drv_pin.c,板卡上LED_BLUE为Pin37,LED_RED为Pin39,LED_GREEN为Pin40,按键为Pin42。注意,板卡LPC-LINK2 占用了UART0,因此使用UART2做串口输入输出。
使用vscode中的RT-Thread MicroPython插件进行mpy开发。
编写了一个简单的用按键控制LED和串口输出的程序,为了LED灯显示清晰没有整些花里胡哨的,该程序实现当KEY按下时,LED_BLUE与LED_RED翻转,串口每1秒打印语句。效果如下:
代码见资源链接,开源。
*BUG:目前我的板卡不知为何无法实现从UART2串口输入字符。