mirror of
https://github.com/MikronMIK32/mik32-uploader.git
synced 2026-01-01 13:37:03 +03:00
quad write optional
This commit is contained in:
parent
d0ef886952
commit
e6c8d763b9
@ -481,7 +481,7 @@ def get_segments_list(pages_offsets: List[int], segment_size: int) -> List[int]:
|
|||||||
return list(segments)
|
return list(segments)
|
||||||
|
|
||||||
|
|
||||||
def write_pages(pages: Dict[int, List[int]], openocd: OpenOcdTclRpc, is_resume=True):
|
def write_pages(pages: Dict[int, List[int]], openocd: OpenOcdTclRpc, is_resume=True, use_quad_spi=False):
|
||||||
result = 0
|
result = 0
|
||||||
|
|
||||||
openocd.halt()
|
openocd.halt()
|
||||||
@ -496,7 +496,10 @@ def write_pages(pages: Dict[int, List[int]], openocd: OpenOcdTclRpc, is_resume=T
|
|||||||
page_bytes = pages[page_offset]
|
page_bytes = pages[page_offset]
|
||||||
|
|
||||||
spifi_write_enable(openocd)
|
spifi_write_enable(openocd)
|
||||||
spifi_quad_page_program(openocd, page_offset, page_bytes, 256)
|
if (use_quad_spi):
|
||||||
|
spifi_quad_page_program(openocd, page_offset, page_bytes, 256)
|
||||||
|
else:
|
||||||
|
spifi_page_program(openocd, page_offset, page_bytes, 256)
|
||||||
spifi_wait_busy(openocd)
|
spifi_wait_busy(openocd)
|
||||||
|
|
||||||
result = spifi_read_data(openocd, page_offset, 256, page_bytes)
|
result = spifi_read_data(openocd, page_offset, 256, page_bytes)
|
||||||
|
|||||||
@ -149,7 +149,7 @@ def segments_to_pages(segments: List[Segment], page_size: int) -> Dict[int, List
|
|||||||
return pages
|
return pages
|
||||||
|
|
||||||
|
|
||||||
def upload_file(filename: str, host: str = '127.0.0.1', port: int = OpenOcdTclRpc.DEFAULT_PORT, is_resume=True, run_openocd=False) -> int:
|
def upload_file(filename: str, host: str = '127.0.0.1', port: int = OpenOcdTclRpc.DEFAULT_PORT, is_resume=True, run_openocd=False, use_quad_spi=False) -> int:
|
||||||
"""
|
"""
|
||||||
Write ihex or binary file into MIK32 EEPROM or external flash memory
|
Write ihex or binary file into MIK32 EEPROM or external flash memory
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ def upload_file(filename: str, host: str = '127.0.0.1', port: int = OpenOcdTclRp
|
|||||||
result |= mik32_eeprom.write_pages(pages_eeprom, openocd, is_resume)
|
result |= mik32_eeprom.write_pages(pages_eeprom, openocd, is_resume)
|
||||||
if (pages_spifi.__len__() > 0):
|
if (pages_spifi.__len__() > 0):
|
||||||
# print(pages_spifi)
|
# print(pages_spifi)
|
||||||
result |= mik32_spifi.write_pages(pages_spifi, openocd, is_resume)
|
result |= mik32_spifi.write_pages(pages_spifi, openocd, is_resume, use_quad_spi)
|
||||||
|
|
||||||
if run_openocd and proc is not None:
|
if run_openocd and proc is not None:
|
||||||
proc.kill()
|
proc.kill()
|
||||||
@ -224,6 +224,8 @@ def createParser():
|
|||||||
parser.add_argument('filepath', nargs='?')
|
parser.add_argument('filepath', nargs='?')
|
||||||
parser.add_argument('--run-openocd', dest='run_openocd',
|
parser.add_argument('--run-openocd', dest='run_openocd',
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
|
parser.add_argument('--use-quad-spi', dest='use_quad_spi',
|
||||||
|
action='store_true', default=False)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--openocd-host', dest='openocd_host', default='127.0.0.1')
|
'--openocd-host', dest='openocd_host', default='127.0.0.1')
|
||||||
parser.add_argument('--openocd-port', dest='openocd_port',
|
parser.add_argument('--openocd-port', dest='openocd_port',
|
||||||
@ -241,6 +243,6 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
if namespace.filepath:
|
if namespace.filepath:
|
||||||
upload_file(namespace.filepath, namespace.openocd_host,
|
upload_file(namespace.filepath, namespace.openocd_host,
|
||||||
namespace.openocd_port, is_resume=(not namespace.keep_halt), run_openocd=namespace.run_openocd)
|
namespace.openocd_port, is_resume=(not namespace.keep_halt), run_openocd=namespace.run_openocd, use_quad_spi=namespace.use_quad_spi)
|
||||||
else:
|
else:
|
||||||
print("Nothing to upload")
|
print("Nothing to upload")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user