Ich habe zwei Ubuntu, eines ist 18.04 und ein anderes ist 20.04, außerdem habe ich ein Problem mit Arduino-Boards, ich habe versuchtDasAnleitung (Pin-Belegung und ...):
Da die Arduino IDE das STM32f013c8t6-Board mit Arduino jedoch nicht erkennen kann, habe ich versucht, die USB-Verbindung des Ports zu finden, indem ichDasPosten Sie Befehle für die Antworten, wie Sie unten sehen können:
sudo usermod -a -G dialout $USER
ls -al /dev/USB*
ls: cannot access '/dev/USB*': No such file or directory
Und indem Sie einige andere ausprobieren, posten Sie Anweisungen:
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:0821 Realtek Semiconductor Corp.
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 174f:2408 Syntek
Bus 001 Device 006: ID 0483:3748 STMicroelectronics ST-LINK/V2
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
und durch Auslösen des lsb -v -d
Befehls erhalte ich das folgende Ergebnis:
lsusb -v -d 0483:3748
Bus 001 Device 006: ID 0483:3748 STMicroelectronics ST-LINK/V2
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0483 STMicroelectronics
idProduct 0x3748 ST-LINK/V2
bcdDevice 1.00
iManufacturer 1 STMicroelectronics
iProduct 2 STM32 STLink
iSerial 3 &/26MCKN
bNumConfigsudo journalctl -furations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 4 ST Link
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
Daher kann ich die Portverbindung auf dem Arduino nicht sehen, die per Snap installiert wurde, wie Sie unten sehen können:
Ich habe außerdem versucht, Arduino als Root-Benutzer auszuführen, aber ich erhalte die folgende Fehlermeldung:
sudo arduino
mkdir: cannot create directory '/run/user/0': Permission denied
(process:22688): dconf-CRITICAL **: 19:29:51.179: unable to create directory '/run/user/0/snap.arduino/dconf': Permission denied. dconf will not work properly.
(process:22688): dconf-CRITICAL **: 19:29:51.179: unable to create directory '/run/user/0/snap.arduino/dconf': Permission denied. dconf will not work properly.
No protocol specified
(process:22688): dconf-CRITICAL **: 19:29:51.180: unable to create directorit is not worling!.y '/run/user/0/snap.arduino/dconf': Permission denied. dconf will not work properly.
Picked up JAVA_TOOL_OPTIONS:
Set log4j store directory /root/snap/arduino/56/.arduino15
No protocol specified
java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83)
at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129)
at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582)
at java.desktop/java.awt.SystemColor.updateSystemColors(SystemColor.java:473)
at java.desktop/java.awt.SystemColor.<clinit>(SystemColor.java:465)
at processing.app.Theme.init(Theme.java:343)
at processing.app.Base.<init>(Base.java:250)
at processing.app.Base.main(Base.java:150)
Ich vermute also, dass es nicht funktioniert, weil ich den Arduino per Snap installiert habe und versucht habe, es per sudo snap connect arduino:removable-media
Befehl zu beheben, aber ich bekomme den mkdir: cannot create directory '/run/user/0': Permission denied
Fehler erneut, also habe ich hier gefragt:
Update 1:
Basierend aufder erste Kommentarich habe es versucht sudo journalctl -f
und bekommedie folgenden Ergebnisse:
sudo journalctl -f
-- Logs begin at Thu 2020-11-19 13:24:37 +0330. --
ژوئن 13 20:24:57 so-Lenovo-ideapad-310-15IKB tunnel.service[4851]: add bridge failed: Operation not permitted
ژوئن 13 20:24:57 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:24:58 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:24:59 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:00 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:01 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:02 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:03 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:03 so-Lenovo-ideapad-310-15IKB sudo[30096]: so : TTY=pts/0 ; PWD=/home/so ; USER=root ; COMMAND=/bin/journalctl -f
ژوئن 13 20:25:03 so-Lenovo-ideapad-310-15IKB sudo[30096]: pam_unix(sudo:session): session opened for user root by (uid=0)
ژوئن 13 20:25:04 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:05 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:06 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() failed
ژوئن 13 20:25:07 so-Lenovo-ideapad-310-15IKB tunnel.service[4851]: add bridge failed: Operation not permitted
Außerdem habe ich die neueste Arduino-Version installiert vondieser Linkund es wird auf sudo arduino
Befehl ausgeführt, aber es besteht immer noch dieses Problem!
Update 2:
Es ist seltsam, ich habe gesehen,unter dem Beitragwas heißtder ST-Link V2-Programmiererkönnte seingefälschtund habeneinige falsche Pin-Verbindungen, und wenn möglich, würde ich gerne fragen, was passieren würde, wenn ich das ändere2,4,6Pin-Konfiguration basierend auf diesem Beitrag? Wie Sie unten sehen können:
Aktualisierung 3:
Ich habe dieST-Link V2und die Pins waren richtig beschriftet. Das Problem liegt also nicht am falschenst-linkPin-System! Danke.
Antwort1
Basierend aufN0rbertKommentar: Das Problem besteht bei der Snap-Version von Arduino, die besagt:Hier:
Also habe ich den folgenden Schritt ausgeführt:
1- Ich habe die letzte Arduino-Version installiert vondieser Link.
2-Basierend aufdieses Dokument, ich habe dieSTM32CubePrg
3-Wählen Sie für den Test die folgenden Einstellungen und Codes aus:
#define LED_BUILTIN PC13
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(2000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
4- Schalten Sie den BOOT 0-Header von der Position „0“ auf die Position „1“, bevor Sie die FTDI-Platine an den Computer anschließen, um den Bootloader zu flashen, wie aufDieses Videoaus diesem Beitrag: