targets: make msd-volume-name an array
Этот коммит содержится в:
родитель
48ef68dd86
коммит
1bba5f5d7b
36 изменённых файлов: 85 добавлений и 76 удалений
|
@ -50,7 +50,7 @@ type TargetSpec struct {
|
||||||
PortReset string `json:"flash-1200-bps-reset"`
|
PortReset string `json:"flash-1200-bps-reset"`
|
||||||
SerialPort []string `json:"serial-port"` // serial port IDs in the form "vid:pid"
|
SerialPort []string `json:"serial-port"` // serial port IDs in the form "vid:pid"
|
||||||
FlashMethod string `json:"flash-method"`
|
FlashMethod string `json:"flash-method"`
|
||||||
FlashVolume string `json:"msd-volume-name"`
|
FlashVolume []string `json:"msd-volume-name"`
|
||||||
FlashFilename string `json:"msd-firmware-name"`
|
FlashFilename string `json:"msd-firmware-name"`
|
||||||
UF2FamilyID string `json:"uf2-family-id"`
|
UF2FamilyID string `json:"uf2-family-id"`
|
||||||
BinaryFormat string `json:"binary-format"`
|
BinaryFormat string `json:"binary-format"`
|
||||||
|
|
91
main.go
91
main.go
|
@ -945,28 +945,29 @@ func touchSerialPortAt1200bps(port string) (err error) {
|
||||||
return fmt.Errorf("opening port: %s", err)
|
return fmt.Errorf("opening port: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func flashUF2UsingMSD(volume, tmppath string, options *compileopts.Options) error {
|
func flashUF2UsingMSD(volumes []string, tmppath string, options *compileopts.Options) error {
|
||||||
// find standard UF2 info path
|
// find standard UF2 info path
|
||||||
var infoPath string
|
infoPaths := make([]string, 0, len(volumes))
|
||||||
switch runtime.GOOS {
|
for _, volume := range volumes {
|
||||||
case "linux", "freebsd":
|
switch runtime.GOOS {
|
||||||
fi, err := os.Stat("/run/media")
|
case "linux", "freebsd":
|
||||||
if err != nil || !fi.IsDir() {
|
fi, err := os.Stat("/run/media")
|
||||||
infoPath = "/media/*/" + volume + "/INFO_UF2.TXT"
|
if err != nil || !fi.IsDir() {
|
||||||
} else {
|
infoPaths = append(infoPaths, "/media/*/"+volume+"/INFO_UF2.TXT")
|
||||||
infoPath = "/run/media/*/" + volume + "/INFO_UF2.TXT"
|
} else {
|
||||||
|
infoPaths = append(infoPaths, "/run/media/*/"+volume+"/INFO_UF2.TXT")
|
||||||
|
}
|
||||||
|
case "darwin":
|
||||||
|
infoPaths = append(infoPaths, "/Volumes/"+volume+"/INFO_UF2.TXT")
|
||||||
|
case "windows":
|
||||||
|
path, err := windowsFindUSBDrive(volume, options)
|
||||||
|
if err == nil {
|
||||||
|
infoPaths = append(infoPaths, path+"/INFO_UF2.TXT")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case "darwin":
|
|
||||||
infoPath = "/Volumes/" + volume + "/INFO_UF2.TXT"
|
|
||||||
case "windows":
|
|
||||||
path, err := windowsFindUSBDrive(volume, options)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
infoPath = path + "/INFO_UF2.TXT"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
d, err := locateDevice(volume, infoPath, options.Timeout)
|
d, err := locateDevice(volumes, infoPaths, options.Timeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -974,28 +975,29 @@ func flashUF2UsingMSD(volume, tmppath string, options *compileopts.Options) erro
|
||||||
return moveFile(tmppath, filepath.Dir(d)+"/flash.uf2")
|
return moveFile(tmppath, filepath.Dir(d)+"/flash.uf2")
|
||||||
}
|
}
|
||||||
|
|
||||||
func flashHexUsingMSD(volume, tmppath string, options *compileopts.Options) error {
|
func flashHexUsingMSD(volumes []string, tmppath string, options *compileopts.Options) error {
|
||||||
// find expected volume path
|
// find expected volume path
|
||||||
var destPath string
|
destPaths := make([]string, 0, len(volumes))
|
||||||
switch runtime.GOOS {
|
for _, volume := range volumes {
|
||||||
case "linux", "freebsd":
|
switch runtime.GOOS {
|
||||||
fi, err := os.Stat("/run/media")
|
case "linux", "freebsd":
|
||||||
if err != nil || !fi.IsDir() {
|
fi, err := os.Stat("/run/media")
|
||||||
destPath = "/media/*/" + volume
|
if err != nil || !fi.IsDir() {
|
||||||
} else {
|
destPaths = append(destPaths, "/media/*/"+volume)
|
||||||
destPath = "/run/media/*/" + volume
|
} else {
|
||||||
|
destPaths = append(destPaths, "/run/media/*/"+volume)
|
||||||
|
}
|
||||||
|
case "darwin":
|
||||||
|
destPaths = append(destPaths, "/Volumes/"+volume)
|
||||||
|
case "windows":
|
||||||
|
path, err := windowsFindUSBDrive(volume, options)
|
||||||
|
if err == nil {
|
||||||
|
destPaths = append(destPaths, path+"/")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case "darwin":
|
|
||||||
destPath = "/Volumes/" + volume
|
|
||||||
case "windows":
|
|
||||||
path, err := windowsFindUSBDrive(volume, options)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
destPath = path + "/"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
d, err := locateDevice(volume, destPath, options.Timeout)
|
d, err := locateDevice(volumes, destPaths, options.Timeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -1003,21 +1005,28 @@ func flashHexUsingMSD(volume, tmppath string, options *compileopts.Options) erro
|
||||||
return moveFile(tmppath, d+"/flash.hex")
|
return moveFile(tmppath, d+"/flash.hex")
|
||||||
}
|
}
|
||||||
|
|
||||||
func locateDevice(volume, path string, timeout time.Duration) (string, error) {
|
func locateDevice(volumes, paths []string, timeout time.Duration) (string, error) {
|
||||||
var d []string
|
var d []string
|
||||||
var err error
|
var err error
|
||||||
for start := time.Now(); time.Since(start) < timeout; {
|
for start := time.Now(); time.Since(start) < timeout; {
|
||||||
d, err = filepath.Glob(path)
|
for _, path := range paths {
|
||||||
if err != nil {
|
d, err = filepath.Glob(path)
|
||||||
return "", err
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
if d != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if d != nil {
|
if d != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
}
|
}
|
||||||
if d == nil {
|
if d == nil {
|
||||||
return "", errors.New("unable to locate device: " + volume)
|
return "", errors.New("unable to locate any volume: [" + strings.Join(volumes, ",") + "]")
|
||||||
}
|
}
|
||||||
return d[0], nil
|
return d[0], nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["circuitplay_bluefruit"],
|
"build-tags": ["circuitplay_bluefruit"],
|
||||||
"serial-port": ["239a:8045"],
|
"serial-port": ["239a:8045"],
|
||||||
"msd-volume-name": "CPLAYBTBOOT"
|
"msd-volume-name": ["CPLAYBTBOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"serial-port": ["239a:8018"],
|
"serial-port": ["239a:8018"],
|
||||||
"msd-volume-name": "CPLAYBOOT",
|
"msd-volume-name": ["CPLAYBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["clue_alpha"],
|
"build-tags": ["clue_alpha"],
|
||||||
"serial-port": ["239a:8072", "239a:8071"],
|
"serial-port": ["239a:8072", "239a:8071"],
|
||||||
"msd-volume-name": "CLUEBOOT"
|
"msd-volume-name": ["CLUEBOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:801b"],
|
"serial-port": ["239a:801b"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "FEATHERBOOT",
|
"msd-volume-name": ["FEATHERBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:801b", "239a:800b"],
|
"serial-port": ["239a:801b", "239a:800b"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "FEATHERBOOT",
|
"msd-volume-name": ["FEATHERBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:80cd"],
|
"serial-port": ["239a:80cd"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "FTHRCANBOOT",
|
"msd-volume-name": ["FTHRCANBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:8022"],
|
"serial-port": ["239a:8022"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "FEATHERBOOT",
|
"msd-volume-name": ["FEATHERBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["feather_nrf52840_sense"],
|
"build-tags": ["feather_nrf52840_sense"],
|
||||||
"serial-port": ["239a:8087", "239a:8088"],
|
"serial-port": ["239a:8087", "239a:8088"],
|
||||||
"msd-volume-name": "FTHRSNSBOOT"
|
"msd-volume-name": ["FTHRSNSBOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["feather_nrf52840"],
|
"build-tags": ["feather_nrf52840"],
|
||||||
"serial-port": ["239a:8029", "239a:802a"],
|
"serial-port": ["239a:8029", "239a:802a"],
|
||||||
"msd-volume-name": "FTHR840BOOT"
|
"msd-volume-name": ["FTHR840BOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"serial-port": ["239a:8031"],
|
"serial-port": ["239a:8031"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "GCM4BOOT",
|
"msd-volume-name": ["GCM4BOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2",
|
"msd-firmware-name": "firmware.uf2",
|
||||||
"openocd-interface": "jlink"
|
"openocd-interface": "jlink"
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"serial": "uart",
|
"serial": "uart",
|
||||||
"linkerscript": "targets/hifive1b.ld",
|
"linkerscript": "targets/hifive1b.ld",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "HiFive",
|
"msd-volume-name": ["HiFive"],
|
||||||
"msd-firmware-name": "firmware.hex",
|
"msd-firmware-name": "firmware.hex",
|
||||||
"jlink-device": "fe310"
|
"jlink-device": "fe310"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:800f", "239a:8012"],
|
"serial-port": ["239a:800f", "239a:8012"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "ITSYBOOT",
|
"msd-volume-name": ["ITSYBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"serial-port": ["239a:802b"],
|
"serial-port": ["239a:802b"],
|
||||||
"msd-volume-name": "ITSYM4BOOT",
|
"msd-volume-name": ["ITSYM4BOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["itsybitsy_nrf52840"],
|
"build-tags": ["itsybitsy_nrf52840"],
|
||||||
"serial-port": ["239A:8052", "239A:8051"],
|
"serial-port": ["239A:8052", "239A:8051"],
|
||||||
"msd-volume-name": "ITSY840BOOT"
|
"msd-volume-name": ["ITSY840BOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"serial-port": ["239a:80c9", "239a:80ca"],
|
"serial-port": ["239a:80c9", "239a:80ca"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "MATRIXBOOT",
|
"msd-volume-name": ["MATRIXBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2",
|
"msd-firmware-name": "firmware.uf2",
|
||||||
"openocd-transport": "swd",
|
"openocd-transport": "swd",
|
||||||
"openocd-interface": "jlink",
|
"openocd-interface": "jlink",
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["mdbt50qrx"],
|
"build-tags": ["mdbt50qrx"],
|
||||||
"serial-port": ["239a:810b", "239a:810c"],
|
"serial-port": ["239a:810b", "239a:810c"],
|
||||||
"msd-volume-name": "MDBT50QBOOT"
|
"msd-volume-name": ["MDBT50QBOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239A:8037"],
|
"serial-port": ["239A:8037"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "METROM4BOOT",
|
"msd-volume-name": ["METROM4BOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
"serial": "uart",
|
"serial": "uart",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"openocd-interface": "cmsis-dap",
|
"openocd-interface": "cmsis-dap",
|
||||||
"msd-volume-name": "MICROBIT",
|
"msd-volume-name": ["MICROBIT"],
|
||||||
"msd-firmware-name": "firmware.hex"
|
"msd-firmware-name": "firmware.hex"
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
"serial": "uart",
|
"serial": "uart",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"openocd-interface": "cmsis-dap",
|
"openocd-interface": "cmsis-dap",
|
||||||
"msd-volume-name": "MICROBIT",
|
"msd-volume-name": ["MICROBIT"],
|
||||||
"msd-firmware-name": "firmware.hex"
|
"msd-firmware-name": "firmware.hex"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["nano_33_ble"],
|
"build-tags": ["nano_33_ble"],
|
||||||
"serial-port": ["239a:8063", "239a:0063"],
|
"serial-port": ["239a:8063", "239a:0063"],
|
||||||
"msd-volume-name": "NANO33BOOT"
|
"msd-volume-name": ["NANO33BOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v7-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v7-uf2"],
|
||||||
"build-tags": ["nano_33_ble"],
|
"build-tags": ["nano_33_ble"],
|
||||||
"serial-port": ["239a:8063", "239a:0063"],
|
"serial-port": ["239a:8063", "239a:0063"],
|
||||||
"msd-volume-name": "NANO33BOOT"
|
"msd-volume-name": ["NANO33BOOT"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["nicenano"],
|
"build-tags": ["nicenano"],
|
||||||
"msd-volume-name": "NICENANO"
|
"msd-volume-name": ["NICENANO"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v6-uf2"],
|
||||||
"build-tags": ["nrf52840_mdk_usb_dongle"],
|
"build-tags": ["nrf52840_mdk_usb_dongle"],
|
||||||
"msd-volume-name": "MDK-DONGLE"
|
"msd-volume-name": ["MDK-DONGLE"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"serial": "uart",
|
"serial": "uart",
|
||||||
"flash-method": "command",
|
"flash-method": "command",
|
||||||
"flash-command": "nrfjprog -f nrf52 --sectorerase --program {hex} --reset",
|
"flash-command": "nrfjprog -f nrf52 --sectorerase --program {hex} --reset",
|
||||||
"msd-volume-name": "JLINK",
|
"msd-volume-name": ["JLINK"],
|
||||||
"msd-firmware-name": "firmware.hex",
|
"msd-firmware-name": "firmware.hex",
|
||||||
"openocd-interface": "jlink",
|
"openocd-interface": "jlink",
|
||||||
"openocd-transport": "swd"
|
"openocd-transport": "swd"
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"serial-port": ["239a:8033"],
|
"serial-port": ["239a:8033"],
|
||||||
"msd-volume-name": "PYBADGEBOOT",
|
"msd-volume-name": ["PYBADGEBOOT"],
|
||||||
"msd-firmware-name": "arcade.uf2"
|
"msd-firmware-name": "arcade.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:803d", "239a:803e"],
|
"serial-port": ["239a:803d", "239a:803e"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "PYGAMERBOOT",
|
"msd-volume-name": ["PYGAMERBOOT"],
|
||||||
"msd-firmware-name": "arcade.uf2"
|
"msd-firmware-name": "arcade.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"serial-port": ["239a:8035", "239a:8036"],
|
"serial-port": ["239a:8035", "239a:8036"],
|
||||||
"msd-volume-name": "PORTALBOOT",
|
"msd-volume-name": ["PORTALBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:80cb"],
|
"serial-port": ["239a:80cb"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "QTPY_BOOT",
|
"msd-volume-name": ["QTPY_BOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"build-tags": ["reelboard"],
|
"build-tags": ["reelboard"],
|
||||||
"serial": "uart",
|
"serial": "uart",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "reel-board",
|
"msd-volume-name": ["reel-board"],
|
||||||
"msd-firmware-name": "firmware.hex",
|
"msd-firmware-name": "firmware.hex",
|
||||||
"openocd-interface": "cmsis-dap"
|
"openocd-interface": "cmsis-dap"
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"serial": "usb",
|
"serial": "usb",
|
||||||
"msd-volume-name": "RPI-RP2",
|
"msd-volume-name": ["RPI-RP2"],
|
||||||
"msd-firmware-name": "firmware.uf2",
|
"msd-firmware-name": "firmware.uf2",
|
||||||
"binary-format": "uf2",
|
"binary-format": "uf2",
|
||||||
"uf2-family-id": "0xe48bff56",
|
"uf2-family-id": "0xe48bff56",
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["239a:801e"],
|
"serial-port": ["239a:801e"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "TRINKETBOOT",
|
"msd-volume-name": ["TRINKETBOOT"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"serial-port": ["2886:802d"],
|
"serial-port": ["2886:802d"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "Arduino",
|
"msd-volume-name": ["Arduino"],
|
||||||
"msd-firmware-name": "firmware.uf2",
|
"msd-firmware-name": "firmware.uf2",
|
||||||
"openocd-verify": true
|
"openocd-verify": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
"inherits": ["nrf52840", "nrf52840-s140v7-uf2"],
|
"inherits": ["nrf52840", "nrf52840-s140v7-uf2"],
|
||||||
"build-tags": ["xiao_ble"],
|
"build-tags": ["xiao_ble"],
|
||||||
"serial-port": ["2886:8045"],
|
"serial-port": ["2886:8045"],
|
||||||
"msd-volume-name": "XIAO-SENSE"
|
"msd-volume-name": ["XIAO-SENSE"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
"serial-port": ["2886:802f"],
|
"serial-port": ["2886:802f"],
|
||||||
"flash-1200-bps-reset": "true",
|
"flash-1200-bps-reset": "true",
|
||||||
"flash-method": "msd",
|
"flash-method": "msd",
|
||||||
"msd-volume-name": "Arduino",
|
"msd-volume-name": ["Arduino","Seeed XIAO"],
|
||||||
"msd-firmware-name": "firmware.uf2"
|
"msd-firmware-name": "firmware.uf2"
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче