ESP8266学习笔记-----乐鑫官方NONOS SDK 3.0 踩坑记

最近一直在折腾ESP8266官方SDK,踩了很多坑,根本原因还是没有好好看懂手册,官方手册其实写的很明白,只是自己没有好好看明白。在这里只是记录一下经验防止重复踩坑,本人小白一枚,还请大神勿喷。

ESP8266没有软件管理工程,官方并没有给出一个空白的工程,而是给了一些演示,所以这两天我一直在捣鼓,删演示里面的代码,然后整出一个空白工程。手册里面了解到没有主函数,只有一个名为user_init()的入口函数,还要加一个user_pre_init()这里我并没有看明白便动手开删,只留下这么两个空白的函数。

ESP8266学习笔记-----乐鑫官方NONOS SDK 3.0 踩坑记_第1张图片

之后到Linux的下编译,回到窗口烧录,发现板子的灯一直在闪烁,打开串口助手发现一直在打印一段重复的东西。

ESP8266学习笔记-----乐鑫官方NONOS SDK 3.0 踩坑记_第2张图片

很不解以为是没有代码的原因,然后开始看API手册,打算用一个引脚点灯。写代码,编译,烧录......居然跟上次的结果一样,然后开始各种逛帖子,论坛,依旧没有找到答案。然后看到一位前辈写的演示,下载下来编译烧录,结果没问题,然后就开始各种不解,开始了各种漫无目的的重试...... ..

就是这样,两天过去了..问题依旧(心里想着MMP,什么鬼东西),当时砸电脑的冲动都有了。后来冷静决定放弃此板。吃晚饭时心有不甘还是打开了手册乱翻,看到了入口函数那里,发现自己忽略了很重要的一句话。

所以,我一直将3.0的SDK当2.1+的使用,昏天黑地的搞了两天....

原来每个各个版本的基本函数并不一样,3.0的SDK不光需要一个user_pre_init()函数,还需要在这个函数里面注册自己的分区。官方代码里面注册用了一个system_partition_table_regist()接口,查阅手册得知这个函数必须在user_pre_init()里调用。

ESP8266学习笔记-----乐鑫官方NONOS SDK 3.0 踩坑记_第3张图片

到这里问题结束,保留注册相关的代码,其余全部删除,编译运行,灯不再闪烁,串口也正常了。在入口函数里面加入一条os_printf(),串口成功看到期盼已久的hello world! 。

ESP8266学习笔记-----乐鑫官方NONOS SDK 3.0 踩坑记_第4张图片

 

你可能感兴趣的:(ESP8266)