代码之家  ›  专栏  ›  技术社区  ›  morcillo

无法修改espressif提供的ESP8266示例

  •  11
  • morcillo  · 技术社区  · 8 年前

    我已经完成了所有的步骤,我可以在eclipse环境中编译并刷新该板。我没有按下任何按钮来加载闪光灯,因为主板可以自己处理(至少我是这么读的)。根据 this 显然我有一个nodemcu 0.9,但我的电路板看起来与图片中的不太一样(微带天线看起来很奇怪……电路板背面写着www.doit.am ESP12E devkit V2……我的天线看起来甚至不像电路板后面列出的站点上的天线)。

    我忽略了一切,继续前进。我在espressif上编译了一个眼花缭乱的示例,并将其刷新。我看到它创造了鹰。闪光。bin和eagle.irom0text。bin并分别将其加载到0x00000和0x10000中(根据我阅读的文档,这是可以的)。当我重置电路板时,我可以看到它真的闪烁了,而且它里面有一个程序,因为led正在闪烁。然后我尝试了hello_world示例。一切都相应地进行了,在我重置电路板后,我看到led以相同的频率持续闪烁,当我通过终端连接到电路板时。espressif提供的exe我只能在输出中看到垃圾,即使根据代码波特率是正确的(即使如此,我在terminal.exe中尝试了所有可能的不同波特率)。

    因此,这导致我测试我可以编译的每个示例。我注意到有些人没有眨眼,有些人眨眼,就像什么都没发生一样。之后,我下载了nodemcu固件,加载后我注意到它工作正常,甚至可以在可用的wifi网络中看到ESP。

    我真的不明白发生了什么。为什么有些示例有效,而其他示例无效?为什么我不能修改一个简单的blinky的源代码并查看更改?我真的喜欢这样使用esp模块,因为我不喜欢arduino接口或它使用静态设置和循环函数的方式,我不想用LUA编程。

    我甚至检查了espressif提供的makefile,我看到的唯一区别是BOOT和APP变量。我甚至试着修改它们,但还是……没有改变。

    有人能帮我吗?

    1 回复  |  直到 8 年前
        1
  •  8
  •   morcillo    8 年前

    好的,终于找到我的问题了。问题是espressf SDK需要在闪存的某些地址上使用一些软件位。最初发生的事情是,我一拿到板就擦除了闪存,假设所有这些二进制文件都已经存储在闪存中。

    我做的下一件事是,我试着把所有其他二进制文件放进去,但我把它们放错了地址,所以软件无法工作。

    最后,在阅读了许多小时的论坛和文档之后,我找到了正确的地址,并成功了。

    地址为:

    0x00000  - boot_v1.6.bin
    
    0x01000  - firmware application (I set the makefile to BOOT=new, APP=1, SIZE_MAP=6)
    
    0x3fc000 - esp_init_data_default.bin
    
    0xfe000  - blank.bin 
    
    0x3fe000 - blank.bin