完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个要求,我需要使用使用 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 文件。并且仅使用草图精灵文件按照 NONOS SDK 流程创建 bin 文件。 我的素描精灵 文件名: hello.ino.elf 步骤1:运行objcopy命令,按照制作文件规则生成以下文件 xtensa-lx106-elf-objcopy.exe --only-section .text -O 二进制 hello.ino.elf eagle.app.v6.text.bin xtensa-lx106-elf-objcopy.exe --only-section .data -O 二进制 hello.ino.elf eagle.app.v6.data.bin xtensa-lx106-elf-objcopy.exe --only-section .rodata -O 二进制 hello.ino.elf eagle.app.v6.rodata.bin xtensa-lx106-elf-objcopy.exe --only-section .irom0.text -O 二进制 hello.ino.elf eagle.app.v6.irom0text.bin Step2:运行gen_appbin.py创建二进制文件eagle.app.flash.bin 工具gen_appbin.py hello.ino.elf 1 2 0 4 1 Step3: 使用 ESP 下载工具在 ESP12 F 上刷新以下二进制文件 boot_v1.6.bin: 0x00000; eagle.app.flash.bin: 0x01000; esp_init_data_default.bin:0x3FC000; blank.bin: 0x3FE000; 运行看板。但它不起作用(除了一些垃圾外,控制台上没有输出)。由于草图只不过是一个 C 代码,我相信它应该起作用。你能指导我吗? |
|
相关推荐
1个回答
|
|
要使用Arduino IDE构建的ELF映像,您需要按照以下步骤操作:
1. 首先,确保您已经安装了Arduino IDE,并为您的项目选择了正确的板和端口。 2. 将您的代码(例如hello.ino)上传到Arduino IDE中。 3. 点击“上传”按钮,Arduino IDE将编译并上传您的代码到设备。 4. 编译完成后,您将在Arduino IDE的“文件”菜单中找到生成的ELF文件。在这种情况下,文件名为“hello.ino.elf”。 5. 接下来,您需要使用elf2bin.py脚本来将ELF文件转换为二进制文件。从GitHub上下载elf2bin.py脚本:https://github.com/esp8266/Arduino/blob/master/tools/elf2bin.py 6. 打开命令行工具(例如CMD、Terminal或Shell),并导航到包含elf2bin.py脚本的文件夹。 7. 使用以下命令将ELF文件转换为二进制文件: ``` python elf2bin.py -o output.bin /path/to/your/hello.ino.elf ``` 将“/path/to/your/hello.ino.elf”替换为您的ELF文件的实际路径。这将生成一个名为“output.bin”的二进制文件。 8. 现在,您需要使用NonOS SDK中的boot_v1.6.bin引导加载程序。首先,从ESP8266 NonOS SDK中下载boot_v1.6.bin文件:https://github.com/espressif/ESP8266_NONOS_SDK/blob/master/bin/esp_init_data_default.bin 9. 使用以下命令将boot_v1.6.bin和output.bin文件合并为一个可刷新的二进制文件: ``` cat boot_v1.6.bin output.bin > final.bin ``` 这将创建一个名为“final.bin”的文件,其中包含引导加载程序和您的草图精灵代码。 10. 最后,您可以使用适当的工具(例如NodeMCU Flasher、esptool.py等)将生成的“final.bin”文件刷新到您的ESP8266设备上。 通过以上步骤,您应该能够使用Arduino IDE构建的ELF映像,并将其与NonOS SDK引导加载程序结合使用。 |
|
|
|
只有小组成员才能发言,加入小组>>
733 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
445浏览 5评论
446浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 20:07 , Processed in 0.562324 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号