资源简介

Arduino软件开发板管理器中ESP8266开发板,省的下载。使用方法参考https://blog.csdn.net/uaime/article/details/107798897

资源截图

代码片段和文件信息

/* Copyright (c) 2015-2016 Ivan Grokhotkov. All rights reserved.
 * This file is part of eboot bootloader.
 *
 * Redistribution and use is permitted according to the conditions of the
 * 3-clause BSD license to be found in the LICENSE file.
 */


#include 
#include 
#include 
#include 
#include “flash.h“
#include “eboot_command.h“
#include 

extern unsigned char _gzip_dict;

#define SWRST do { (*((volatile uint32_t*) 0x60000700)) |= 0x80000000; } while(0);

extern void ets_wdt_enable(void);
extern void ets_wdt_disable(void);

int print_version(const uint32_t flash_addr)
{
    uint32_t ver;
    if (SPIRead(flash_addr + APP_START_OFFSET + sizeof(image_header_t) + sizeof(section_header_t) &ver sizeof(ver))) {
        return 1;
    }
    char fmt[7];
    fmt[0] = ‘v‘;
    fmt[1] = ‘%‘;
    fmt[2] = ‘0‘;
    fmt[3] = ‘8‘;
    fmt[4] = ‘x‘;
    fmt[5] = ‘\n‘;
    fmt[6] = 0;
    ets_printf((const char*) fmt ver);
    return 0;
}

int load_app_from_flash_raw(const uint32_t flash_addr)
{
    image_header_t image_header;
    uint32_t pos = flash_addr + APP_START_OFFSET;

    if (SPIRead(pos &image_header sizeof(image_header))) {
        return 1;
    }
    pos += sizeof(image_header);


    for (uint32_t section_index = 0;
        section_index < image_header.num_segments;
        ++section_index)
    {
        section_header_t section_header = {0};
        if (SPIRead(pos §ion_header sizeof(section_header))) {
            return 2;
        }
        pos += sizeof(section_header);

        const uint32_t address = section_header.address;

        bool load = false;

        if (address < 0x40000000) {
            load = true;
        }

        if (address >= 0x40100000 && address < 0x40108000) {
            load = true;
        }

        if (address >= 0x60000000) {
            load = true;
        }

        if (!load) {
            pos += section_header.size;
            continue;
        }

        if (SPIRead(pos (void*)address section_header.size))
            return 3;

        pos += section_header.size;
    }

    asm volatile(““ ::: “memory“);
    asm volatile (“mov.n a1 %0\n“
        “mov.n a3 %1\n“
        “jx a3\n“ : : “r“ (0x3ffffff0) “r“ (image_header.entry) );

    __builtin_unreachable(); // Save a few bytes by letting GCC know no need to pop regs/return
    return 0;
}

uint8_t read_flash_byte(const uint32_t addr)
{
    uint8_t __attribute__((aligned(4))) buff[4];
    SPIRead(addr & ~3 buff 4);
    return buff[addr & 3];
}
unsigned char __attribute__((aligned(4))) uzlib_flash_read_cb_buff[4096];
uint32_t uzlib_flash_read_cb_addr;
int uzlib_flash_read_cb(struct uzlib_uncomp *m)
{
    m->source = uzlib_flash_read_cb_buff;
    m->source_limit = uzlib_flash_read_cb_buff + sizeof(uzlib_flash_read_cb_buff);
    SPIRead(uzlib_flash_read_cb_addr uzlib_flash_read_cb_buff sizeof(uzlib_flash_read_cb_buff));
    uzlib_flash_read_cb_addr += sizeof(uzlib_flash_read_cb_buff);
    re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-08-02 18:22  esp8266-2.7.4\
     目录           0  2020-08-02 18:13  esp8266-2.7.4\tests\
     文件         357  2020-05-08 21:12  esp8266-2.7.4\tests\build.sh
     目录           0  2020-08-02 18:13  esp8266-2.7.4\tests\ci\
     文件         116  2019-10-01 20:19  esp8266-2.7.4\tests\ci\build_docs.sh
     文件         123  2019-10-01 20:19  esp8266-2.7.4\tests\ci\host_test.sh
     文件         395  2019-10-01 20:19  esp8266-2.7.4\tests\ci\build_boards.sh
     文件         425  2019-10-01 20:19  esp8266-2.7.4\tests\ci\build_package.sh
     文件         504  2020-08-02 18:13  esp8266-2.7.4\tests\ci\install_astyle.sh
     文件         361  2020-07-30 23:54  esp8266-2.7.4\tests\ci\style_check.sh
     文件         301  2020-08-02 18:13  esp8266-2.7.4\tests\debug.sh
     目录           0  2020-07-30 23:47  esp8266-2.7.4\tests\device\
     文件         131  2019-10-01 20:19  esp8266-2.7.4\tests\device\test_env.cfg.template
     目录           0  2019-05-24 21:44  esp8266-2.7.4\tests\device\libraries\
     目录           0  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\
     文件       10436  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\runner.py
     文件        1808  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\xunitmerge
     目录           0  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\src\
     文件        5272  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\src\BSTest.h
     文件         821  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\src\BSStdio.h
     文件        1629  2019-12-15 22:08  esp8266-2.7.4\tests\device\libraries\BSTest\src\BSArduino.h
     文件        3073  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\src\BSProtocol.h
     文件        4431  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\src\BSArgs.h
     文件         575  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\Makefile
     文件        5877  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\xmerge.py
     文件         202  2019-05-24 21:44  esp8266-2.7.4\tests\device\libraries\BSTest\library.properties
     文件         911  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\mock_decorators.py
     目录           0  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\test\
     文件         363  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\test\test.py
     文件         973  2019-10-01 20:19  esp8266-2.7.4\tests\device\libraries\BSTest\test\test.cpp
     文件          63  2020-07-19 15:29  esp8266-2.7.4\tests\device\libraries\BSTest\requirements.txt
............此处省略3500个文件信息

评论

共有 条评论