我有一个要求,我需要使用使用 Arduino IDE 构建的 elf 图像,但使用 NonOS SDK 中提供的 boot_v1.6.bin。我执行了以下步骤
背景:
1. Arduino 构建 2 个 elf 文件(sketch elf 文件和 eboot elf 文件)然后使用 elf2bin.py(
https://github.com/esp8266/Arduino/blob ... elf2bin.py)来拼接可以在地址 0x0 上闪烁的单个二进制文件。因为我们想使用 SDK 引导加载程序,所以我们跳过了 eboot.elf 文件。并且只使用sketch elf文件按照NONOS SDK流程创建bin文件。My Sketch Elf 文件名:hello.ino.elf第一步:运行objcopy命令按照Make文件规则生成如下文件
代码:
全选xtensa-lx106-elf-objcopy.exe --only-sec
tion .text -O binary hello.ino.elf eagle.app.v6.text.bin
xtensa-lx106-elf-objcopy.exe --only-section .data -O binary hello.ino.elf eagle.app.v6.data.bin
xtensa-lx106-elf-objcopy.exe --only-section .rodata -O binary hello.ino.elf eagle.app.v6.rodata.bin
xtensa-lx106-elf-objcopy.exe --only-section .irom0.text -O binary hello.ino.elf eagle.app.v6.irom0text.bin
Step2: 运行 gen_appbin.py 创建二进制文件 eagle.app.flash.bin
代码:
全选toolsgen_appbin.py hello.ino.elf 1 2 0 4 1
第 3 步:使用 ESP 下载工具在 ESP12 F 上刷入以下二进制文件
代码:
全选boot_v1.6.bin: 0x00000;
eagle.app.flash.bin: 0x01000;
esp_init_data_default.bin: 0x3FC000;
blank.bin: 0x3FE000;
运行董事会。但它没有用(控制台上没有输出,除了一些垃圾)。由于草图只不过是 C++ 代码,我相信它应该有效。你能指导我吗?