mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-18 12:24:04 +03:00
cleanup/unify flash sector size define value (#5327)
* cleanup/unify sector size define value * replicate spi_flash_sec_size.h file for host tests * further flash geometry cleanup, remove host test duplicate file
This commit is contained in:
parent
cf21dfda64
commit
3d70f43277
@ -17,11 +17,13 @@ AR := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-ar
|
||||
LD := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-gcc
|
||||
OBJDUMP := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-objdump
|
||||
|
||||
|
||||
INC += -I../../tools/sdk/include
|
||||
CFLAGS += -std=gnu99
|
||||
|
||||
CFLAGS += -O0 -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mno-text-section-literals
|
||||
|
||||
CFLAGS += $(INC)
|
||||
|
||||
LDFLAGS += -nostdlib -Wl,--no-check-sections -umain
|
||||
|
||||
LD_SCRIPT := -Teboot.ld
|
||||
|
Binary file not shown.
@ -8,15 +8,19 @@
|
||||
#ifndef FLASH_H
|
||||
#define FLASH_H
|
||||
|
||||
|
||||
/* The geometry defines are placed in the sdk. The .h was factored out for reuse by eboot here.
|
||||
* Beware: this means that eboot has an external dependency.
|
||||
* The following .h is placed in tools/sdk/includes
|
||||
*/
|
||||
#include <spi_flash_geometry.h>
|
||||
|
||||
int SPIEraseBlock(uint32_t block);
|
||||
int SPIEraseSector(uint32_t sector);
|
||||
int SPIRead(uint32_t addr, void *dest, size_t size);
|
||||
int SPIWrite(uint32_t addr, void *src, size_t size);
|
||||
int SPIEraseAreaEx(const uint32_t start, const uint32_t size);
|
||||
|
||||
#define FLASH_SECTOR_SIZE 0x1000
|
||||
#define FLASH_BLOCK_SIZE 0x10000
|
||||
#define APP_START_OFFSET 0x1000
|
||||
|
||||
typedef struct {
|
||||
unsigned char magic;
|
||||
@ -25,7 +29,7 @@ typedef struct {
|
||||
/* SPI Flash Interface (0 = QIO, 1 = QOUT, 2 = DIO, 0x3 = DOUT) */
|
||||
unsigned char flash_mode;
|
||||
|
||||
/* High four bits: 0 = 512K, 1 = 256K, 2 = 1M, 3 = 2M, 4 = 4M,
|
||||
/* High four bits: 0 = 512K, 1 = 256K, 2 = 1M, 3 = 2M, 4 = 4M, 8 = 8M, 9 = 16M
|
||||
Low four bits: 0 = 40MHz, 1= 26MHz, 2 = 20MHz, 0xf = 80MHz */
|
||||
unsigned char flash_size_freq;
|
||||
|
||||
|
@ -21,39 +21,17 @@
|
||||
#ifndef FLASH_UTILS_H
|
||||
#define FLASH_UTILS_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int SPIEraseBlock(uint32_t block);
|
||||
int SPIEraseSector(uint32_t sector);
|
||||
int SPIRead(uint32_t addr, void *dest, size_t size);
|
||||
int SPIWrite(uint32_t addr, void *src, size_t size);
|
||||
int SPIEraseAreaEx(const uint32_t start, const uint32_t size);
|
||||
/* Definitions are placed in eboot. Include them here rather than duplicate them.
|
||||
* Also, prefer to have eboot standalone as much as possible and have the core depend on it
|
||||
* rather than have eboot depend on the core.
|
||||
*/
|
||||
#include <../../bootloaders/eboot/flash.h>
|
||||
|
||||
#define FLASH_SECTOR_SIZE 0x1000
|
||||
#define FLASH_BLOCK_SIZE 0x10000
|
||||
#define APP_START_OFFSET 0x1000
|
||||
|
||||
typedef struct {
|
||||
unsigned char magic;
|
||||
unsigned char num_segments;
|
||||
|
||||
/* SPI Flash Interface (0 = QIO, 1 = QOUT, 2 = DIO, 0x3 = DOUT) */
|
||||
unsigned char flash_mode;
|
||||
|
||||
/* High four bits: 0 = 512K, 1 = 256K, 2 = 1M, 3 = 2M, 4 = 4M, 8 = 8M, 9 = 16M
|
||||
Low four bits: 0 = 40MHz, 1= 26MHz, 2 = 20MHz, 0xf = 80MHz */
|
||||
unsigned char flash_size_freq;
|
||||
|
||||
uint32_t entry;
|
||||
} image_header_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t address;
|
||||
uint32_t size;
|
||||
} section_header_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -25,6 +25,8 @@
|
||||
#ifndef SPI_FLASH_H
|
||||
#define SPI_FLASH_H
|
||||
|
||||
#include <spi_flash_geometry.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@ -44,8 +46,6 @@ typedef struct{
|
||||
uint32 status_mask;
|
||||
} SpiFlashChip;
|
||||
|
||||
#define SPI_FLASH_SEC_SIZE 4096
|
||||
|
||||
extern SpiFlashChip * flashchip; // in ram ROM-BIOS
|
||||
|
||||
uint32 spi_flash_get_id(void);
|
||||
|
15
tools/sdk/include/spi_flash_geometry.h
Normal file
15
tools/sdk/include/spi_flash_geometry.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef SPI_FLASH_GEOMETRY_H
|
||||
#define SPI_FLASH_GEOMETRY_H
|
||||
|
||||
/* The flash geometry is meant to be unified here. This header file should be included wherever needed.
|
||||
* Beware: this file is needed by eboot as well as the Arduino core.
|
||||
*/
|
||||
|
||||
#define FLASH_SECTOR_SIZE 0x1000
|
||||
#define FLASH_BLOCK_SIZE 0x10000
|
||||
#define APP_START_OFFSET 0x1000
|
||||
|
||||
//pulled this define from spi_flash.h for reuse in the Arduino core without pulling in a bunch of other stuff
|
||||
#define SPI_FLASH_SEC_SIZE FLASH_SECTOR_SIZE
|
||||
|
||||
#endif
|
@ -29,8 +29,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <spi_flash_geometry.h>
|
||||
|
||||
#define SPI_FLASH_SEC_SIZE 4096
|
||||
#define LIMIT_ERASE_SIZE 0x10000
|
||||
|
||||
#define USER_BIN1 0x00
|
||||
|
Loading…
x
Reference in New Issue
Block a user