如果你是第一次接触FreeRTOS和ESPRESSIF的产品,例如我,那还是要先来个整体印象,然后再逐个深化。做项目的都知道,老板们是不允许我们四平八稳的研究完然后再开始项目。

    那也不妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速的准备一些预备知识,磨刀不误砍柴功,仓促上阵,只会欲速则不达。

    一、了解ESP32芯片

    ESP32的基本参数如下: esp32开发板 Unicode 转 gbk esp32开发资料_物联

    

esp32开发板 Unicode 转 gbk esp32开发资料_ESP32_02

    更深入一点的,我们可以看看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 all – 编译所有代码.

    • 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,找一个 喜欢的例子,并且尝试编译和烧写了。