mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 10:07:14 +02:00
Add OpenOCD as an alternative upload method for atmelsam platform // Issue #732
This commit is contained in:
@ -881,6 +881,9 @@
|
|||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Arduino Zero (Programming Port)",
|
"name": "Arduino Zero (Programming Port)",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "arduino_zero.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
"disable_flushing": true,
|
"disable_flushing": true,
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
@ -888,7 +891,8 @@
|
|||||||
"protocol": "openocd",
|
"protocol": "openocd",
|
||||||
"require_upload_port" : false,
|
"require_upload_port" : false,
|
||||||
"use_1200bps_touch": false,
|
"use_1200bps_touch": false,
|
||||||
"wait_for_upload_port": false
|
"wait_for_upload_port": false,
|
||||||
|
"section_start": "0x2000"
|
||||||
},
|
},
|
||||||
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
|
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
|
||||||
"vendor": "Arduino"
|
"vendor": "Arduino"
|
||||||
@ -974,6 +978,9 @@
|
|||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Arduino M0 Pro (Programming Port)",
|
"name": "Arduino M0 Pro (Programming Port)",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "arduino_zero_org.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
"disable_flushing": true,
|
"disable_flushing": true,
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
|
@ -8,7 +8,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel ATSAMR21-XPRO",
|
"name": "Atmel ATSAMR21-XPRO",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_samr21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
@ -24,7 +28,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel SAML21-XPRO-B",
|
"name": "Atmel SAML21-XPRO-B",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_saml21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
@ -40,7 +48,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel SAMD21-XPRO",
|
"name": "Atmel SAMD21-XPRO",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_samd21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
|
@ -122,32 +122,35 @@ if upload_protocol == "openocd":
|
|||||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
||||||
UPLOADERFLAGS=[
|
UPLOADERFLAGS=[
|
||||||
"-d2",
|
"-d2",
|
||||||
"-s", join(
|
"-f", join(BOARD_OPTIONS.get("debug", {}).get("openocdcfg", "")),
|
||||||
"$PIOPACKAGES_DIR",
|
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||||
"tool-openocd",
|
"share", "openocd", "scripts"),
|
||||||
"share",
|
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||||
"openocd",
|
"share", "openocd", "scripts", "board")
|
||||||
"scripts"
|
|
||||||
),
|
|
||||||
|
|
||||||
"-f", join(
|
|
||||||
"$PLATFORMFW_DIR",
|
|
||||||
"variants",
|
|
||||||
"${BOARD_OPTIONS['build']['variant']}",
|
|
||||||
"openocd_scripts",
|
|
||||||
"${BOARD_OPTIONS['build']['variant']}.cfg"
|
|
||||||
),
|
|
||||||
|
|
||||||
"-c", "\"telnet_port", "disabled;",
|
|
||||||
"program", "{{$SOURCES}}",
|
|
||||||
"verify", "reset",
|
|
||||||
"%s;" % user_code_section if user_code_section else "0x2000",
|
|
||||||
"shutdown\""
|
|
||||||
],
|
],
|
||||||
|
|
||||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if "zero" in env.subst("$BOARD"):
|
||||||
|
env.Append(
|
||||||
|
UPLOADERFLAGS=[
|
||||||
|
"-s", join("$PLATFORMFW_DIR", "variants",
|
||||||
|
"${BOARD_OPTIONS['build']['variant']}",
|
||||||
|
"openocd_scripts")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
env.Append(
|
||||||
|
UPLOADERFLAGS=[
|
||||||
|
"-c", "\"telnet_port", "disabled;",
|
||||||
|
"program", "{{$SOURCES}}",
|
||||||
|
"verify", "reset",
|
||||||
|
"%s;" % user_code_section if user_code_section else "",
|
||||||
|
"shutdown\""
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
elif upload_protocol == "sam-ba":
|
elif upload_protocol == "sam-ba":
|
||||||
|
|
||||||
board_type = env.subst("$BOARD")
|
board_type = env.subst("$BOARD")
|
||||||
|
Reference in New Issue
Block a user