前言
MicroPython,当今开源软件领域的热门技术,由英国剑桥大学的教授Damien George(达米安·乔治)发明。作为计算机工程师,Damien George的日常工作与Python密不可分,同时他也是一位机器人项目的爱好者。某日,他突发奇想,能否利用Python语言来控制单片机,实现对机器人的操控呢?
Python,这款广受欢迎的脚本语言,因其语法简洁、用法简单、功能强大、容易扩展等特性,备受开发者们的青睐。其强大的社区支持、丰富的库资源、强大的网络功能和计算能力,以及与其他语言良好的兼容性,使得Python广泛应用于工程管理、网络编程、科学计算、人工智能、机器人、教育等多个领域。更重要的是,Python完全开源,不受商业公司的控制和影响,完全靠社区推动和维护,因此受到越来越多开发者的青睐。
然而,早期Python在嵌入式系统中的应用并未得到广泛推广,主要受到硬件成本、运行性能、开发习惯等因素的限制。随着半导体技术和制造工艺的快速发展,芯片的升级换代速度日益加快,芯片的功能和存储器容量不断增强,成本逐渐降低,为Python在低端嵌入式系统上的应用提供了可能性。
Damien George投入了六个月的时间研发出了MicroPython。它使用GNU C进行开发,实现在微控制器上Python3的基本功能,具备完善的解析器、编译器、虚拟机和类库等。在保留Python语言主要特性的基础上,对嵌入式系统的底层进行了出色的封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。用户只需通过调用这些库和函数,就能快速控制LED小灯、舵机、多种传感器、SD卡文件系统、UART、I2C、SPI通信总线等实现各种功能,而不用再去研究底层外设模块的使用方法。这不但降低了开发难度,而且减少了重复开发工作,缩短了开发周期。
MicroPython最早被应用在STM32F4微控制器平台上。随着社区开发者的不断努力,它逐渐被移植到STM32L4、STM32F7、ESP8266、ESP32、CC3200、dsPIC33FJ256、MK20DX256、microbit、MSP432、XMC4700、RT8195、IMXRT等众多硬件平台上。而且,不少开发者在不断尝试将MicroPython移植到更多的硬件平台上,还有更多的开发者在使用MicroPython做嵌入式应用,并将它们在网络上分享。
本书的撰写目的在于梳理作者在基于ESP32S3微控制器移植MicroPython的过程中总结出的一些开发规范以及一些奇思妙想,整理成文稿后可作为软件组的其他同事在更多平台上移植MicroPython和深人开发的参考。重点在于如何移植现有的模块。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040860/viewspace-3048124/ ,如需转载,请注明出处,否则将追究法律责任。