首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编程后无法获得GPIO0高射频设置ESP-12-Q

编程后无法获得GPIO0高射频设置ESP-12-Q
EN

Stack Overflow用户
提问于 2016-05-31 10:37:55
回答 1查看 491关注 0票数 0

我试图闪现AI-Thinker ESP-12-Q模块与自定义编译的nodemcu图像.当芯片第一次启动时,它会显示一条消息,显示它有8mbit (1MB)闪存。在每个文档上,也有图像显示,该模块具有32 32mbit (4MB)闪存。以下是我所做的工作和结果:

  • 为了消除电源问题,我用10安培实验室电源(当然是3.3伏特)为模块供电。
  • 在esp和计算机之间有一个3.3v的ftdi模块。
  • 我正在使用官方的flash下载工具v2.4从Espressif。
  • 正如人们所说的,无处不在,nodemcu图像到0x00000

编程后,nodemcu图像esp模块运行nodemcu。我需要使用ADC通道。当我说adc.read(0)时,它给了我65535。然后,正如上面所说的,我需要更改配置的107字节。要做到这一点:

  • 打开esp闪存下载工具2.4
  • Goto RF InitConfig页面
  • 按默认值按钮
  • 将CrystalFreq更改为26 chip (因为芯片引导有74880波特)
  • 将TOUT Pin Conf改为TOUT_ADC_EN,电压改为3.3v
  • 什么也不改变
  • 按GenInitBin
  • Goto FlashDownload页面
  • 选择esp_init_data_setting.bin文件到闪存地址: 0x3FC00
  • 按一下开始。一切看起来都很好。

然后,恐怖开始了:当芯片启动时,我可以设法捕捉到像system parameter error这样的消息,然后芯片就不会引导到nodemcu映像中。当我检查引脚GPIO0时,电压约为1.9v。在这个引脚上有一个10K的外部拉拔电阻。由于电压是这样的,(尤指不能引导到nodemcu映像)。当我强迫这个引脚到3.3v短路拉电阻,它启动到nodemcu,但与一些错误(我将设法抓住他们)。

所以问题是我做错了什么?

编辑#1:

这是芯片的输出:

代码语言:javascript
运行
复制
 ets Jan  8 2013,rst cause:2, boot mode:(3,0)

load 0x40100000, len 30288, room 16
tail 0
chksum 0xa5
load 0x3ffe8000, len 2268, room 8
tail 4
chksum 0x3f
load 0x3ffe88dc, len 8, room 4
tail 4
chksum 0xca
csum 0xca
system param error
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff .... goes on for 100 meters.

编辑2:

我尝试将“工厂默认值”加载到芯片,因为它是在SDKv1.5中定义的。

代码语言:javascript
运行
复制
Flash size 32Mbit-C1:       1024KB+1024KB
boot_v1.2+.bin              0x00000
user1.2048.new.5.bin        0x01000
esp_init_data_default.bin   0x3fc000 (optional)
blank.bin                   0xfe000 & 0x3fe000

然后芯片开始正常工作。我尝试了一些AT指令,得到了预期的答案……然后我加载了nodemcu图像。它也如预期的那样运作良好。然后是棘手的部分:这次我从SDK1.5中获取了esp_init_data_default.bin,并通过十六进制编辑器将107字节更改为0x21 (33 DEC)。然后将esp_init_data_default.binblank.bin文件闪烁到芯片上。重新启动并检查adc读取的内容。不过,我得到了一些合理的结果。看来芯片正常了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 19:13:47

这不可能是一个明确的答案,因为其中涉及硬件,但它仍然可能是有帮助的(这是太长的评论)。

因此,首先要使用允许显式设置闪存大小的闪光灯。我不知道Espressif工具,但是NodeMCU社区中的许多人都是相当对esptool.py很满意的。

代码语言:javascript
运行
复制
esptool.py --port <USB-port-with-ESP8266> write_flash -fm dio -fs 32m 0x00000 <nodemcu-firmware>.bin

不要试图修补固件,直到您确认这是有效的(即引导w/o错误),闪存大小和堆大小看起来还可以。

接下来,如果您使用来自NodeMCU分支的最近的dev固件,您可以跳过字节-107-舞蹈,因为你可以把它设置在Lua

代码语言:javascript
运行
复制
adc.force_init_mode(adc.INIT_ADC)
-- now reboot
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37543365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档