Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 45546e7

Browse filesBrowse files
committed
Update ESP-IDF to v4.4.5
1 parent 0ce7408 commit 45546e7
Copy full SHA for 45546e7

File tree

1,300 files changed

+30826
-33884
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner

1,300 files changed

+30826
-33884
lines changed

‎.gitignore

Copy file name to clipboardExpand all lines: .gitignore
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ tools/mkspiffs
1111
tools/mklittlefs
1212
tools/mkfatfs.exe
1313
tools/openocd-esp32
14+
tools/esp32-arduino-libs
1415

1516
# Ignore editor backup files and macOS system metadata
1617
.DS_Store

‎platform.txt

Copy file name to clipboardExpand all lines: platform.txt
+8-8Lines changed: 8 additions & 8 deletions
Large diffs are not rendered by default.

‎tools/gen_esp32part.py

Copy file name to clipboardExpand all lines: tools/gen_esp32part.py
+30-11Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
MIN_PARTITION_SUBTYPE_APP_OTA = 0x10
2929
NUM_PARTITION_SUBTYPE_APP_OTA = 16
3030

31+
SECURE_NONE = None
32+
SECURE_V1 = 'v1'
33+
SECURE_V2 = 'v2'
34+
3135
__version__ = '1.2'
3236

3337
APP_TYPE = 0x00
@@ -91,13 +95,26 @@ def get_subtype_as_int(ptype, subtype):
9195
STRICT_DATA_ALIGNMENT = 0x1000
9296

9397

94-
def get_alignment_for_type(ptype):
98+
def get_alignment_offset_for_type(ptype):
9599
return ALIGNMENT.get(ptype, ALIGNMENT[DATA_TYPE])
96100

97101

102+
def get_alignment_size_for_type(ptype):
103+
if ptype == APP_TYPE and secure == SECURE_V1:
104+
# For secure boot v1 case, app partition must be 64K aligned
105+
# signature block (68 bytes) lies at the very end of 64K block
106+
return 0x10000
107+
if ptype == APP_TYPE and secure == SECURE_V2:
108+
# For secure boot v2 case, app partition must be 4K aligned
109+
# signature block (4K) is kept after padding the unsigned image to 64K boundary
110+
return 0x1000
111+
# No specific size alignement requirement as such
112+
return 0x1
113+
114+
98115
quiet = False
99116
md5sum = True
100-
secure = False
117+
secure = SECURE_NONE
101118
offset_part_table = 0
102119

103120

@@ -164,7 +181,7 @@ def expand_vars(f):
164181
raise InputError('CSV Error: Partitions overlap. Partition at line %d sets offset 0x%x. Previous partition ends 0x%x'
165182
% (e.line_no, e.offset, last_end))
166183
if e.offset is None:
167-
pad_to = get_alignment_for_type(e.type)
184+
pad_to = get_alignment_offset_for_type(e.type)
168185
if last_end % pad_to != 0:
169186
last_end += pad_to - (last_end % pad_to)
170187
e.offset = last_end
@@ -397,18 +414,20 @@ def verify(self):
397414
raise ValidationError(self, 'Subtype field is not set')
398415
if self.offset is None:
399416
raise ValidationError(self, 'Offset field is not set')
400-
align = get_alignment_for_type(self.type)
401-
if self.offset % align:
402-
raise ValidationError(self, 'Offset 0x%x is not aligned to 0x%x' % (self.offset, align))
417+
if self.size is None:
418+
raise ValidationError(self, 'Size field is not set')
419+
offset_align = get_alignment_offset_for_type(self.type)
420+
if self.offset % offset_align:
421+
raise ValidationError(self, 'Offset 0x%x is not aligned to 0x%x' % (self.offset, offset_align))
403422
# The alignment requirement for non-app partition is 4 bytes, but it should be 4 kB.
404423
# Print a warning for now, make it an error in IDF 5.0 (IDF-3742).
405424
if self.type != APP_TYPE and self.offset % STRICT_DATA_ALIGNMENT:
406425
critical('WARNING: Partition %s not aligned to 0x%x.'
407426
'This is deprecated and will be considered an error in the future release.' % (self.name, STRICT_DATA_ALIGNMENT))
408-
if self.size % align and secure and self.type == APP_TYPE:
409-
raise ValidationError(self, 'Size 0x%x is not aligned to 0x%x' % (self.size, align))
410-
if self.size is None:
411-
raise ValidationError(self, 'Size field is not set')
427+
if self.type == APP_TYPE and secure is not SECURE_NONE:
428+
size_align = get_alignment_size_for_type(self.type)
429+
if self.size % size_align:
430+
raise ValidationError(self, 'Size 0x%x is not aligned to 0x%x' % (self.size, size_align))
412431

413432
if self.name in TYPES and TYPES.get(self.name, '') != self.type:
414433
critical("WARNING: Partition has name '%s' which is a partition type, but does not match this partition's "
@@ -513,7 +532,7 @@ def main():
513532
'enabled by default and this flag does nothing.', action='store_true')
514533
parser.add_argument('--quiet', '-q', help="Don't print non-critical status messages to stderr", action='store_true')
515534
parser.add_argument('--offset', '-o', help='Set offset partition table', default='0x8000')
516-
parser.add_argument('--secure', help='Require app partitions to be suitable for secure boot', action='store_true')
535+
parser.add_argument('--secure', help='Require app partitions to be suitable for secure boot', nargs='?', const=SECURE_V1, choices=[SECURE_V1, SECURE_V2])
517536
parser.add_argument('input', help='Path to CSV or binary file to parse.', type=argparse.FileType('rb'))
518537
parser.add_argument('output', help='Path to output converted binary or CSV file. Will use stdout if omitted.',
519538
nargs='?', default='-')

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.