编译micropython遇到的几个问题(ESP32平台)
在编译esp32的micropython时候根据官方的github步骤来,但是还是有几个问题。特此记录一下:
1、执行make erase 擦除esp32的flash时候失败。原因与解决办法:查看micropython/ports/esp32目录下的Makefile文件,找到BAUD定义的地方,修改波特率为921600,原来为460800.
2、编译成功以后,烧录进去却不管用,查看log貌似在一直复位。原因:根据官方的说明,我另外建了一个makefile(注意这个和原来Makefile的区别),如下为官方建议在makefile里面填写的内容。原因就错在我把#FLASH_MODE=qio 这句屏蔽的给去掉了,而实际上用的模式是dio的,重新加上屏蔽就OK了,因为在Makefile里面有个默认值就是dio的
1 2 3 4 5 6 7 8 |
ESPIDF = XXX #PORT = /dev/ttyUSB0 #FLASH_MODE = qio #FLASH_SIZE = 4MB #CROSS_COMPILE = xtensa-esp32-elf- #CONFIG_SPIRAM_SUPPORT = 1 include Makefile |
3、 如果你之前是一直用ESP-IDF的一套进行编译调试,在micropython上面发现make monitor是不管用的。因为micropython官方自己重写了makefile,而不是用的ESP-IDF本身自带的。所以没办法使用make monitor。不过也有好的办法可以快速调出串口交互程序。安装一个picocom工具(具体安装方法请自行百度) 在Makefile文件里面搜索deploy定义的地方。在它下方添加如下脚本。这样我们就可以快速输入make monitor打开串口交互,或者你也可以直接输入 picocom -b 115200 /dev/ttyS3 。因为我是在win10下面的子linux系统中编译,所以我这里使用的是/dev/ttySx 这样的形式,如果你是在原版的linux下面请自行查找
1 2 |
monitor: picocom -b 115200 /dev/ttyS3 |