• esp8266 SOC方案经过半年沉淀之后再度重启二


    2018-08-2014:16:10

    以下是输出控制

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(0), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);  //TXD
          GPIO_OUTPUT_SET(GPIO_ID_PIN(1), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(2), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);  //RXD
          GPIO_OUTPUT_SET(GPIO_ID_PIN(3), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(4), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(5), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(9), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(10), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(12), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(13), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(14), level);

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
          GPIO_OUTPUT_SET(GPIO_ID_PIN(15), level);

          gpio16_output_conf();
          gpio16_output_set(level);

    以下是输入采集

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(0));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);  //TXD
          result = GPIO_INPUT_GET(GPIO_ID_PIN(1));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(2));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);  //RXD
          result = GPIO_INPUT_GET(GPIO_ID_PIN(3));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(4));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(5));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(9));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(10));


          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(12));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(13));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(14));

          PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
          result = GPIO_INPUT_GET(GPIO_ID_PIN(15));

          gpio16_input_conf();
          result = gpio16_input_get();


    2018-07-1719:36:23

    继上一次发博之后,今天5分钟搞定SOC开发。


     重点在于导入方式

    第二种导入方式,针对第三方云平台项目用第一种方法无法导入问题。例如“机智云”生成的项目文件夹。
    步骤1:解压从机智云下载的项目并复制到project文件夹内。双击"OpenWorkSpace"批处理文件,自动打开。简化步骤


    <ignore_js_op> 
    步骤2:将项目手动复制进去。下图选中的就是我刚才复制的项目文件夹。
    <ignore_js_op> 
    步骤3:双击打开该文件夹,直到定位到有“MakeFile”的文件夹处。并复制文件路径,到安信可IDE内用。注意路径上有文件名,不能出现中文。

    <ignore_js_op> 
    步骤4:双击打开AiThinker_IDE。“File”->"Import"。图略了。

    步骤5:双击下图的“Existing Code as Makefile Project
    <ignore_js_op> 
    步骤6:将刚才复制的路径直接粘贴到“Existing Code Location”处,省地点“Browse”按钮一层层找了。下面选"Cygwin GCC"。 点“Finish”。
    <ignore_js_op> 

    导入成功,但还有些地方需要修改,否则编译不成功。我是从机智云论坛上看来的,目前我还没整明白。就是双击打开MakeFile,将下面这段程序参数修改下。

    BOOT?=none
    APP?=0
    SPI_SPEED?=40
    SPI_MODE?=QIO
    SPI_SIZE_MAP?=0
    改成
    BOOT?=new
    APP?=1
    SPI_SPEED?=40
    SPI_MODE?=QIO
    SPI_SIZE_MAP?=6

    boot赋值为new,意思就是可以升级

    APP 赋值为1,就可以生成user1的bin 文件  如果需要OTA云端升级,就要用到user2文件,只要在这里将APP值赋为2就行了。

    SPI_SPEED是下载的速度

    SPI_MODE是下载模式

    SPI_SIZE_MAP是flash的大小这个可以看上面那个文档详细介绍 赋值为0表示使用的flash是512k

    有一处没搞清楚,安信可官方的SPI_SIZE_MAP?=2  机智云论坛上的那位大神是SPI_SIZE_MAP?=4,而下面有位版主说要改成SPI_SIZE_MAP?=6  反正都能编译成功。

  • 相关阅读:
    判断ip是内网还是外网, 判断请求来之pc还是mobile
    CentOS6.5(Kernel2.6) Compile PHP5.6
    java设计模式笔记
    Java定时quartz(spring)
    Transforming beans, maps, collections, java arrays and XML to JSON
    java socket通讯交互
    第一个WebService CXF的搭建
    java技术成长之路
    struts2中文乱码
    sql server分页(摘)
  • 原文地址:https://www.cnblogs.com/pengwenzheng/p/9325495.html
Copyright © 2020-2023  润新知