cdma_app.c does not work correctly

Offen
#52 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
55/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
c
Bereich
embedded-iot

Rechercherichtung

Start in cdma_app.c, focusing on the SrcPtr and DestPtr declarations, the DMA transfer length, and the buffer comparison. Confirm how the source and destination buffers are declared and how the comparison length is calculated. Done means the application reports a successful comparison after transferring 64 bytes, using the issue's described pointer declarations.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

I've been following the Zynq-7000 SoC Embedded Design Tutorial (2023.2) using a Digilent Zybo Z7-20. The cdma-app showed FAIL even though the DMA transfer occurred (I used the Memory inspector to read 0x2000_0000 (the source) and 0x3000_0000 (the destination). I root caused the problem to the buffer compare where it appears that 256 bytes were being compared (Length=64*sizeof(u32)) even though only 64 bytes were transferred in the DMA transfer.

The fix was pretty easy once I figured out so I thought I'd share. The problem was in the SrcPtr and DestPtr declarations. I changed the declarations as shown:
// Changed from original code to fix pointer references
u8
SrcPtr = SourceAddr;
u8
DestPtr= DestAddr;
// end changes

Both the source and destination buffers were defined as u8 in the version of the app that I downloaded so now SrcPtr and DestPtr can access the u8 "array".
Roy

Vorherrschende Sprache
Keine Sprachdaten
Sterne
172
Forks
70
Ø Merge
9 Min.
Gemergte PRs (30 T.)
1

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Xilinx/Embedded-Design-Tutorials

Alle Issues in Xilinx/Embedded-Design-Tutorials

Ähnliche Issues

Weitere Issues zu Embedded & IoT

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.