分享

Arduino IDE下编译自己的MicroBlocks固件

 新用户5228KeDY 2022-12-30 发布于北京

MicroBlocks是开源的,所以就给了使用者以无穷无尽的拓展的空间。MicroBlocks虽然支援在Arduino IDE下编译源码,但是,无论是作者还是一大批专业的开发&使用者,肯定极少有人使用Arduino IDE。因为它要改好多东西。

Arduino IDE是不够智能,太简陋。但是我喜欢用它,是因为它不用安装。小,省时、省事。

MicroBlocksvm源码如果在Arduino IDE编译,绝非易事——因为它不像VS Code&PIO那样有个厉害的配置文件。

1230日,MicroBlocks例行的小组分享会,CWB分享了VS Code下的引入DS18b20和固件发布。对于一批不使用VS Code而仅使用Arduino IDE的小伙伴来说,我猜肯定仍然不那么直接。以下的记录,则是近一段时间以来我在Arduino IDE下编译设置vm的开关量、导出bin固件和合并的摸索的经历。这里的bin固件,也增补了DS18b20温度传感器(但我封装的不如CWB的好),同时增加了INA219电流传感器和几个常用的数学函数,都不大成熟。

代替PIOenv配置文件的,是编译时在“工具”下的一堆设置:

然后在需要的BLE_PRIMStrue一下,以保证这一部分代码被编译进去。

再然后:如果是自己直接就用了,那么在Arduino IDE下直接烧录到板子上就行了。这个时候,要注意保留着编译时的log信息:

一会导出固件时,需要的信息是writing at 0x00001000…等等,这一片信息告诉我们烧录时的起始地址、分片固件文件的大小和烧入后占用了多少ESP32Flash。用小本本记下来。

接着全盘去搜索vm.esp32.bin,会在Arduino编译文件时的临时目录里找到一堆类似名称的文件,也包括一会要用到的分区文件和固件文件。把它们复制出来,备用。

为了避免复制错了,可以核对一下上面的Arduino IDElog信息,核对一下编译时的时间等,高度细心。如果弄错了,一般来说是不能正常被MicroBlocks自动连接的。

之后再到vm下的esp32里把boot_app0.binbootloader_dio_40m.bin复制出来(实际这两个文件在Arduino安装ESP32驱动库的时候,就已经安装了,可是那找起来也不是很简单的),再调出乐鑫官方提供的烧录工具,分别按Arduino IDE烧录时log给出的地址填写:

Erase一下,等完成;再Start,等着进度条走到头,完成。如果想传给他人使用时,那就CombineBin合并了,此时烧录的地址从0起,也就是上面的0x00,一次烧录完毕。

总之,MicroBlocks太优美了,主要是…………好玩~~~

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多