如果你是第一次接触FreeRTOS和ESPRESSIF的产品,例如我,那还是要先来个整体印象,然后再逐个深化。做项目的都知道,老板们是不允许我们四平八稳的研究完然后再开始项目。
那也不妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速的准备一些预备知识,磨刀不误砍柴功,仓促上阵,只会欲速则不达。
一、了解ESP32芯片
ESP32的基本参数如下:
更深入一点的,我们可以看看ESP32的规格书:
《esp32_datasheet_cn.pdf》
《esp32_technical_reference_manual_cn.pdf》
这些都可以从乐鑫的网站上下载。
二、初步了解FreeRTOS
ESP32使用FreeRTOS,并且做了基于双核的定制,如果你是第一次接触FreeRTOS,那也是要简单的了解一下FREERTOS。有一篇详细的文档,可以前期快速浏览一部分:
《FreeRTOS_Reference_Manual_V9.0.0.pdf》
三、阅读ESP-IDF文档
了解完FreeRTOS,就要看看esp32提供了那些功能,在真正开始之前,我们需要快速的浏览一下esp32的sdk,具体的网址如下:
https://esp-idf.readthedocs.io/en/latest/index.html,
这份文档是esp32开发最权威、最完整的官方文档,所以要经常的查阅翻看这份官方文档。他的wifi功能
四、安装ESP-IDF环境
接下来就要真刀真枪的实验一番了,不过首先就要安装ESP-IDF的环境,可以看官方文档中的Get Started一章,
https://esp-idf.readthedocs.io/en/latest/get-started/index.html
这里有最新的最全的配置步骤,这些环境配置步骤包括:
1、准备编译的PC(windows/mac/linux接口),准备开发板和USB连接线。
2、配置交叉编译工具链。
3、从github中下载esp-idf。
4、安装和配置编辑开发环境,官网上推荐Eclipse,可以集成GDB调试。这一步是可选的,我自己没有用这种方式。
只要按照文档的步骤,基本上都不会有问题。
五、ESP32的编译
这时候就可以进行最有意思的工作,开发编译应用程序并且试验一下。这大概可以总结为四步:
1、配置项目,编写代码。
我们一把都会从一个例子开始,esp32代码中例子还是很丰富的。
2、编译
3、烧写
4、Monitor和Debug程序的运行。
我们通常使用串口的输出来进行Debug,就是使用最Low的打印来Debug。如果程序Bug不太好确定,也可用JTAG和GDB单步调试,开发板默认是支持JTAG的,通常自己项目的板子不一定支持这个。
其中,编译和烧写有一些比较有用的命令,文档中并没有完全写出来:
•
make menuconfig
– 运行配置菜单,做过kernel开发的会非常熟悉.
•
make defconfig - 为所有的配置项设置默认值
•
make flash
– 把编译后的Bin文件烧写到ESP32中.
•
make clean
– 清除编译产生的文件.
•
make monitor
– 连接ESP32串口,并且输出ESP32的打印信息.
•
make erase_flash
– 擦除ESP32上的整个Flash.
•
make size - 显示Bin文件中各个部分的大小
• make size-components -, size-files - 每个模块所占内存的大小,这个在项目代码膨胀后还是比较有用的。
•
make app
– 编译app.bin
•
make app-flash
– 烧写app.bin
其他的几个也可以顾名思义:
•
make app-clean
–
•
make bootloader
–
•
make bootloader-flash
–
•
make bootloader-clean
–
•
make partition-table
–
六、运行一个例子
好了,到目前为止,你可以进入到esp-idf/examples,找一个 喜欢的例子,并且尝试编译和烧写了。