Hallo Liebe Leute, Ich versuche gerade eine zweikanälige Audioverarbeitung über Simulink auf externe Hardware in Form eines Raspberry Pis zum Laufen zu bringen. Ich verwende hierfür zwei USB Mikrofone welche an den USB-Ports des Pis angeschlossen sind und eine IQaudioDAC AMP+ Audiokarte an denen ich zwei LSP angeschlossen habe. Die Lautsprecher haben dabei die gleiche Hardwareadresse, da es die der Audiokarte ist. Nun bekomme ich jedoch folgende Fehlermeldung: Error:A run-time error is encountered when running External mode simulation on the Raspberry Pi hardware. This usually occurs when a hardware resource, such as a web camera or an audio card, is not available or configured incorrectly. The log file, /home/pi/MATLAB_ws/R2023a/G_id.log, storing model diagnostic information on the Raspberry Pi hardware has the following content: **** Starting the application **** free(): double free detected in tcache 2 Die Meldung "free(): double free detected in tcache 2" deutet auf einen Speicherfehler hin, dass eine Speicherfreigabeoperation (ein "free" Aufruf) zweimal auf denselben Speicherblock angewendet wurde. Dies ist ein häufiger Fehler in C- oder C++-Programmen und kann zu undefiniertem Verhalten oder Abstürzen des Programms führen. Nun wollte ich fragen, wie ich dieses Problem lösen könnte? Wohlgemerkt hatte es zuvor funktioniert. Es ist wichtig, dass beide Lautsprecher separat bleiben und nicht in einem Block zusammengefasst werden, da ich dies für ein größeres Modell benötige. Treiber und Hardware habe ich überprüft, eventuell könnte ich eine andere Audiokarte verwenden. Hat jmd noch nützliche Tipps oder das selbe Problem gehabt? LG
Die Üblichen Stati: Was sagt dmesg? Was sagt lsusb? Manche SW kommt nicht klar, wenn die gleiche Hardware doppelt angeschlossen wird. Funktioniert das mit nur einem Sender/Emfänger?
Mit einem Sender und Empfänger habe ich keine Probleme. lsusb zeigt mir an, dass zwei USB Mikrofone angeschlossen sind: lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec Bus 001 Device 003: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub dmesg zeigt folgendes an: dmesg | grep -i iqaudio [ 8.160415] snd-rpi-iqaudio-dac soc:sound: snd_rpi_iqaudio_gpio_unmute: un-muting amp using GPIO22 Die Audiokarte scheint erkannt zu sein.
Wie es scheint, brauchst du 2 Ausgabemodule solange du deiner verwendeten Software nicht klarmachen kannst, dass da eigentlich 2 Kanaele verwendbar sind. Nur wird das mit 2 Ausgabemodulesn nicht sehr phasentreu :) werden.
Merkwürdigerweise hat es in der Vergangenheit geklappt. Wenn ich im Pi-Terminal die Soundkarte teste, funktionieren beide Kanäle. Auch in Simulink hatte es zuvor mal geklappt, da hatten beide Lautsprecher ein Signal gleichzeitig gesendet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.