查看: 4956|回复: 0

[原创] 5.ESP32-DevkitC教程之HelloWorld编译(2)

[复制链接]
  • TA的每日心情
    开心
    2019-12-26 22:21
  • 签到天数: 310 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2018-1-19 12:26:44 | 显示全部楼层 |阅读模式
    分享到:
    在对menuconfig设置之前,先来说一下menuconfig。如果不想了解的话请跳转到最下面的教程。
    menuconfig命令全写应该是make menuconfig,它是Linux进入图形化配置的方式,它采用了Kconfig语法,配置之后会在目录下生成一个sdkconfig的文件,里面保存的就是你配置的内容。
    进入menuconfig有两种方法:
    (1)如上一节教程中,在Eclipse中对Menuconfig进行Build
    (2)可以打开\cygwin\cygwin.bat,运行Cygwin,然后cd跳转到你工作项目的根目录,然后输入
    1. make menuconfig
    复制代码
    即进入了图形化界面配置。

    接着上一节教程,可以看见在helloworld中配置有如下7个选项,分别是:
    1. SDK tool configuration   工具链选项
    2. Bootloader config   配置BootLoader日志打印级别
    3. Security features   配置安全特性
    4. Serial flasher config   配置串口端口、速率、Flash下载模式等等
    5. Partition Table   配置分区表,设置单应用还是支持OTA多应用
    6. Optimization level (Debug)   配置编译选项,到底处于Debug还是Release状态
    7. Component config   组件配置
    复制代码
    在menuconfig中操作为:键盘上下键移动,Enter键进入,按两下ESC键返回,键盘左右键选择操作。

    SDK tool configuration 中的选项
    2-1.png
    Compiler toolchain path/prefixxtensa-esp32-elf-该配置项一般无需配置,除非自己编译交叉编译链时,且使用了跟 xtensa-esp32-elf- 不同的名字。
    Python 2 interpreterpythonpython 2 解释器的名称,一般默认都是python。

    Bootloader config 中的选项
    2-2.png
    Bootloader log verbosityWarning这里可以配置BootLoader的日志打印级别,级别越高,打印出的日志信息量越多,可以根据自己的需要选择合适的级别。
    级别排序为:No output < Error < Warning < Info < Debug < Verbose 。

    Security features 中的选项
    2-3.png
    Enable secure boot in bootloader不选每次reset之后都要校验是不是特定程序
    Enable flash encryption on boot不选加密外置的SPI Flash

    Serial flasher config 中的选项
    2-5.png
    Default serial port/dev/ttyUSB0windows 下的 COM1 对应 cygwin 下的/dev/ttyS0 ,COM2 对应 ttyS1,以此类推。
    Default baud rate
    921600您可以选择 230400/921600/2M/Other baud rate ,如果您选择了 Other baud rate,则需要在下面手动输入您认为可用的下载速率,ESP32 目前最大的下载速率为 1152000.
    Use compressed upload是否选择压缩上传,可以提升固件下载时的速度。
    Flash SPI modeDIOSPI运行模式,推荐DIO方式
    Flash SPI speed40MHZSPI 速率,需要根据自己的 Flash 型号进行配置,部分型号的Flash不支持过高的速率。

    Partition Table 中的选项
    2-12.png

    Partition TableSingle factory app, no OTA
    Single factory app, no OTA
    Factory app, two OTA definitions
    Custom partition table CSV
    默认分区文件地址为:components/partition_table
    一般使用Single factory app, no OTA 。
    自定义分区可以参考下面的示例

    Optimization level (Debug) 中的选项
    2-13.png
    Debug调试模式
    Release版本发布模式


    Component config 中的选项
    2-14.png
    CPU frequency (240 MHz)
    可选择 80/160/240MHZ,CPU 频率越大,运行速率越高,但越容易发生不稳定现象。
    Select stack to enable (WiFi or BT)
    可选择开启 WiFi 或 BT 功能,当前 ESP32 的 WiFi 和 BT 尚不能共存,仅可保留一项。
    Reserve memory for two cores
    Use TRAX tracing feature
    是否使用ESP32的追踪特性,会占用16K的内存(每个核),建议关闭
    Use external SPI SRAM chip as main memory
    是否使用外部 SPI SRAM 作为主内存?
    System event queue size
    系统事件的队列大小,默认为 32
    Event loop task stack size
    系统事件任务的堆栈大小,默认为 2048
    Main task stack size
    主任务的堆栈大小,默认为 4096
    Standard-out output adds carriage return before newline标准输出数据时添加一个回车符(在输出 LF 前添加 CR)
    Enable Ultra Low Power (ULP) Coprocessor
    启用超低功耗协处理器


    ============================================================================
    这里将接着上一节的教程。

    由于它默认的是采用USB来下载程序,而我们的ESP32-DevkitC开发板并不支持USB直接下载程序,我们需要将下载端口改成电脑的COM口来进行Uart程序下载。

    1.在menuconfig界面中用键盘下键移动到Serial flasher config,按enter键进入

    2.如图选中第一个,然后按enter键对其进行配置
    2-5.png

    3.填入电脑连接ESP32-DevkitC开发板的串口COM号码。在我的Windows系统里COM口为5,一般在里面COM数减一,我的电脑在这里填入/dev/ttyS4。高亮OK,按下Enter键。如果不清楚请看3.2部分
    2-11.png

    3.2确定端口
    3.2.1不清楚COM口的请运行<解压缩目录>\cygwin\cygwin.bat
    2-6.png

    3.2.2弹出如下图窗口
    2-7.png

    3.2.3插上ESP32-DevkitC开发板,输入/dev得下图中内容,找到含有ttySx字样的文字(x为数字),这个就是你的COM端口号了。完成之后返回第3步设置。
    2-10.png

    4.按两下ESC键以返回,按键盘右键以高亮SAVE,然后按Enter键保存。
    2-16.png

    5.出现如下图界面之后,再按多一下Enter按键以确定保存位置。
    2-17.png

    这样我们就已经完成了配置好串口号码,以让程序正确下载到开发板上。下一节继续编译HelloWorld。




    这节内容部分参考了安信可相关的资料
    http://wiki.ai-thinker.com/esp32/docs/esp32_idf_menuconfig
    2-4.png
    2-8.png
    2-9.png
    2-15.png
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 00:51 , Processed in 0.147380 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.