Forum: Mikrocontroller und Digitale Elektronik C167 Problem....


von Sandro (Gast)


Lesenswert?

Hab eine Schaltung mit einem C167CS-LM, dazu ein AM29F010B Flash (128 x
8) und BS62LV1024 Ram (128 x 16).
Benutze den Keil Copmpiler, doch da fängts an... :-) kann zwar ein
kleines testprogrämchen, welches nur ne LED blinken lässt übers Flashit
(Flash tool demoversion) ins Flash laden, und auch ausführen...
mit dem uVision3 gehts jedoch nicht! Respektive er lädt mir den monitor
runter, und gibt dann gleich an er hätte keine verbindung mehr...
woran könnnts, liegen (mir gehen langsam die ideen aus...)
(P.S. bei bei den Pins mit Startupwiderständen, wie hoch darf docht die
Spannung maximal sein während eines resets???)

mfg
Sandro am verzweifeln

von Jürgen Schuhmacher (Gast)


Lesenswert?

Hab' keine uV3 am Laufen. Ich würde das ins Keilforum schreiben.

von Sandro (Gast)


Lesenswert?

Jürgen Schuhmacher naja wenn man ne schnelle antwort sucht, ist das keil
forum wohl nicht das geeignete...

von Mark de Jong (Gast)


Lesenswert?

Hallo Sandro,

Ich habe auch kein Keil, aber hast Du das monitor program für deine
hardware angepasst?

Grüße Mark,

von Marks Murks (Gast)


Lesenswert?

Hallo,

ohne Source ist es schwer den Fehler zu finden. Vermutlich machst due
bei der Initialisierung falsch.
 - RAM und ROM Bereich checken, und mit CS-Lines vergleichen
 - Richtige BUS-Konfiguration (16Bit, 8Bit, multiplexed...)
 - Überschreibst du die UART-Initialisierung (P3.x)
 - Ist Watchdog Timer aus
 - Sind die globalen Interrupts frei gegeben
 - Vergiess die Konfigurations-Widerstände, da must du nicht messen,
   die müssen einfach richtig gesetzt sein
 - es gibt sicherlich noch 100 andere Möglichkeiten, also genauer
   beschreiben.


Gruß Marks Murks

von Sandro (Gast)


Lesenswert?

danke für deine antwort...
-monitor hab ich angepasst und mehrfahc kontrolliert...
-ram rom berech passen, (standart rom cs0, ram cs1) mit entsprechendem
bus... 8bis rom, 16bi ram demux beide..
-uart funktioniert, (kann über flash programm ein programm ins flash
laden und es läuft auch)
-interrupts naja soweit komm ich gar nicht, da ich nur den monitor
laden kann, mehr nicht...

hab das board selbsrt gemacht, könnte ja was schiefgelaufen sein.. hab
nach der vorlage eines alten projetes 15kOhm genommen... ist mir nur
aufgefallen, das bei einem wiederstand die spannung auf etwa 1.5V
anstieg, daraufhin hab ich den wiederstand auf 7.5KOhm halbiert, hab
jedoch immer noch 1 Volt, bei den anderen mit 15k jedoch nur ein halbes
Volt... denke da stimmt was nicht...

wie könnte ich festellen ob der C167 defekt ist?

von Mark de Jong (Gast)


Lesenswert?

Hallo Sandro,

kannst du mal dein schaltplan in pdf posten?

Wird der CS1 (RAM) auch vom monitor richtig gesetzt, er soll das ram
auf adresse 0x0000 legen damit er das FLASH ersetzt.

Beim debuggen benutzt Du ja das RAM auch fürs program.

Ist das RAM auch byte addressable, BHE und A0, oder WRl und WRH.

Grüße Mark,

von Sandro (Gast)


Lesenswert?

Mark de Jong kann den schaltplan jetzt nicht posten, ist im geschäft...

äh wiso muss ich das CS1, das ram auf die adresse 0x0 setzten, hab das
flash auf 0x0 und das raum auf 0x80000, da wenn die anwendung ja dann
später vom flash aus läuft, muss diese ja auf nulll sein soweit mir
bekannt, und den bereich des rams geb ich ja im compiler an, sowie im
monitor die startadresse vom bereich wo ich das programm laden will...


sehe ich was falsch?

von Mark de Jong (Gast)


Lesenswert?

Hallo Sandro,

