Lines Matching refs:f
40 def align_file_position(f, size): argument
42 align = (size - 1) - (f.tell() % size)
43 f.seek(align, 1)
78 def select_image_class(f, chip): argument
97 }[chip](f)
99 magic = ord(f.read(1))
100 f.seek(0)
102 return ESP8266ROMFirmwareImage(f)
104 return ESP8266V2FirmwareImage(f)
109 with open(image_file, "rb") as f:
110 return select_image_class(f, chip)
228 def load_segment(self, f, is_irom_segment=False): argument
230 file_offs = f.tell()
231 (offset, size) = struct.unpack("<II", f.read(8))
233 segment_data = f.read(size)
248 def maybe_patch_segment_data(self, f, segment_data): argument
254 file_pos = f.tell() # file_pos is position in the .bin file
290 def save_segment(self, f, segment, checksum=None): argument
295 segment_data = self.maybe_patch_segment_data(f, segment.data)
296 f.write(struct.pack("<II", segment.addr, len(segment_data)))
297 f.write(segment_data)
301 def save_flash_segment(self, f, segment, checksum=None): argument
309 segment_end_pos = f.tell() + len(segment.data) + self.SEG_HEADER_LEN
313 return self.save_segment(f, segment, checksum)
315 def read_checksum(self, f): argument
319 align_file_position(f, 16)
320 return ord(f.read(1))
333 def append_checksum(self, f, checksum): argument
335 align_file_position(f, 16)
336 f.write(struct.pack(b"B", checksum))
338 def write_common_header(self, f, segments): argument
339 f.write(
484 ) as f:
485 f.write(irom_segment.data)
489 with open("%s0x00000.bin" % basename, "wb") as f:
490 self.write_common_header(f, normal_segments)
493 checksum = self.save_segment(f, segment, checksum)
494 self.append_checksum(f, checksum)
581 with open(filename, "wb") as f:
583 f.write(
601 self.save_segment(f, irom_segment)
605 self.write_common_header(f, normal_segments)
608 checksum = self.save_segment(f, segment, checksum)
609 self.append_checksum(f, checksum)
613 with open(filename, "rb") as f:
614 crc = esp8266_crc32(f.read())
615 with open(filename, "ab") as f:
616 f.write(struct.pack(b"<I", crc))
707 with io.BytesIO() as f: # write file to memory first
708 self.write_common_header(f, self.segments)
712 self.save_extended_header(f)
774 pad_len = (self.IROM_ALIGN - (f.tell() % self.IROM_ALIGN)) + align_past
790 checksum = self.save_segment(f, segment, checksum)
792 self.append_checksum(f, checksum)
807 pad_segment = ImageSegment(0, b"\x00" * pad_len, f.tell())
808 self.save_segment(f, pad_segment)
811 assert (f.tell() + 8 + self.ROM_LOADER.BOOTLOADER_FLASH_OFFSET) % (
817 self.save_flash_segment(f, segment)
831 pad_segment = ImageSegment(0, b"\x00" * pad_len, f.tell())
832 checksum = self.save_segment(f, pad_segment, checksum)
837 f.tell() + 8
839 checksum = self.save_flash_segment(f, segment, checksum)
845 checksum = self.save_segment(f, segment, checksum)
856 align_past = (f.tell() + self.SEG_HEADER_LEN) % self.IROM_ALIGN
873 pad_segment = ImageSegment(0, b"\x00" * pad_len, f.tell())
875 checksum = self.save_segment(f, pad_segment, checksum)
880 self.append_checksum(f, checksum)
881 image_length = f.tell()
888 f.seek(1)
892 f.write(bytes([len(ram_segments)]))
894 f.write(bytes([total_segments]))
898 f.seek(0)
900 digest.update(f.read(image_length))
901 f.write(digest.digest())
904 image_length = f.tell()
907 f.write(b"\xff" * pad_by)
910 real_file.write(f.getvalue())
983 with io.BytesIO() as f: # write file to memory first
984 self.write_common_header(f, self.segments)
1024 checksum = self.save_segment(f, segment, checksum)
1030 checksum = self.save_segment(f, segment, checksum)
1034 self.append_checksum(f, checksum)
1035 image_length = f.tell()
1039 f.seek(1)
1040 f.write(bytes([total_segments]))
1044 f.seek(0)
1046 digest.update(f.read(image_length))
1047 f.write(digest.digest())
1050 real_file.write(f.getvalue())
1076 if any(f for f in fields[4:15] if f != 0):
1245 with open(self.name, "rb") as f:
1246 self._read_elf_file(f)
1254 def _read_elf_file(self, f): argument
1273 ) = struct.unpack("<16sHHLLLLLHHHHHH", f.read(LEN_FILE_HEADER))
1293 self._read_sections(f, shoff, shnum, shstrndx)
1294 self._read_segments(f, _phoff, _phnum, shstrndx)
1296 def _read_sections(self, f, section_header_offs, section_header_count, shstrndx): argument
1297 f.seek(section_header_offs)
1299 section_header = f.read(len_bytes)
1342 f.seek(sec_offs)
1343 string_table = f.read(sec_size)
1353 f.seek(offs)
1354 return f.read(size)
1374 def _read_segments(self, f, segment_header_offs, segment_header_count, shstrndx): argument
1375 f.seek(segment_header_offs)
1377 segment_header = f.read(len_bytes)
1409 f.seek(offs)
1410 return f.read(size)
1422 with open(self.name, "rb") as f:
1423 sha256.update(f.read())