Testmuster in Daten-RAM schreiben

Gast #139407
Was ist ein Testmuster?
Einige Leute hier versuchen "Testmuster" (Samples) von IC's bei
Herstellern oder Distributoren zu "schnorren"...

Falls du aber normale Daten (Registerinhalte) mit dem SRAM tauschen
willst, dann schau dir mal die Transferbefehle an, die im Datenblatt
aufgelistet sind. Das sind eine ganze Menge, da man das SRAM auf
verschiedene Art und Weise ansprechen kann. Die meisten fangen mit LD
oder ST an...

...
Gast #139408
Ich möchte nicht "schnorren". Bin Student und möchte ne Aufgabe lösen.
Also ganz normal auf den Controller zugreifen.

Kannst du mir denn einen Befehl nennen, mit dem ich unter C
Registerinhalte auslesen kann?
Gast #139409
Ohne daß Du den Controller, den verwendeten C-Compiler und das nennst,
was für Dich ein "Register" sein mag, kann diese Frage nicht
beantwortet werden.
War die Frage vor zwei Postings in diesem Thread nicht auch eine etwas
andere?
Gast #139410
Ich arbeite mit dem 80C537 von Infineon und einem dafür kompatiblen
C-Compiler.

Weißt du, wie man eine Bitfolge(Testmuster) in den Daten-RAM dieses
Controllers schreiben kann?
Gast #139411
pass auf Ich würde das so machen:

#define anz_datem  xxx
byte * ptr;
byte * ptr_AnfDaten;
ptr = malloc(xxx);
ptr_AnfDaten  = ptr;
int i=0;
for(i=0;i< max ;i++,ptr++)
{
// hier solltest du die Testdaten generieren
*ptr = Testmuster; // hier schreibst das Testmuster ins ram
}
Gast #139412
Schon mal vielen Dank. Es ist aber trotzdem immer schwer sich in die
Syntax eines anderen reinzuversetzen.

Könntest du es noch mal kurz kommentieren.

Z.B. Was soll der Ausdruck "xxx" bedeuten? Was macht malloc?
Gast #139413
xxx ist durch eine Dezimalzahl zu ersetzen, die die Größe des
Speicherblocks angibt.

malloc ist eine Funktion, die Speicher auf dem Heap belegt, und der
liegt im RAM. Daher ist der Rückgabewert ein Pointer auf eben das
Daten-RAM.

Allerdings:

Bevor Du hier noch weitere Fragen über C stellst, rate ich Dir
dringend, Dir ein Buch über C anzuschaffen und durchzulesen. Der K&R
(Kernighan & Ritchie, Programmieren in C, zweite Auflage, Hanser
Verlag) ist da anzuraten.
Gast #139414
Das hat im direkten Sinne nichts mit C-Programmierung zu tun. Malloc ist
eine spezifische Funktion, die nur in Verbindung mit
Controller-Programmierung verwendet wird.

Trotzdem danke für den Buch-Tipp.

Hab trotzdem noch mal ne Frage zur Syntax (die allerletzte). Was soll
ich an die Stelle schreiben, wo der Kommentar steht: // hier solltest
du die Testdaten generieren. Was meint "toddoy" damit?
Gast #139415
"Das hat im direkten Sinne nichts mit C-Programmierung zu tun.
  Malloc ist eine spezifische Funktion, die nur in Verbindung
  mit Controller-Programmierung verwendet wird."

Ich fass' es nicht. Wie kommst Du denn auf diese völig irrige
Annahme?

Bevor Du hier noch weitere Fragen über C stellst, rate ich Dir äußerst
dringend, Dir ein Buch über C anzuschaffen und durchzulesen.
Gast #139416
1. Meide malloc auf Mikrocontrollern,
2. Meide malloc auf PCs,
3. MEIDE malloc!

Wie man ein Muster ins RAM schreiben kann, um beispielsweise
Kollisionen zwischen zwei Datenbereichen feststellen zu können, kannst
Du im GCC-Forum nachlesen. Da hat Peter Dannegger eine schöne Lösung zu
geschrieben.

Evtl. hilft Dir das ja weiter:

http://www.mikrocontroller.net/forum/read-2-133551.html#135930

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.