Testmuster in Daten-RAM schreiben

Gast #139407
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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 #139411
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
"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
Lesenswert?
• ▲
▼
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren