unleashed-firmware/scripts/flipper/utils/programmer.py
Sergey Gavrilov 727f043747
OpenOCD scripts (#2101)
* Scripts: option bytes check
* Scripts: option bytes set
* Scripts: openocd config
* Scripts: increased readability, process IPCCBR option byte
* Scripts: split dap_ob.py
* Updater: process IPCCBR option byte
* Scripts: move chip-related functions to chip definition
* Scripts: freeze CPU registers
* Scripts: flash programming routine
* ob.py
* otp.py
* otp: handle errors correctly
* downgrade to python 3.9
* correct type hinting
* Scripts: fix path to ob.data

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 21:59:36 +09:00

32 lines
676 B
Python

from abc import ABC, abstractmethod
from enum import Enum
class Programmer(ABC):
def __init__(self):
pass
class RunMode(Enum):
Run = "run"
Stop = "stop"
@abstractmethod
def reset(self, mode: RunMode = RunMode.Run) -> bool:
pass
@abstractmethod
def flash(self, address: int, file_path: str, verify: bool = True) -> bool:
pass
@abstractmethod
def option_bytes_validate(self, file_path: str) -> bool:
pass
@abstractmethod
def option_bytes_set(self, file_path: str) -> bool:
pass
@abstractmethod
def otp_write(self, address: int, file_path: str) -> bool:
pass