diff --git a/boards.txt b/boards.txt index df3c39ab..872ccc75 100644 --- a/boards.txt +++ b/boards.txt @@ -1,5 +1,6 @@ menu.debug=Debug menu.link_mode=Link mode +menu.flash_mode=Flash mode ########################################################################################## @@ -532,6 +533,11 @@ unoq.menu.link_mode.static=Static unoq.menu.link_mode.static.build.link_mode=static unoq.menu.link_mode.static.upload.extension=bin-zsk.bin +unoq.menu.flash_mode.flash=Flash +unoq.menu.flash_mode.flash.openocd_cfg=flash_sketch.cfg +unoq.menu.flash_mode.ram=RAM +unoq.menu.flash_mode.ram.openocd_cfg=flash_sketch_ram.cfg + unoq.build.zephyr_target=arduino_uno_q unoq.build.zephyr_args= unoq.build.variant=arduino_uno_q_stm32u585xx diff --git a/platform.txt b/platform.txt index 8eb09ef8..230fd2af 100644 --- a/platform.txt +++ b/platform.txt @@ -267,23 +267,23 @@ tools.adb.upload.pattern="{path}/{cmd}" push "{build.path}/{build.project_name}. # tools.remoteocd.path={runtime.tools.remoteocd.path} tools.remoteocd.cmd=remoteocd -tools.remoteocd.upload.params.verbose= +tools.remoteocd.upload.params.verbose=--verbose tools.remoteocd.upload.params.quiet= -tools.remoteocd.upload.pattern="{path}/{cmd}" --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" upload -a "{upload.address}" "{build.path}/{build.project_name}.{upload.extension}" +tools.remoteocd.upload.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{build.path}/{build.project_name}.{upload.extension}" -tools.remoteocd.bootloader.params.verbose= +tools.remoteocd.bootloader.params.verbose=--verbose tools.remoteocd.bootloader.params.quiet= tools.remoteocd.erase.pattern= -tools.remoteocd.bootloader.pattern="{path}/{cmd}" --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" upload "{runtime.platform.path}/firmwares/{bootloader.file}" +tools.remoteocd.bootloader.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/flash_bootloader.cfg" "{upload.verbose}" "{runtime.platform.path}/firmwares/{bootloader.file}" tools.remoteocd_network.upload.protocol=network tools.remoteocd_network.upload.field.password=Password tools.remoteocd_network.upload.field.password.secret=true tools.remoteocd_network.path={runtime.tools.remoteocd.path} tools.remoteocd_network.cmd=remoteocd -tools.remoteocd_network.upload.params.verbose= +tools.remoteocd_network.upload.params.verbose=--verbose tools.remoteocd_network.upload.params.quiet= -tools.remoteocd_network.upload.pattern="{path}/{cmd}" --adb-path "{runtime.tools.adb.path}/adb" -i "{upload.port.address}" upload -a "{upload.address}" "{build.path}/{build.project_name}.{upload.extension}" +tools.remoteocd_network.upload.pattern="{path}/{cmd}" upload -a "{upload.port.address}" --password "{upload.field.password}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{build.path}/{build.project_name}.{upload.extension}" # # PYOCD WRAPPER diff --git a/variants/arduino_uno_q_stm32u585xx/flash_bootloader.cfg b/variants/arduino_uno_q_stm32u585xx/flash_bootloader.cfg new file mode 100644 index 00000000..a5d943e1 --- /dev/null +++ b/variants/arduino_uno_q_stm32u585xx/flash_bootloader.cfg @@ -0,0 +1,8 @@ +reset_config srst_only srst_push_pull +init +reset +halt +flash info 0 +flash write_image erase ${filename} +reset +shutdown diff --git a/variants/arduino_uno_q_stm32u585xx/flash_sketch.cfg b/variants/arduino_uno_q_stm32u585xx/flash_sketch.cfg new file mode 100644 index 00000000..539431ed --- /dev/null +++ b/variants/arduino_uno_q_stm32u585xx/flash_sketch.cfg @@ -0,0 +1,8 @@ +reset_config srst_only srst_push_pull +init +reset +halt +flash info 0 +flash write_image erase ${filename} 0x80F0000 bin +reset +shutdown diff --git a/variants/arduino_uno_q_stm32u585xx/flash_sketch_ram.cfg b/variants/arduino_uno_q_stm32u585xx/flash_sketch_ram.cfg new file mode 100644 index 00000000..108ec912 --- /dev/null +++ b/variants/arduino_uno_q_stm32u585xx/flash_sketch_ram.cfg @@ -0,0 +1,15 @@ +reset_config srst_only srst_push_pull + +init +reset +halt +resume +sleep 500 + +lassign [split [mdw 0x20000000] ":" ] ram base +set base [string trim $base] +puts $base +load_image ${filename} 0x$base bin +sleep 500 +resume +shutdown