Добавлена опция отключения загрузки с использованием драйвера

This commit is contained in:
sh-sergey 2024-11-05 16:32:35 +03:00
parent 3f4ac57ae9
commit 60e353f212
4 changed files with 55 additions and 26 deletions

View File

@ -20,9 +20,13 @@
### Исправлено
## [0.3.0-alpha1] - 2024-11-05
### Удалено
Предварительный релиз поддержки платы START-MIK32-V1
## [0.3.0] - 2024-11-05
Релиз поддержки платы START-MIK32-V1.
Добавлена прошивка с использованием драйвера, можно отключить с использованием
аргумента
### Добавлено
- Загрузка прошивки с использованием драйвера в ОЗУ
@ -34,6 +38,9 @@
### Исправлено
- Результат прошивки не выводился в коде возврата
### Удалено
- Краткий вариант аргумента --boot-mode
## [0.2.1] - 2024-09-10
В версии 0.2.1 исправлены пути конфигурационных файлов по умолчанию, файлов лога OpenOCD и добавлен скрипт сборки

View File

@ -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 Отключает прошивку с использованием драйвера в ОЗУ
```
## Принцип работы

View File

@ -1 +1 @@
applicaton_version = 'v0.3.0-alpha1'
applicaton_version = 'v0.3.0'

View File

@ -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,6 +262,7 @@ def upload_file(
if (pages.pages_eeprom.__len__() > 0):
start_time = time.perf_counter()
if use_driver:
result |= eeprom.write_memory(
pages.pages_eeprom,
openocd,
@ -271,6 +273,11 @@ def upload_file(
'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,6 +291,7 @@ def upload_file(
gpio_init(openocd, mik_version)
start_time = time.perf_counter()
if use_driver:
result |= spifi.write_pages_by_sectors(
pages.pages_spifi,
openocd,
@ -292,8 +300,13 @@ def upload_file(
'jtag-spifi',
default_drivers_build_path,
'firmware.hex'
),
use_quad_spi=use_quad_spi,
)
)
else:
result |= spifi.write_pages(
pages.pages_spifi,
openocd,
use_quad_spi=use_quad_spi
)
write_time = time.perf_counter() - start_time
@ -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: