我的设置包括使用eclipse的Espressif SDK和nodemcu,我想用C编程。
我已经完成了所有步骤,我可以从eclipse环境中编译和刷新电路板。我不按任何按钮来加载闪光灯,因为电路板可以自己处理(至少这是我读到的)。根据{{3}}显然我有一个nodemcu 0.9,但我看到的电路板看起来并不像图片中那样(微带天线看起来很奇怪......而且在电路板背面它说www.doit .am ESP12E devkit V2 ...我的天线甚至看起来不像板子后面的网站上的那个。)
我看着一切都继续前进。我在espressif上编写了一个眨眼的例子并将其闪现。我看到它创建了eagle.flash.bin和eagle.irom0text.bin并分别将它们加载到0x00000和0x10000(根据文档我已经读过这个没问题)。当我重置电路板时,我可以看到它确实闪烁,并且由于LED闪烁,因此其中有一个程序。然后我尝试了hello_world示例。一切都相应的,我重置电路板后,我看到led继续以相同的频率闪烁,当我通过espressif提供的terminal.exe连接到电路板时,我只能在输出中看到垃圾,即使波特是根据代码更正(即便如此,我在terminal.exe中尝试了所有不同的bauds)。
好的......然后我又回到了眨眼的例子,增加了眨眼之间的延迟。闪烁它,频率保持不变。我知道它创建了新的.bin文件,但仍然没有改变。这促使我创建了一个新项目。我是按照米哈伊尔·格里戈列夫提供的指示做到的。我只是放了一个无限循环,期望什么都没有,但是在刷新新编译的固件之后,我仍然可以看到LED以相同的频率闪烁,即使代码中没有任何东西,我甚至擦过了闪存(是的,我确认闪光灯是空的。)
所以这导致我测试我可以编译的每个例子。我注意到有些人没有眨眼导致其他人这样做,就像什么都没发生一样。之后我下载了nodemcu固件,加载后我注意到它工作正常,我甚至可以在可用的wifi网络中看到ESP。
我真的不明白发生了什么。为什么有些例子有用而其他例子没有?为什么我不能修改一个简单的blinky的源代码并看到更改?我更喜欢以这种方式使用esp模块,因为我不喜欢arduino接口或者它使用静态设置和循环函数的方式,我不想在LUA中编程。
我甚至检查了espressif提供的makefile,我唯一能看到的是BOOT和APP变量。我甚至尝试修改它们,但仍然没有变化。
有人能帮助我吗?
答案 0 :(得分:8)
好的,终于找到了我的问题。问题是espressif 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