Klar, die "richtige" application wird denn CS1 nicht auf 0x0 haben,
aber du kannst ja nicht aus FLASH debuggen, keine break point, etc.

Nur beim debuggen setzt mann denn RAM über denn FLASH, und benutzt nur
das RAM.

Bist Du sicher das die bezeichung für das RAM richtig ist?
Im datenblatt vom BS62LV1024 steht 128Kx8, dann währe das ein Problem,
falsche datenbus einstellung für CS1.

Grüße Mark,
P.S. ich arbeite meistens mit Tasking, aber habe auch schon mit keil
gearbeitet.

von Sandro (Gast)


Lesenswert?

Mark de Jong ne das mit dem ram müsste i.O. sein, hab 2 je eins fürs
lower und higher byte, die ich mit wrl, wrh zum schreiben, und rd zum
lesen ansteuere... sehe ich das richtig?

nochmals kurz damit ich dich richtig verstehe:
ich muss zum debuggen die Adresse des Rams sowohl unter den "target
options" beim uV3 als auch im Monitor auf 0x0 setzten und das Flash
kann ich demnach quasi weglassen? bin jetzt immer davon ausgegangen das
managt uVision3 automatisch...

"Nur beim debuggen setzt mann denn RAM über denn FLASH, und benutzt
nur
das RAM." kann das Flash aber trotzdem an CS0 angeschlossen lassen
oder?

von Sandro (Gast)


Lesenswert?

hey hab grad gesehen, bei nem gekauften evaluation board, dasss
funktioniert muss die adresse das Rams auch nicht bei 0x0 beginnen
damit man debuggen kann...

von Marks Murks (Gast)


Lesenswert?

Hallo,

wie Mark de Jong (der kennt sich aus, war mal Tasking Mitarbeiter -
oder Mark?) schon erwähnt hat:
- Schaltplan
- Beim Monitor emuliert das RAM den ROM
- Überschreibst du reservierten Monitor-RAM Bereich?
- Wert im SYSCON
- Wert BUSCON, etc.

Gruß
M.M.

von Sandro (Gast)


Lesenswert?

Schaltplan kann ich momentan nicht posten, naja hab die schaltung stark
geändert, seid ich den print gezeichnet habe... würde nur verwirren...

Überschreibst du reservierten Monitor-RAM Bereich?
komm gar nicht mehr soweit, wie mir uV2 anzeigt, wird der Monitor
gedownloadet, und gleich darauf sagt mir uV2 dass die Verbindung
unterbrochen würde, komm daher gar nie dazu das programm selbst
downzuloaden...

Buscon0 = 42Eh
Syscon = 214h
Buscon1 = 4BC
ADDSEL = 2Mbit, startadresse 80000h (im monitor so eingegeben) habs
auch schon mit startadresse 0x0 versucht...

Syscon 1,2,3 im wird mit dem monitor nicht initialisiert...

P.S. wollte sicher nicht sagen das ich Mark de Jong worte anzweifle,
nur bei meinem evaluation bord ist die startadresse des rams nicht =
0x0 und ich kann trotzdem debuggen, nehm mal an das frisiert der
compiler/debugger entsprechend....

von Sandro (Gast)


Lesenswert?

so nun furzts... macht mal den anschein...

Mark de Jong beim uvison2 / uvisio3 muss man zum debuggen die
Startadresse des Rams nicht auf null setzten, dies macht wies aussihet
der compiler selbst zum debuggen... dann ist das beim tasking in dem
fall anders? muss man dies da extra ändern zum debuggen???

mfg
sandro

von Marks Murks (Gast)


Lesenswert?

An was hat es denn gelegen?

von Sandro (Gast)


Lesenswert?

Monitorkonfiguration war nicht richtig... (naja hatte 2-3 punkte wo ich
dachte meine einstellungen wären logisch gewesen... dachte.. :-))

von Andy (Gast)


Lesenswert?

Hi Leute,

habe jetzt das gleiche Problem.
Ich habe das Monitor-Programm auf meinen C167 gespielt. Wenn ich jetzt 
mein Programm debuggen möchte, findet er keine Verbindung mit dem 
phyCore-C167.

Kenn mir jemand helfen?
Und Sandro? was hast du an deiner Monitorkonfiguration geändert?

Vielen Dank im Voraus.

mfg

Andy

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
Noch kein Account? Hier anmelden.