|
20 | 20 | https://github.com/espressif/ESP8266_NONOS_SDK
|
21 | 21 | """
|
22 | 22 |
|
23 |
| -from os.path import isdir, join |
| 23 | +from os.path import isdir, join, isfile |
24 | 24 |
|
25 | 25 | from SCons.Script import Builder, DefaultEnvironment
|
26 | 26 |
|
|
61 | 61 | CXXFLAGS=[
|
62 | 62 | "-fno-rtti",
|
63 | 63 | "-fno-exceptions",
|
64 |
| - "-std=c++11" |
| 64 | + "-std=c++11", |
| 65 | + "-Wno-literal-suffix" |
65 | 66 | ],
|
66 | 67 |
|
67 | 68 | LINKFLAGS=[
|
|
83 | 84 |
|
84 | 85 | CPPPATH=[
|
85 | 86 | join(FRAMEWORK_DIR, "include"),
|
86 |
| - join(FRAMEWORK_DIR, "extra_include"), |
87 | 87 | join(FRAMEWORK_DIR, "driver_lib", "include"),
|
88 |
| - join(FRAMEWORK_DIR, "include", "espressif"), |
89 |
| - join(FRAMEWORK_DIR, "include", "lwip"), |
90 |
| - join(FRAMEWORK_DIR, "include", "lwip", "ipv4"), |
91 |
| - join(FRAMEWORK_DIR, "include", "lwip", "ipv6"), |
92 |
| - join(FRAMEWORK_DIR, "include", "nopoll"), |
93 |
| - join(FRAMEWORK_DIR, "include", "ssl"), |
94 |
| - join(FRAMEWORK_DIR, "include", "json"), |
95 |
| - join(FRAMEWORK_DIR, "include", "openssl") |
| 88 | + join(FRAMEWORK_DIR, "third_party", "include") |
96 | 89 | ],
|
97 | 90 |
|
98 | 91 | LIBPATH=[
|
|
102 | 95 |
|
103 | 96 | LIBS=[
|
104 | 97 | "airkiss", "at", "c", "crypto", "driver", "espnow", "gcc", "json",
|
105 |
| - "lwip", "main", "mbedtls", "mesh", "net80211", "phy", "pp", "pwm", |
| 98 | + "lwip", "main", "mbedtls", "net80211", "phy", "pp", "pwm", |
106 | 99 | "smartconfig", "ssl", "upgrade", "wpa", "wpa2", "wps"
|
107 | 100 | ],
|
108 | 101 |
|
|
133 | 126 | LDSCRIPT_PATH=join(FRAMEWORK_DIR, "ld", "eagle.app.v6.ld")
|
134 | 127 | )
|
135 | 128 |
|
136 |
| -board_flash_size = int(env.BoardConfig().get("upload.maximum_size", 0)) |
137 |
| -if board_flash_size > 8388608: |
138 |
| - init_data_flash_address = 0xffc000 # for 16 MB |
139 |
| -elif board_flash_size > 4194304: |
140 |
| - init_data_flash_address = 0x7fc000 # for 8 MB |
141 |
| -elif board_flash_size > 2097152: |
142 |
| - init_data_flash_address = 0x3fc000 # for 4 MB |
143 |
| -elif board_flash_size > 1048576: |
144 |
| - init_data_flash_address = 0x1fc000 # for 2 MB |
145 |
| -elif board_flash_size > 524288: |
146 |
| - init_data_flash_address = 0xfc000 # for 1 MB |
147 |
| -else: |
148 |
| - init_data_flash_address = 0x7c000 # for 512 kB |
| 129 | +# evaluate SPI_FLASH_SIZE_MAP flag for NONOS_SDK 3.x and set CCFLAG |
| 130 | +board_flash_size = int(env.BoardConfig().get("upload.maximum_size", 524288)) |
| 131 | +flash_size_maps = [0.5, 0.25, 1.0, 0.0, 0.0, 2.0, 4.0, 0.0, 8.0, 16.0] # ignore maps 3 and 4.prefer 5 and 6 |
| 132 | +flash_sizes_str = ['512KB','256KB','1MB','2MB','4MB','2MB-c1','4MB-c1','4MB-c2','8MB','16MB'] |
| 133 | +try: |
| 134 | + flash_size_map = flash_size_maps.index(board_flash_size/1048576) |
| 135 | + flash_size_str = flash_sizes_str[flash_size_map] |
| 136 | +except: |
| 137 | + flash_size_map = 6 |
| 138 | + flash_size_str = '4MB-c1' |
| 139 | +# for OTA, only size maps 5, 6, 8 and 9 are supported to avoid linking twice for user1 and user2 |
| 140 | + |
| 141 | +env.Append(CCFLAGS=["-DSPI_FLASH_SIZE_MAP="+str(flash_size_map)]) # NONOS-SDK 3.x user_main.c need it |
| 142 | + |
| 143 | +init_data_flash_address = board_flash_size-0x4000 # 3fc000 for 4M board data_bin |
| 144 | + |
| 145 | + |
| 146 | +esp_init_data_default_file = "esp_init_data_default_v08.bin" # new in NONS 3.04 |
| 147 | +if not isfile(join(FRAMEWORK_DIR, "bin", esp_init_data_default_file)): |
| 148 | + esp_init_data_default_file = "esp_init_data_default.bin" |
149 | 149 |
|
150 | 150 | env.Append(
|
151 | 151 | FLASH_EXTRA_IMAGES=[
|
152 | 152 | ("0x10000", join("$BUILD_DIR", "${PROGNAME}.bin.irom0text.bin")),
|
153 | 153 | (hex(init_data_flash_address),
|
154 |
| - join(FRAMEWORK_DIR, "bin", "esp_init_data_default.bin")), |
| 154 | + join(FRAMEWORK_DIR, "bin", esp_init_data_default_file)), |
155 | 155 | (hex(init_data_flash_address + 0x2000),
|
156 | 156 | join(FRAMEWORK_DIR, "bin", "blank.bin"))
|
157 | 157 | ]
|
|
164 | 164 |
|
165 | 165 | libs = []
|
166 | 166 |
|
167 |
| -libs.append(env.BuildLibrary( |
168 |
| - join(FRAMEWORK_DIR, "lib", "driver"), |
169 |
| - join(FRAMEWORK_DIR, "driver_lib") |
170 |
| -)) |
| 167 | +if False: |
| 168 | + libs.append(env.BuildLibrary( |
| 169 | + join(FRAMEWORK_DIR, "lib", "driver"), |
| 170 | + join(FRAMEWORK_DIR, "driver_lib") |
| 171 | + )) |
171 | 172 |
|
172 | 173 | env.Prepend(LIBS=libs)
|
0 commit comments