文章
博客 网店

 ESP8266 IDF开发2-项目配置


项目配置


项目的编译是用make来管理的,但如果在make里设置一些配置就看起来比较麻烦了,于是乐鑫提供了一套python程序,使用这个配置程序包前我们首先需要安装python包

python -m pip install --user -r $IDF_PATH/requirements.txt


要确认一下SDK主目录下有一个requirements.txt文件,才能保证命令正确执行


接下来我们可以把sdk内的任意一个示例程序复制到你喜欢的位置,作为你的应用开发的基础。然后在该目录下执行 make menuconfig 命令进入配置界面



了解硬件环境


作为一个新手配置项目时首先为了解自己的硬件配置,比如程序存储器多大?CPU运行时钟多少?其实这些在配置和硬件相关,在这个配置界面内设置前需要从你的硬件确认具体参数。要找到你的模块规格书,确认spi flash芯片是多大容量的,如果是16Mbit 的那就需要在配置内选择2M字节,如果是32Mbit那么就需要配置 成4M字节,模块原理图中晶振选择的频率是多少,如果是26M,那就需要在配置中设置好26M,即使都是默认,但还是核实一下更好一些。同时还可以在cpu时钟选项中选择160M还是80M,此项选择就是cpu运行的时钟速度。



设置flash存取spi模式时需要核实一下你的flash芯片和与ESP8266之间的连接图,他这里有四个选项,QIO(四线读写模式),QOUT(四线读模式) ,DIO(双线读写模式) DOUT(双线读模式) .怎么选呢,当然是硬件支持的情况下越快越好。先看看芯片W25Q32它是支持所有四个模式的。



再看看模块原理图,flash芯片6条线都连接了.



显然,可以选择QIO.

项目配置原理


配置好之后一路exit 退出时保存即可在项目目录下生成一个文件sdkconfig ,这个是编译时是必不可少的,尽管这个文件是个文本文件,我们可以在编辑器内自己配置,但有个这样的类似cmos的配置界面毕竟还是方便了许多。
这个程序包可以配置固定的IDF所需要的符号外,还可以增加项目自定义的符号,这个需要在项目目录下编写一个Kconfig.projbuild文件,格式可以参考SDK内的示例照猫画虎,以下是SDK内的一个示例:


menu "Example Configuration"

choice WIFI_MODE
    prompt "WiFi mode"
    default STATION_MODE
    help
        WiFi mode(station or softap).
    
config STATION_MODE
    bool "Station"
config SOFTAP_MODE
    bool "Softap"
endchoice
      
config ESPNOW_PMK
    string "ESPNOW primary master key"
    default "pmk1234567890123"
    help
        ESPNOW primary master for the example to use. The length of ESPNOW primary master must be 16 bytes.

config ESPNOW_LMK
    string "ESPNOW local master key"
    default "lmk1234567890123"
    help
        ESPNOW local master for the example to use. The length of ESPNOW local master must be 16 bytes.
        
config ESPNOW_CHANNEL
    int "Channel"
    default 1
    range 1 13
    help
        The channel on which sending and receiving ESPNOW data.

config ESPNOW_SEND_COUNT
    int "Send count"
    default 100
    range 1 65535
    help
        Total count of unicast ESPNOW data to be sent.
        
config ESPNOW_SEND_DELAY
    int "Send delay"
    default 1000
    range 0 65535
    help
        Delay between sending two ESPNOW data, unit: ms.
        
config ESPNOW_SEND_LEN
    int "Send len"
    range 10 250
    default 200
    help
        Length of ESPNOW data to be sent, unit: byte.

endmenu



此配置在菜单界面中显示如下:




芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved