diff --git a/CHANGELOG.md b/CHANGELOG.md index 559c400..354dbfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,9 +20,13 @@ ### Исправлено -## [0.3.0-alpha1] - 2024-11-05 +### Удалено + +## [0.3.0] - 2024-11-05 -Предварительный релиз поддержки платы START-MIK32-V1 +Релиз поддержки платы START-MIK32-V1. +Добавлена прошивка с использованием драйвера, можно отключить с использованием +аргумента ### Добавлено - Загрузка прошивки с использованием драйвера в ОЗУ @@ -34,6 +38,9 @@ ### Исправлено - Результат прошивки не выводился в коде возврата +### Удалено + - Краткий вариант аргумента --boot-mode + ## [0.2.1] - 2024-09-10 В версии 0.2.1 исправлены пути конфигурационных файлов по умолчанию, файлов лога OpenOCD и добавлен скрипт сборки diff --git a/README.md b/README.md index 0e47dea..bb844e4 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ optional arguments: Путь к файлу конфигурации целевого контроллера относительно папки scripts. По умолчанию: target\mik32.cfg --open-console Открывать OpenOCD в отдельной консоли - -b {undefined,eeprom,ram,spifi}, --boot-mode {undefined,eeprom,ram,spifi} + --boot-mode {undefined,eeprom,ram,spifi} Выбор типа памяти, который отображается на загрузочную область. Если тип не выбран, данные, находящиеся в загрузочной области в hex файле отбрасываются. По умолчанию: undefined --log-path LOG_PATH Путь к файлу журнала. По умолчанию: nul @@ -65,6 +65,7 @@ optional arguments: Команды OpenOCD, запускаемые после прошивки. По умолчанию: reset run -t {MIK32V0,MIK32V2}, --mcu-type {MIK32V0,MIK32V2} Выбор микроконтроллера. По умолчанию: MIK32V2 + --no-driver Отключает прошивку с использованием драйвера в ОЗУ ``` ## Принцип работы diff --git a/_version.py b/_version.py index 7c2f766..47ad522 100644 --- a/_version.py +++ b/_version.py @@ -1 +1 @@ -applicaton_version = 'v0.3.0-alpha1' +applicaton_version = 'v0.3.0' diff --git a/mik32_upload.py b/mik32_upload.py index 323ad3e..175c765 100644 --- a/mik32_upload.py +++ b/mik32_upload.py @@ -211,7 +211,8 @@ def upload_file( boot_mode=BootMode.UNDEFINED, log_path=default_log_path, post_action=default_post_action, - mik_version=MIK32_Version.MIK32V2 + mik_version=MIK32_Version.MIK32V2, + use_driver=True, ) -> int: """ Write ihex or binary file into MIK32 EEPROM or external flash memory @@ -261,16 +262,22 @@ def upload_file( if (pages.pages_eeprom.__len__() > 0): start_time = time.perf_counter() - result |= eeprom.write_memory( - pages.pages_eeprom, - openocd, - os.path.join( - default_drivers_path, - 'jtag-eeprom', - default_drivers_build_path, - 'firmware.hex' + if use_driver: + result |= eeprom.write_memory( + pages.pages_eeprom, + openocd, + os.path.join( + default_drivers_path, + 'jtag-eeprom', + default_drivers_build_path, + 'firmware.hex' + ) + ) + else: + result |= eeprom.write_pages( + pages.pages_eeprom, + openocd ) - ) write_time = time.perf_counter() - start_time write_size = pages.pages_eeprom.__len__( @@ -284,17 +291,23 @@ def upload_file( gpio_init(openocd, mik_version) start_time = time.perf_counter() - result |= spifi.write_pages_by_sectors( - pages.pages_spifi, - openocd, - os.path.join( - default_drivers_path, - 'jtag-spifi', - default_drivers_build_path, - 'firmware.hex' - ), - use_quad_spi=use_quad_spi, - ) + if use_driver: + result |= spifi.write_pages_by_sectors( + pages.pages_spifi, + openocd, + os.path.join( + default_drivers_path, + 'jtag-spifi', + default_drivers_build_path, + 'firmware.hex' + ) + ) + else: + result |= spifi.write_pages( + pages.pages_spifi, + openocd, + use_quad_spi=use_quad_spi + ) write_time = time.perf_counter() - start_time write_size = pages.pages_spifi.__len__( @@ -432,6 +445,13 @@ def createParser(): help="Выбор микроконтроллера. " f"По умолчанию: {MIK32_Version.MIK32V2}" ) + parser.add_argument( + '--no-driver', + dest='use_driver', + action='store_false', + default=True, + help='Отключает прошивку с использованием драйвера в ОЗУ' + ) return parser @@ -460,7 +480,8 @@ if __name__ == '__main__': boot_mode=namespace.boot_mode, log_path=namespace.log_path, post_action=namespace.post_action, - mik_version=namespace.mcu_type + mik_version=namespace.mcu_type, + use_driver=namespace.use_driver, ) ) else: