是否有适用于Arduino IDE编写的代码测试的esp8266模拟器?

13

有没有一个好的esp8266模拟器软件可以用于自动化测试?能否在这些模拟器上运行在Arduino IDE上编写的代码?


2
在发布问题之前,我已经做了足够的研究。但是我在互联网上没有找到任何明确的答案。我的同事们也没有一个好的答案。 - ambassallo
2个回答

8
我认为你可以使用xtensa-esp8266分支OSLL/qemu-xtensa来模拟esp8266,需要自己编译。
编译后的二进制文件可以通过以下命令调用: qemu-system-xtensa -machine esp8266 -nographic -kernel <your-project>/sketch/app.out -S -s

1
我不确定如何做这件事。如果社区中的某个人可以检查一下,我们可能可以将其标记为任何遇到相同问题的人的答案。 - ambassallo
@ambassallo 我尝试编译了一下,但是出现了错误,所以可能需要有人修复代码,使其能够在更近期的操作系统版本上编译。你可以尝试自己编译,看看它是否能在你的操作系统上运行。祝你好运。 - Nick Bolton
@NickBolton,这就是我没有将其标记为答案的原因。感谢您的尝试。 alfen,如果您能的话,您能否为此提供一些解释。 - ambassallo
1
我可能会fork这个仓库,看看能否构建成功,但这取决于兔子洞有多深。 - Nick Bolton

2
截至2023年1月... RIOT操作系统(一种物联网操作系统)的文档解释了如何编译和使用Xtensa架构的ESP8266版本的QEMU。文档包含编译说明:
cd /my/source/dir
git clone https://github.com/gschorcht/qemu-xtensa
cd qemu-xtensa/
git checkout xtensa-esp8266
export QEMU=/path/to/esp/qemu
./configure --prefix=$QEMU --target-list=xtensa-softmmu --disable-werror
make
make install

实际上,gschorcht/qemu-xtensa 存储库(最后更新于2018年)是原始的 OSLL/qemu-xtensa 项目的分支,因此您可以使用原始存储库:
cd /my/source/dir
git clone https://github.com/OSLL/qemu-xtensa
cd qemu-xtensa/
git checkout xtensa-esp8266
export QEMU=/path/to/esp/qemu
./configure --prefix=$QEMU --target-list=xtensa-softmmu --disable-werror
make
make install

很遗憾,该分支自2019年以来没有更新,因此在最近的操作系统版本上可能无法编译。例如,在尝试在macOS 12.14上编译时,我遇到了一个“error: expected unqualified-id”错误。因此,可能需要有人修复这些编译错误。

如果有人能在Linux上尝试这个,请告诉我们。如果它有效,请告诉我们它运行的操作系统和版本的详细信息。 - ambassallo
2
我成功地在Linux Mint 20.2上构建了gschorcht克隆版,内核版本为5.4.0-137,使用以下配置命令:configure --disable-werror --target-list=xtensa-softmmu --python=python2.7 --prefix=$QEMU - ccrause

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接