From 6282d3ef8e0613b3cc0d6acb401180d5f1fa4a8a Mon Sep 17 00:00:00 2001 From: Sergey Shchelkanov Date: Tue, 10 Sep 2024 18:50:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=83=D1=82=D0=B5=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=BE=D0=B2=20=D0=B8=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=B0=20openocd=20=D0=BF=D0=BE=20=D1=83?= =?UTF-8?q?=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 11 +++++++++++ mik32_check.py | 4 ++-- mik32_upload.py | 19 ++++++++++--------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c607180..7268b9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,17 @@ ### Изменено ### Исправлено + +## [0.2.1] - 2024-09-10 + +В версии 0.2.1 исправлены пути конфигурационных файлов по умолчанию, файлов лога OpenOCD и добавлен скрипт сборки +исполняемого файла + +### Добавлено +- Добавлен скрипт сборки исполняемого файла + +### Исправлено +- Исправлены пути конфигурационных файлов по умолчанию, файлов лога OpenOCD ## [0.2.0] - 2024-08-13 diff --git a/mik32_check.py b/mik32_check.py index 5096b1d..0380941 100644 --- a/mik32_check.py +++ b/mik32_check.py @@ -7,7 +7,7 @@ import time from typing import List, Union from mik32_pm import pm_init -from mik32_upload import BootMode, Pages, form_pages, openocd_exec_path, openocd_scripts_path, openocd_interface_path, openocd_target_path, adapter_default_speed, run_openocd, default_post_action, default_log_path, default_openocd_host, mik32v0_sections, OpenOCDStartupException, adapter_speed_not_supported, memory_page_size +from mik32_upload import BootMode, Pages, form_pages, openocd_exec_path, openocd_scripts_path, openocd_interface_path, openocd_target_path, adapter_default_speed, run_openocd, default_post_action, default_log_path, default_openocd_host, mik32_sections, OpenOCDStartupException, adapter_speed_not_supported, memory_page_size from mik32_gpio import MIK32_Version, gpio_init, gpio_deinit import mik32_eeprom import mik32_spifi @@ -47,7 +47,7 @@ def upload_file( print(f"ERROR: File {filename} does not exist") exit(1) - file = FirmwareFile(filename, mik32v0_sections) + file = FirmwareFile(filename, mik32_sections) segments: List[Segment] = file.get_segments() pages: Pages = form_pages(segments, boot_mode) diff --git a/mik32_upload.py b/mik32_upload.py index bac6c02..bd6d21e 100644 --- a/mik32_upload.py +++ b/mik32_upload.py @@ -35,10 +35,13 @@ else: default_openocd_host = '127.0.0.1' openocd_exec_path = os.path.join("openocd", "bin", openocd_exec) -openocd_scripts_path = os.path.join("openocd", "share", "openocd", "scripts") -openocd_interface_path = os.path.join("interface", "ftdi", "m-link.cfg") +openocd_scripts_path = os.path.join("openocd-scripts") +openocd_interface_path = os.path.join("interface", "ftdi", "mikron-link.cfg") openocd_target_path = os.path.join("target", "mik32.cfg") -default_log_path = "nul" +if os.name == 'nt': + default_log_path = "nul" +else: + default_log_path = "/dev/null" default_post_action = "reset run" adapter_default_speed = 500 @@ -83,7 +86,7 @@ class BootMode(Enum): return MemoryType.UNKNOWN -mik32v0_sections: List[MemorySection] = [ +mik32_sections: List[MemorySection] = [ MemorySection(MemoryType.BOOT, 0x0, 16 * 1024), MemorySection(MemoryType.EEPROM, 0x01000000, 8 * 1024), MemorySection(MemoryType.RAM, 0x02000000, 16 * 1024), @@ -217,7 +220,7 @@ def upload_file( print(f"ERROR: File {filename} does not exist") exit(1) - file = FirmwareFile(filename, mik32v0_sections) + file = FirmwareFile(filename, mik32_sections) segments: List[Segment] = file.get_segments() pages: Pages = form_pages(segments, boot_mode) @@ -298,8 +301,9 @@ def upload_file( def createParser(): parser = argparse.ArgumentParser( prog='mik32_upload.py', + usage='python mik32_upload.py firmware_name.hex', description='''Скрипт предназначен для записи программы в ОЗУ, EEPROM и внешнюю flash память, - подключенную по интерфейсу SPIFI''' + подключенную по интерфейсу SPIFI. Поддерживаемые форматы прошивок: *.hex, *.bin''' ) parser.add_argument( 'filepath', @@ -372,7 +376,6 @@ def createParser(): help='Открывать OpenOCD в отдельной консоли' ) parser.add_argument( - '-b', '--boot-mode', dest='boot_mode', type=BootMode, @@ -409,7 +412,6 @@ def createParser(): help='Вывод без последовательностей управления терминалом. Временно не используется' ) parser.add_argument( - '-t', '--mcu-type', dest='mcu_type', type=MIK32_Version, @@ -427,7 +429,6 @@ if __name__ == '__main__': parser = createParser() namespace = parser.parse_args() - print("mik32-uploader v0.2.0") print(program_name) if namespace.filepath: